“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



Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7:30pm ET! To join, head over to YouTube and check out the show’s live chat and our Discord!

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

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

CircuitPython – The easiest way to program microcontrollers – CircuitPython.org


New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — New Products 11/15/2024 Featuring Adafruit bq25185 USB / DC / Solar Charger with 3.3V Buck Board! (Video)

Python for Microcontrollers – Adafruit Daily — Python on Microcontrollers Newsletter: A New Arduino MicroPython Package Manager, How-Tos and Much More! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi

EYE on NPI – Adafruit Daily — EYE on NPI Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

Adafruit IoT Monthly — The 2024 Recap Issue!

Maker Business – Adafruit Daily — Apple to build another chip at TSMC Arizona

Electronics – Adafruit Daily — SMT Tip – Stop moving around!

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.