Difference between revisions of "Robot Club"
From Mech
Jump to navigationJump to searchNickMarchuk (talk | contribs) |
NickMarchuk (talk | contribs) |
||
| Line 10: | Line 10: | ||
* Third, make a local copy of main.py, in case you ever want to see the original examples again. |
* Third, make a local copy of main.py, in case you ever want to see the original examples again. |
||
* Forth, replace the contents of main.py with: |
* Forth, replace the contents of main.py with: |
||
''' |
|||
import board # pin definitions |
import board # pin definitions |
||
import time # time functions |
import time # time functions |
||
| Line 55: | Line 55: | ||
# printing at this slow speed because sending too often chokes the computer |
# printing at this slow speed because sending too often chokes the computer |
||
print("A2 touch: %d" % touch.raw_value, end="\n") # print the value of the cap touch sensor on pin A2 |
print("A2 touch: %d" % touch.raw_value, end="\n") # print the value of the cap touch sensor on pin A2 |
||
''' |
|||
Revision as of 17:48, 3 October 2018
Halloween Tutorial 1
We are using the Itsy Bitsy M0 Express from Adafruit.
Mu ("Moo") is a nice IDE used to edit the code and debug.
- First, plug the board in a open Mu. Load main.py from the CIRCUITPY drive. Open the serial monitor.
- Second, go into REPL mode and communicate with the board. Practice entering (CTRL-c) and exiting (CTRL-D) REPL.
- Third, make a local copy of main.py, in case you ever want to see the original examples again.
- Forth, replace the contents of main.py with:
import board # pin definitions import time # time functions import touchio # capacitivectouch library import pulseio # pwm library import adafruit_dotstar # dotstar rgb led library
- One dotstar soldered on the board
dot = adafruit_dotstar.DotStar(board.APA102_SCK, board.APA102_MOSI, 1, brightness=0.2)
- Built in red LED
led = pulseio.PWMOut(board.D13, frequency=5000, duty_cycle=0) led.duty_cycle = 0 # initially off
- Capacitive touch on A2
touch = touchio.TouchIn(board.A2)
- Helper to give us a nice color swirl
def wheel(pos):
# Input a value 0 to 255 to get a color value.
# The colours are a transition r - g - b - back to r.
if (pos < 0):
return [0, 0, 0]
if (pos > 255):
return [0, 0, 0]
if (pos < 85):
return [int(pos * 3), int(255 - (pos*3)), 0]
elif (pos < 170):
pos -= 85
return [int(255 - pos*3), 0, int(pos*3)]
else:
pos -= 170
return [0, int(pos*3), int(255 - pos*3)]
- MAIN LOOP ##############################
i = 0 # a variable to keep track of time while True:
time.sleep(.01) # wait 0.01 seconds. if this isn't here the code might run too fast
i = (i+1) % 256 # run from 0 to 255
dot[0] = wheel(i & 255) # set the color of the dotstar, [red green blue]
led.duty_cycle = i*255 # duty_cycle can be 0 to 65535
if i%100==0: # if i is divisible by 100
# printing at this slow speed because sending too often chokes the computer
print("A2 touch: %d" % touch.raw_value, end="\n") # print the value of the cap touch sensor on pin A2