/* * Türöffner mittels Morsecode an der Klingel betätigen * (und bei dabei nicht klingeln) * * Created: 08.01.2014 19:45:12 * Author: Alex Handfest * www.alex-handfest.de * * ATtiny85 -20SU * * PB0 OUT Klingel schalten (zur Klingelunterdrückung bei richtigem Code) * PB2 IN Lernmodus (zum Aktivieren mit Jumperkabel auf GND) <- nicht aktiv!! * PB3 IN Klingel abfragen * PB4 OUT Türöffner schalten * * mit F_CPU 500000 sehr stör anfällig und Kondensator hält nur 1-2 Sekunden * mit F_CPU 16000 läuft sauber und Kondensator hält 5-6 Sekunden * Brown out Detektion ist mit 2,7V an! Sonst macht der Controller schmarn */ #define F_CPU 16000 // Watchdog OSC 128 kHz / 8 = 16 kHz - ISP Takt runter setzen !! #include #include #define KLINGEL_AN do{PORTB |= (1< in der while(1) if (!(PINB & (1< 3) KLINGEL_AN; // kurze Pulse sofort abbrechen, wenn falsch } } else{ if (k_count > 0){ if (k_count > 3){ // langer Klingel Puls if (code[c_point] == 1) c_ok++; else KLINGEL_AN; } else{ // kurzer Klingel Puls if (code[c_point] == 0) c_ok++; else KLINGEL_AN; } if (c_point == (c_laenge -1)){ // Code fertig if (c_ok == c_laenge) TUERE_AN; // Tür auf else KLINGEL_AN; } c_point++; k_count = 0; } p_count++; if (p_count == 40) KLINGEL_AN; // Pause zu lang } k_status = 0; }