simon says with pro mini, display, ws2812 and touch keys
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Ondřej Hruška 239d17abca updated readme 7 years ago
lib readme etc 8 years ago
.gitignore initial boilerplate 8 years ago
CMakeLists.txt improved the randomizer 7 years ago
LICENSE initial boilerplate 8 years ago
Makefile improved the randomizer 7 years ago
README.md updated readme 7 years ago
avr-c-bp.pro initial boilerplate 8 years ago
display.c final final 8 years ago
display.h improved the randomizer 7 years ago
game.c some timing tuning 7 years ago
game.h added idle rainbow effect 7 years ago
leds.c added idle rainbow effect 7 years ago
leds.h added idle rainbow effect 7 years ago
main.c some timing tuning 7 years ago
pinout.h final final 8 years ago
rng.c improved the randomizer 7 years ago
rng.h improved the randomizer 7 years ago
style.astylerc initial boilerplate 8 years ago

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.