simon says with pro mini, display, ws2812 and touch keys
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 
 
Ondřej Hruška 24209ae725
workaround for startup glitch
6年前
lib readme etc 7年前
.gitignore initial boilerplate 7年前
CMakeLists.txt improved the randomizer 7年前
LICENSE initial boilerplate 7年前
Makefile improved the randomizer 7年前
README.md updated readme 7年前
avr-c-bp.pro initial boilerplate 7年前
display.c workaround for startup glitch 6年前
display.h improved the randomizer 7年前
game.c add smoothing to the pwm lightsense, reduce Fail idle delay from 5 to 3s (based on experience on makerfaire prague) 6年前
game.h added idle rainbow effect 7年前
leds.c added idle rainbow effect 7年前
leds.h added idle rainbow effect 7年前
main.c some timing tuning 7年前
pinout.h final final 7年前
rng.c improved the randomizer 7年前
rng.h improved the randomizer 7年前
style.astylerc initial boilerplate 7年前

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.