so now I'm building
this is a follow on from my previous posts. If this is first time reading.
I am trying to do-
press switch for activation first light comes on pre programmed in 1.5secs then second led after 1.5 secs then 3rd after 1 sec etc, then at last led, 1st lap led stays on, then rotation again, 2nd lap led etc. ends when 3rd lap light comes on notified by piezo alarm In between rotations at random, a speed slower or faster of 1 second is chosen by microcontroller notified by the fast/slower led.
Please tell me now what components I will need (with model numbers) and draw them into the diagram so I can replicate on my breadboard. I was also told a 555 would be useful but don't know what type.
I will be using
- 3v power cr2032
- 16 leds SMD PLCC-6(5050) LED
- 1 9.5mm piezo
- 1 switch standard
- 1 ATMEL AT89C2051-24PU (DIP-20) microcontroller
this is a reply from a previous post which seems most logical (:
You may do your work with just one microcontroller, but you need multiplexing technique for this, as your described cntroller has 15 I/Os and you are interfacing 17 LEDs, 1 push button switch and 1 buzzer.
For Buzzer one output is required. For Push button one input is required. For 3 rotation LEDs and 2 Speed LEDs you need 5 outputs For 12 LEDs you may connect all 12 LEDs in 4x3 format, 12 LEDs in 4 rows and 3 coloums, which consumed 7 outputs.
So, Total 14 I/Os are consumed, 1 is still free.
Make one module for Timer function and one for switch and buzzer funcion.
ONE Timer interrupt function, where you are driving all LEDs.
One main function is obviously required for running continously. In this MAIN function, you have to read switch function first than start timer by sending timer function a value. On every timer interrupt drive LEDs as you want. and than increment or decrement timer value for LED Visual change.