simon says with pro mini, display, ws2812 and touch keys
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 
 
 
 
Ondřej Hruška 24209ae725
workaround for startup glitch
před 6 roky
lib readme etc před 7 roky
.gitignore initial boilerplate před 7 roky
CMakeLists.txt improved the randomizer před 7 roky
LICENSE initial boilerplate před 7 roky
Makefile improved the randomizer před 7 roky
README.md updated readme před 7 roky
avr-c-bp.pro initial boilerplate před 7 roky
display.c workaround for startup glitch před 6 roky
display.h improved the randomizer před 7 roky
game.c add smoothing to the pwm lightsense, reduce Fail idle delay from 5 to 3s (based on experience on makerfaire prague) před 6 roky
game.h added idle rainbow effect před 7 roky
leds.c added idle rainbow effect před 7 roky
leds.h added idle rainbow effect před 7 roky
main.c some timing tuning před 7 roky
pinout.h final final před 7 roky
rng.c improved the randomizer před 7 roky
rng.h improved the randomizer před 7 roky
style.astylerc initial boilerplate před 7 roky

README.md

Simon game with Pro Mini

There is not much documentation for this project because I made exactly one copy of the hardware and it'll probably end there. But if anyone tries to replicate this, here are some hints:

Parts

  • powered by 4 AA batteries (3 would be enough)
  • buck module to 4V, EN pin controlled by microcontroller (and a button through resistor, mcu senses button for soft shutdown etc). Those modules can be found on aliexpress. For a replacement, you can just put a mosfet there or something, as long as V_sup won't go over 5V.
  • arduino pro mini (anything with atmega328p will work)
  • 4 neopixels - blinky lights (chained)
  • dual 7-seg display unit for score, CC or CA doesn't matter, easy to reverse in code
  • 4 buttons or TTP223 touch keys for user input
  • 1 photo-transistor and some resistors for ambient light sense
  • displays driven by 595 or equivalent (eg 74HC4094)

what to connect to where can be found in pinout.h.

I'll send a more detailed schematic on request, if I still find my notes.

Flashing

The firmware can be flashed using the arduino bootloader (via the makefile), but that produces a 1s delay on startup when the bootloader waits. For this reason I've wiped the bootloader and flashed it directly with AVR Dragon using ISP programming.