code.py
1 # SPDX-FileCopyrightText: 2019 John Edgar Park for Adafruit Industries 2 # 3 # SPDX-License-Identifier: MIT 4 5 # Turtle Gizmo Snowflakes 6 #==| Turtle Gizmo Setup start |======================================== 7 import time 8 from random import randint 9 import board 10 import busio 11 import displayio 12 from adafruit_st7789 import ST7789 13 from adafruit_turtle import turtle 14 displayio.release_displays() 15 spi = busio.SPI(board.SCL, MOSI=board.SDA) 16 display_bus = displayio.FourWire(spi, command=board.TX, chip_select=board.RX) 17 display = ST7789(display_bus, width=240, height=240, rowstart=80, 18 backlight_pin=board.A3, rotation=180) 19 turtle = turtle(display) 20 #==| Turtle Gizmo Setup end |========================================= 21 22 def draw_arm(): 23 turtle.pendown() 24 for angle, length in arm_data: 25 turtle.forward(length) 26 turtle.left(angle) 27 turtle.forward(length) 28 turtle.backward(length) 29 turtle.right(2*angle) 30 turtle.forward(length) 31 turtle.backward(length) 32 turtle.left(angle) 33 turtle.penup() 34 35 def draw_flake(arms): 36 turtle.penup() 37 turtle.home() 38 turtle.clear() 39 angle = 0 40 delta_angle = 360 // arms 41 for _ in range(arms): 42 turtle.home() 43 turtle.setheading(angle) 44 draw_arm() 45 angle += delta_angle 46 turtle.penup() 47 turtle.home() 48 49 while True: 50 arm_data = [(randint(30, 80), randint(10, 40)) for _ in range(5)] 51 draw_flake(randint(5, 8)) #adjust number of arms here 52 time.sleep(5)