Slumpgenerator med 6 st 12 volts lampor/dioder
Slumpgenerator med 6 st 12 volts lampor/dioder
Jag behöver en (enkel) krets som vid tryck på en knapp tänder en av 6 st 12V lampor . . ..
Det går lösa med vanliga 74 kretsar, ULN2003, 7805.
Jag hade förvisso kastat in allt i en liten microprocessor.
Kod för en mega88, styrpinnarna ut är open-colector med denna kod.
Jag hade förvisso kastat in allt i en liten microprocessor.
Kod för en mega88, styrpinnarna ut är open-colector med denna kod.
Kod: Markera allt
#include <avr/io.h>
#include <util/delay.h>
/* delay units of 10 msec */
void delay10Ms(unsigned int cnt){
if(cnt == 0) return; //failsafe
while(cnt--){
_delay_ms(10);
}
}
//high = Button pressed
//low = No button pressed
//react on PB0, internal pullup
unsigned char isButtonPressed(void){
if( PINB & _BV(PB0) ){
return 0;
}else{
return 1;
}
}
int main(void){
unsigned char num;
//init ports
DDRC = 0x00; //PORTC in
DDRB = 0x00; //PORTB in
PORTC = 0x00; //all low on PORTC
PORTB = 0xFF; //pullup on inputs pin
TCCR0B = _BV(CS00); //start timer0
//main loop
for(;;){
//check if button is pressed
if( isButtonPressed() ){
//this is random becouse button is pressed
// @ random time
//get a number(0 to 5) from timer0
num = 1<<(TCNT0 % 6);
//trigger sound
DDRC |= num; //pin output
delay10Ms(200); //delay 2 sec
DDRC &= ~num; //pin input
//wait until button is released
while(isButtonPressed())continue;
}
}
}