0

Yanny or Laurel robot #yannyorlaurel @adafruit #adafruit #CRICKIT


Yanny or Laurel robot (video), we had about 1 more hour before this meme expires, so we made a voting bot, it says the word, logs to csv, moves head, has clickable, light up buttons, it’s a voting machine.. Made with Adafruit CRICKIT, code is here.


# CircuitPython 3.0 CRICKIT demo

from adafruit_seesaw.seesaw import Seesaw

from adafruit_seesaw.pwmout import PWMOut

from adafruit_motor import servo

from busio import I2C

import audioio

import microcontroller

import board

import time



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

ss = Seesaw(i2c)



print("Yanny or Laurel data logging!")



LOOKATPERSON = 90

LOOKLEFT = 60

LOOKRIGHT = 120



#################### 1 Servo

pwm = PWMOut(ss, 17)

pwm.frequency = 50

myservo = servo.Servo(pwm)

myservo.angle = LOOKATPERSON # introduce yourself



#################### 2 buttons w/2 LEDs

BUTTON_1 = 2

BUTTON_2 = 3

LED_1    = 8

LED_2    = 9



# Two buttons are pullups, connect to ground to activate

ss.pin_mode(BUTTON_1, ss.INPUT_PULLUP)

ss.pin_mode(BUTTON_2, ss.INPUT_PULLUP)

# Two LEDs are outputs, on by default

ss.pin_mode(LED_1, ss.OUTPUT)

ss.pin_mode(LED_2, ss.OUTPUT)

ss.digital_write(LED_1, True)

ss.digital_write(LED_2, True)



#################### log files

logfile = "/log.csv"

# check that we could append if wanted to

try:

    fp = open(logfile, "a")

    fp.close

except:

    print("File system not writable, halting")

    while True:

	pass



#################### Audio files

wavfile = "yanny.wav"

f = open(wavfile, "rb")

wav = audioio.WaveFile(f)

a = audioio.AudioOut(board.A0)

a.play(wav)

t = time.monotonic()



# Wait

while time.monotonic() - t  15.5:

		a.pause()



# now we have a selection!

with open(logfile, "a") as fp:

    print("Writing!"+selection+", 1\n")

    fp.write(selection+", 1\n")

    fp.flush()

print("Written")



# OK play the rest of the music

a.resume()

while a.playing:

    pass



ss.digital_write(LED_1, False)

ss.digital_write(LED_2, False)



microcontroller.reset()


Related:
We Made a Tool So You Can Hear Both Yanny and Laurel – The New York Times.


Join 6,000+ 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 — @the_prepared is Soliciting Original Content on Diversity, Equity, and Inclusion

Wearables — Victorian Arduino pizzazz

Electronics — Counting Pin Numbers

Biohacking — Exploring Our Inner Reality : Entopic Visions

Python for Microcontrollers — Building robots with Python, CRICKITS of the week, upcoming hackchat’ & more…

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.