0

“Robot” Xylophone with CRICKIT @adafruit #adafruit @circuitpython #MakeRobotFriend the musical


“Robot” Xylophone with CRICKIT (video). Code is here.


# CircuitPython 3.0 CRICKIT demo

from digitalio import DigitalInOut, Direction, Pull

from adafruit_seesaw.seesaw import Seesaw

from adafruit_seesaw.pwmout import PWMOut

from adafruit_motor import servo, motor

from busio import I2C

import board

import time

import gc



i2c = I2C(board.SCL, board.SDA)

ss = Seesaw(i2c)



print("Crickit demo!")



# use the CPX onboard switch to turn on/off (helps calibrate)

switch = DigitalInOut(board.SLIDE_SWITCH)

switch.direction = Direction.INPUT

switch.pull = Pull.UP



#################### 4 Servos

servos = []

for ss_pin in (17, 16, 15, 14):

    pwm = PWMOut(ss, ss_pin)

    pwm.frequency = 50

    _servo = servo.Servo(pwm)

    _servo.angle = 90   # starting angle, middle

    servos.append(_servo)



#################### 2 DC motors

motors = []

for ss_pin in ((22, 23), (18, 19)):

    pwm0 = PWMOut(ss, ss_pin[0])

    pwm1 = PWMOut(ss, ss_pin[1])

    _motor = motor.DCMotor(pwm0, pwm1)

    motors.append(_motor)



servos[0].angle = 180



while True:

    if switch.value:

	# Switch is on, activate MUSIC POWER!



	# motor forward slowly

	motors[0].throttle = 0.2

	# mote the head forward slowly, over 0.9 seconds

	for a in range(180, 90, -1):

	    servos[0].angle = a

	    time.sleep(0.01)



	# motor stop

	motors[0].throttle = 0

	time.sleep(1)



	# motor backwards slowly

	motors[0].throttle = -0.2

	# move the head back slowly too, over 0.9 seconds

	for a in range(90, 180):

	    servos[0].angle = a

	    time.sleep(0.01)

	# calibration! its a *tiny* bit slower going back so give it a few ms

	time.sleep(0.007)



	# motor stop

	motors[0].throttle = 0

	time.sleep(1)

    else:

	# switch is 'off' so dont do anything!

	pass



Make a robot friend with Adafruit’s CRICKIT – A Creative Robotics & Interactive Construction Kit. It’s an add-on to our popular Circuit Playground Express, FEATHER and other platforms to make and program robots with CircuitPython, MakeCode, and Arduino. Start controlling motors, servos, solenoids. You also get signal pins, capacitive touch sensors, a NeoPixel driver and amplified speaker output. It complements & extends your boards so you can still use all the goodies on the microcontroller, now you have a robotics playground as well.

Join 7,500+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython in 2018 – Python on Microcontrollers is here!

Have an amazing project to share? Join the SHOW-AND-TELL every Wednesday night at 7:30pm ET on Google+ Hangouts.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Follow Adafruit on Instagram for top secret new products, behinds the scenes and more https://www.instagram.com/adafruit/


Maker Business — Despite multiple bankruptcies, RadioShack continues to find ways to keep the lights on

Wearables — Tape, meet 3D printing

Electronics — A few words on inductor resistance

Biohacking — Running Blades

Python for Microcontrollers — CircuitPython is officially awesome!

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !



No Comments

No comments yet.

Sorry, the comment form is closed at this time.