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.