Seiten Navigation
Archiv des Autors: Bernd
Endlich wieder Urlaub nach Corna
Anbei ein paar Bilder von Cala Marçal und den verschiedenen Orten die wir besucht haben.
Veröffentlicht unter Reisen
Schreib einen Kommentar
Wochenend-Projekt: Tasmota Firmware auf eine Gosund Steckdose
Ursprünglich wollte ich die Tasmota Firmware mit dem Arduino aufspielen. Leider habe ich es mit der neuen Arduino IDE nicht hin bekommen. Mit Arduino wäre es natürlich super gewesen, denn dann hätte ich mir keine FTDI232 Schnittstelle besorgen müssen. Vorne … Weiterlesen
Veröffentlicht unter Allgemein, Elektronik, Microcontroller, Wochenend Projekte
Schreib einen Kommentar
Halbjahres-Projekt
diese Jahr war das große Projekt unseren Garten zu machen. Viele Leute haben uns geholfen. Meine Frau war „Projektleiterin“ 🙂 Hier und da sind noch ein paar Verbesserungen nötig, aber im Großen und Ganzen sind wir fertig. Vorher: … Weiterlesen
Veröffentlicht unter Allgemein, Wochenend Projekte
Schreib einen Kommentar
Wochenend-Projekt: Einschlaflicht v01.06 Prototype
[pastacode lang=“c“ manual=“%2F*%0A%20*%20Attiny13_Einschlaflampe_v01_06_final.c%0A%20*%0A%20*%20Created%3A%2025.06.2018%2008%3A00%3A00%0A%20*%20Author%20%3A%20Bernd%0A%20*%0A%20*%0A%20*%20Chip%20type%3A%20Attiny13a%0A%20*%20Clock%20frequency%3A%20SUT_CKSEL%20auf%20INTRCoSC_128KHZ_14CK_64MS%20(128kHz%20%2F%208%20%3D%2016kHz)%0A%20*%0A%20*%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B——–%2B%0A%20*%20%20%20%20%20%20%20%20%5B%20%20%20%20%20%20%20%20(PB5)%20%7C1*%20%20%20%20%208%7C%20(VCC)%20%20Power%20%20%20%20%20%5D%0A%20*%20%20%20%20%20%20%20%20%5B%20%20%20%20%20%20%20%20(PB3)%20%7C2%20%20%20%20%20%207%7C%20(PB2)%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20*%20%20%20%20%20%20%20%20%5B%20%20%20%20%20%20%20%20(PB4)%20%7C3%20%20%20%20%20%206%7C%20(PB1)%20%20Button%20%20%20%20%5D%0A%20*%20%20%20%20%20%20%20%20%5B%20Ground%20(GND)%20%7C4%20%20%20%20%20%205%7C%20(PB0)%20%20LED%20White%20%5D%0A%20*%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B——–%2B%0A%20*%0A%20*%0A%20*%20Kurze%20Beschreibung%3A%0A%20*%20——————-%0A%20*%20%20-%20Die%20Lampe%20geht%20beim%20bet%C3%A4tigen%20des%20Tasters%20an%20PB1%20an%20(LED%20PB0%20Leuchtet)%0A%20*%20%20-%20Ohne%20weiteres%20Dr%C3%BCcken%20leuchtet%20sie%20etwa%2020%20Sekunden%0A%20*%20%20-%20Ein%20kurzes%20dr%C3%BCcken%20schaltet%20die%20Lampe%20aus%20oder%20an%0A%20*%09-%20Durch%20langes%20Dr%C3%BCcken%20kommt%20man%20in%20den%20Auswahl-Modus%0A%20*%09%09Es%20gibt%20drei%20Moden%20je%20nachdem%20wann%20man%20die%20Taste%20wieder%20los%20l%C3%A4sst%0A%20*%09-Moduswechsel%20durch%20langes%20Dr%C3%BCcken%20des%20Tasters%0A%20*%09%09%09Modus%201%20LED%20Blinkt%20langsam%20-%20hier%20wenn%20los%20gelassen%20wird%20leuchtet%20die%20Lampe%20etwa%205%20min.%0A%20*%09%09%09Modus%202%20LED%20Blinkt%20mittel%20%20-%20hier%20wenn%20los%20gelassen%20wird%20leuchtet%20die%20Lampe%20etwa%2010%20min.%0A%20*%09%09%09Modus%203%20LED%20Blinkt%20schnell%20-%20hier%20wenn%20los%20gelassen%20wird%20leuchtet%20die%20Lampe%20etwa%2015%20min.%0A%20*%20%0A%20*%2F%0A%0A%2F%2F%20%23define%20F_CPU%209600000UL%20%20%2F%2FDelay%20anpassen%20wegen%20Fusebit%0A%23define%20F_CPU%20128000UL%20%20%2F%2FDelay%20anpassen%20wegen%20Fusebit%0A%0A%23define%20LED_PIN%20PB0%20%20%20%20%20%20%20%2F%2F%20PB0%20as%20a%20LED%20pin%0A%23define%20Taster%09PB1%0A%23define%20AN%09%091%0A%23define%20AUS%09%090%0A%20%0A%23include%20%3Cavr%2Fwdt.h%3E%0A%23include%20%3Cstdint.h%3E%0A%23include%20%3Cutil%2Fdelay.h%3E%0A%23include%20%3Cavr%2Fio.h%3E%0A%23include%20%3Cavr%2Finterrupt.h%3E%0A%23include%20%3Cavr%2Fpower.h%3E%0A%23include%20%3Cavr%2Fsleep.h%3E%0A%0A%2F%2F%20Leere%20Interrupt-Routine%0AISR(PCINT0_vect)%0A%7B%0A%7D%0A%0Aint%20main%20(void)%0A%7B%0A%09%2F%2FWatchdog%20ausschalten!%0A%09MCUSR%20%26%3D%20~(1%3C%3CWDRF)%3B%0A%09WDTCR%20%7C%3D%20(1%3C%3CWDCE)%20%7C%20(1%3C%3CWDE)%3B%0A%09WDTCR%20%3D%200×00%3B%0A%09%0A%09DDRB%20%20%7C%3D%20(1%3C%3CLED_PIN)%3B%20%20%20%20%20%2F%2F%20Auf%20Ausgang%20schalten%0A%09PORTB%20%7C%3D%20(1%3C%3CTaster)%3B%20%20%20%20%20%2F%2F%20PullUp%20einschalten%0A%09%0A%09PORTB%20%7C%3D%20(1%3C%3CLED_PIN)%3B%20%2F%2F%20LED%20einschalten%0A%09_delay_ms(400)%3B%20%2F%2F%20Kurzes%20Entprellen%20vom%20Watchdog%20auffachen%20(Tastendruck)%0A%09%0A%09int%20iLeuchtdauer%3D80%3B%20%2F%2FStandard%20Wert%20f%C3%BCr%20Leuchten%20%22iLeuchtdauer%20%2F%204%20%3D%20etwa%20Leuchtzeit%20in%20Sekunden%09%0A%09int%20iTimer%3D0%3B%0A%09int%20i%20%3D%200%3B%0A%09%0A%09while%20(1)%0A%09%7B%0A%09%09if%20(!(PINB%20%26%20(1%3C%3CTaster)))%20%2F%2F%20Pr%C3%BCfen%20auf%20Tastendruck%20-%20Bei%20Druck%20Befehl%20ausf%C3%BChren%0A%09%09%7B%0A%09%09%09_delay_ms(500)%3B%20%2F%2F%20kurze%20Pause%0A%09%09%09if%20(!(PINB%20%26%20(1%3C%3CTaster)))%20%2F%2F%20Pr%C3%BCfen%20auf%20Tastendruck%20-%20Bei%20Druck%20Befehl%20ausf%C3%BChren%0A%09%09%09%7B%0A%09%09%09%09iTimer%2B%2B%3B%20%2F%2F%20Z%C3%A4hler%20f%C3%BCr%20Auswahl%20erh%C3%B6hen%0A%09%09%09%09if%20(iTimer%3D%3D5)%0A%09%09%09%09%7B%0A%09%09%09%09%09for%20(i%3D0%3Bi%3C%3D10%3B%20i%2B%2B)%0A%09%09%09%09%09%7B%0A%09%09%09%09%09%09PORTB%20%5E%3D%20(1%3C%3CLED_PIN)%3B%20%2F%2FToggl%0A%09%09%09%09%09%09_delay_ms(250)%3B%0A%09%09%09%09%09%7D%0A%09%09%09%09%09%2F%2FNach%20Toggle%20die%20LED%20einschalten%20und%20die%20Leuchtdauer%20setzen%0A%09%09%09%09%09PORTB%20%7C%3D%20(1%3C%3CLED_PIN)%3B%20%2F%2F%20LED%20einschalten%0A%09%09%09%09%09iLeuchtdauer%20%3D%205*60*4%3B%20%2F%2F%20etwa%205%20Minuten%20Leuchtzeit%0A%09%09%09%09%09%0A%09%09%09%09%7D%0A%09%09%09%09else%20if%20(iTimer%3D%3D10)%0A%09%09%09%09%7B%0A%09%09%09%09%09for%20(i%3D0%3Bi%3C%3D14%3B%20i%2B%2B)%0A%09%09%09%09%09%7B%0A%09%09%09%09%09%09PORTB%20%5E%3D%20(1%3C%3CLED_PIN)%3B%20%2F%2FToggl%0A%09%09%09%09%09%09_delay_ms(150)%3B%0A%09%09%09%09%09%7D%0A%09%09%09%09%09%2F%2FNach%20Toggle%20die%20LED%20einschalten%20und%20die%20Leuchtdauer%20setzen%0A%09%09%09%09%09PORTB%20%7C%3D%20(1%3C%3CLED_PIN)%3B%20%2F%2F%20LED%20einschalten%0A%09%09%09%09%09iLeuchtdauer%20%3D%2010*60*4%3B%20%2F%2F%20etwa%2010%20Minuten%20Leuchtzeit%0A%09%09%09%09%09%0A%09%09%09%09%7D%0A%09%09%09%09else%20if%20(iTimer%3D%3D15)%0A%09%09%09%09%7B%0A%09%09%09%09%09for%20(i%3D0%3Bi%3C%3D18%3B%20i%2B%2B)%0A%09%09%09%09%09%7B%0A%09%09%09%09%09%09PORTB%20%5E%3D%20(1%3C%3CLED_PIN)%3B%20%2F%2FToggl%0A%09%09%09%09%09%09_delay_ms(100)%3B%0A%09%09%09%09%09%7D%0A%09%09%09%09%09%2F%2FNach%20Toggle%20die%20LED%20einschalten%20und%20die%20Leuchtdauer%20setzen%0A%09%09%09%09%09PORTB%20%7C%3D%20(1%3C%3CLED_PIN)%3B%20%2F%2F%20LED%20einschalten%0A%09%09%09%09%09iLeuchtdauer%20%3D%2015*60*4%3B%20%2F%2F%20etwa%2015%20Minuten%20Leuchtzeit%0A%09%09%09%09%09%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%09%09else%0A%09%09%09%7B%0A%09%09%09%09PORTB%20%5E%3D%20(1%3C%3CLED_PIN)%3B%09%2F%2FToggl%0A%09%09%09%09iLeuchtdauer%3D80%3B%20%2F%2F%20Leuchtdauer%20wieder%20auf%20Default%20setzen%0A%09%09%09%09_delay_ms(500)%3B%0A%09%09%09%7D%0A%09%0A%09%09%7D%20%0A%09%09else%20%0A%09%09%7B%0A%09%09%09iTimer%3D0%3B%20%2F%2F%20Z%C3%A4hler%20f%C3%BCr%20Auswahl%20auf%20Null%20setzen%20-Nicht%20sch%C3%B6n%20hier%0A%09%09%09%0A%09%09%09%2F%2F%20Taste%20wurde%20nicht%20gedr%C3%BCckt%20counter%20wird%20weiter%20herunter%20gerechnet%0A%09%09%09%2F%2F%20bis%200%20dann%20wird%20geschlafen%0A%09%09%09if%20(iLeuchtdauer%20%3E%3D%200)%20%0A%09%09%09%7B%0A%09%09%09%09iLeuchtdauer–%3B%0A%09%09%09%09_delay_ms(250)%3B%0A%09%09%09%7D%0A%09%09%09else%0A%09%09%09%7B%0A%09%09%09%09PORTB%20%26%3D%20~(1%3C%3CLED_PIN)%3B%20%2F%2F%20LED%20aus%0A%09%09%09%09%2F%2F%0A%09%09%09%09%2F%2F%20Schlafen%20%0A%09%09%09%09%2F%2F%0A%09%09%09%09%2F%2F%0A%09%09%09%09%2F%2F%20Den%20ADC%20deaktivieren%2C%20brauchen%20wir%20nicht%20m%C3%BCsste%20aber%20pre%20Default%20aus%20sein.%0A%09%09%09%09power_adc_disable()%3B%0A%09%09%09%09%0A%09%09%09%09%2F%2F%20Pin-Change%20Interrupt%20f%C3%BCr%20die%204%20Taster%20erlauben%0A%09%09%09%09GIMSK%20%3D%20(1%3C%3CPCIE)%3B%0A%09%09%09%09PCMSK%20%7C%3D%20(1%3C%3CPB1)%3B%0A%09%09%09%09%0A%09%09%09%09sei()%3B%0A%09%09%09%09%0A%09%09%09%09set_sleep_mode(SLEEP_MODE_PWR_DOWN)%3B%0A%09%09%09%09sleep_mode()%3B%0A%09%09%09%09%0A%09%09%09%09%2F%2F%20iLeuchtdauer%3D80%3B%20%2F%2F%20Unn%C3%B6tig%20wurde%20nur%20zum%20Test%20ohne%20Watchdog%20ben%C3%B6tigt%0A%09%09%09%09%0A%09%09%09%09%2F%2F%20****************%20Aufwachen%20und%20alles%20f%C3%BCr%20den%20Reset%20%C3%BCber%20Watchdog%20vorbereiten%20******%0A%09%09%09%09wdt_enable(WDTO_1S)%3B%20%2F%2F%201s%20Sekunden%09Watchdog%20einstellen%0A%09%09%09%09wdt_enable(WDTO_30MS)%3B%20%2F%2F%2030ms%20Sekunden%09Watchdog%20einstellen%0A%09%09%09%09%0A%09%09%09%09%2F%2Ftu%20nix%20und%20warte%20auf%20den%20Biss%20des%20Wachhundes%0A%09%09%09%09_delay_ms(5000)%3B%20%2F%2F%20Der%20Wachhund%20ist%20auf%20eine%20Sek%20gestellt.%20Im%20Delay%20sind%20es%205%20Sekunden.%20-%20Also%20Reset%0A%09%09%09%09%2F%2F%20wdt_reset()%3B%0A%09%09%09%7D%0A%09%09%7D%0A%09%09%0A%09%7D%0A%7D%0A%09%09%09%09%0A%0A%0A%09%09%09%2F%2FPORTB%20%5E%3D%20(1%3C%3CLED_PIN)%3B%09%2F%2FToggl%0A%09%09%09%2F%2FPORTB%20%26%3D%20~(1%3C%3CLED_PIN)%3B%09%2F%2F%20LED%20aus%0A%09%09%09%2F%2FPORTB%20%7C%3D%20(1%3C%3CLED_PIN)%3B%09%2F%2F%20LED%20einschalten“ message=“Attiny13_Einschlaflampe_v01_06_final.c“ highlight=““ provider=“manual“/] Hier die akuellen Bilder zum Prototyp der Einschlaflampe. Die verfeinerungen am Code habe ich noch nicht in Angriff genommen.
Veröffentlicht unter Allgemein
Schreib einen Kommentar
Wochenend-Projekt: Einschlaflicht v01.02
Ich dachte mir es wäre doch toll, wenn man ein kleine Lampe hat, die solange leuchtet bis man eingeschlafen ist und dann ausgeht. Die Lampe an der ich baue Leucht soll nach dem einschalten (Wenn man den Knopf drückt) etwa … Weiterlesen
Veröffentlicht unter Elektronik, Microcontroller, Wochenend Projekte
Schreib einen Kommentar
Wochenend-Projekt: elektronischer Würfel v1.06
Die Firmware vom Würfel habe ich optimiert. Nun fällt er in den Schlafmodus wenn er nicht gebraucht wird und verbraucht dann nur noch 0.06 µA. Nach dem Tastendruck wacht er wieder auf und wird vom Watchdog resetet. [pastacode lang=“c“ manual=“%2F*%0A%20*%20Wuerfel_V01_06.c%0A%20*%0A%20*%20Created%3A%2015.04.2018%2020%3A57%3A00%0A%20*%20Author%20%3A%20Bernd%0A%20*%0A%20*%0A%20*%20Chip%20type%3A%20Attiny13a%0A%20*%20Clock%20frequency%3A%20SUT_CKSEL%20auf%20INTRCoSC_128KHZ_14CK_64MS%20(128kHz%20%2F%208%20%3D%2016kHz)%0A%20*%0A%20*%09%09%09%09%09%09%09%09%09%09%09%09%09%20%20%2B——–%2B%0A%20*%20%20%20%20%20%20%20%20%5B%20rest%20(leer)%09%09%09%09%09%09%09(PB5)%20%7C1*%20%20%20%20%208%7C%20(VCC)%20%20Power%09%09%09%09%09%09%09%09%5D%0A%20*%20%20%20%20%20%20%20%20%5B%20Taster%09%09%09%09%09%09%09%09(PB3)%20%7C2%20%20%20%20%20%207%7C%20(PB2)%20%20LEDs%20-%20links%20unten%20%7C%20rechts%20oben%09%5D%0A%20*%20%20%20%20%20%20%20%20%5B%20LEDs%20-%20rechts%20unten%20%7C%20links%20oben%09(PB4)%20%7C3%20%20%20%20%20%206%7C%20(PB1)%20%20LEDs%20-%20mitte%20links%20%7C%20mitte%20rechts%09%5D%0A%20*%20%20%20%20%20%20%20%20%5B%20Ground%09%09%09%09%09%09%09%09(GND)%20%7C4%20%20%20%20%20%205%7C%20(PB0)%20%20LED1%09%09%09%09%09%09%09%09%5D%0A%20*%09%09%09%09%09%09%09%09%09%09%09%09%09%20%20%2B——–%2B%0A%20*%0A%20*%2F%20%0A%0A%23define%20F_CPU%2012800UL%20%2F%2FDalay%20anpassen%20wegen%20Fusebit%0A%2F%2F%23define%20F_CPU%20960000UL%20%2F%2FDalay%20anpassen%20wegen%20Fusebit%0A%0A%23define%20LED1_PIN%20%20%20%20%20%20%20%20PB0%0A%23define%20Taster%09%09%09PB3%0A%23define%20DELAY_MAX%20%20%20%20%20%20%20(512)%0A%23define%20DELAY_MIN%20%20%20%20%20%20%20(0)%0A%0A%23include%20%3Cavr%2Fwdt.h%3E%0A%23include%20%3Cstdint.h%3E%20%0A%23include%20%3Cutil%2Fdelay.h%3E%20%0A%23include%20%3Cavr%2Fio.h%3E%20%0A%23include%20%3Cavr%2Finterrupt.h%3E%20%0A%23include%20%3Cavr%2Fpower.h%3E%20%0A%23include%20%3Cavr%2Fsleep.h%3E%0A%0Aint%20Augenanzahl%20%3D%200%3B%20%2F%2F%20einfacher%20Z%C3%A4hler%20f%C3%BCr%20W%C3%BCrfel%20Augenanzahl%0Auint16_t%20min%2C%20sek%3B%0A%0Aint%20StartStopAni(int%20AnzahlBlinken)%3B%0A%0A%2F%2F%20Leere%20Interrupt-Routine%0AISR(PCINT0_vect)%0A%7B%0A%7D%0A%0A%09%0A%0Aint%20main(void)%0A%7B%0A%0A%09%2F%2FWatchdog%20ausschalten!%0A%09MCUSR%20%26%3D%20~(1%3C%3CWDRF)%3B%0A%09WDTCR%20%7C%3D%20(1%3C%3CWDCE)%20%7C%20(1%3C%3CWDE)%3B%0A%09WDTCR%20%3D%200×00%3B%0A%09%09%0A%09DDRB%20%3D((1%3C%3CLED1_PIN)%20%7C%20(1%3C%3CPB1)%20%7C%20(1%3C%3CPB2)%20%7C%20(1%3C%3CPB4))%3B%20%2F%2F%20Ports%20auf%20Ausgang%0A%09DDRB%3D%20~(1%3C%3CTaster)%3B%09%09%09%09%09%09%09%09%09%09%2F%2F%20Port%20auf%20Eingang%0A%09PORTB%20%7C%3D%20(1%3C%3CTaster)%3B%09%09%09%09%09%09%09%09%09%2F%2F%20Pullup%20f%C3%BCr%20Eingang%0A%09%0A%09StartStopAni(30)%3B%0A%09%0A%09PORTB%20%3D0b00001000%3B%0A%09%0A%09while%20(1)%20%2F%2F%20Endlos%20Schleife%0A%09%7B%20%0A%09%09for%20(min%3D10%3B%20min%3E%3D1%3B%20min–)%20%20%2F%2FSchleifen-konstruckt%2C%20wegen%20Zeit%20bis%20zum%20einschlafen%0A%09%09%7B%0A%09%09%09for%20(sek%3D1500%3B%20sek%3E%3D1%3B%20sek–)%0A%09%09%09%7B%0A%09%09%09%09_delay_ms(50)%3B%0A%09%09%09%09%09%09%09%09%0A%09%09%09%09if%20(!(PINB%20%26%20(1%3C%3CTaster)))%09%2F%2F%20Abfrage%20ob%20Switch%20gedr%C3%BCckt%0A%09%09%09%09%7B%0A%09%09%09%09%09%2F%2F%20Schleifenwerte%20nach%20bet%C3%A4tigen%20der%20Taste%20wieder%20hoch%20setzen%0A%09%09%09%09%09min%3D10%3B%20%0A%09%09%09%09%09sek%3D1500%3B%20%0A%09%09%09%09%09%0A%09%09%09%09%09PORTB%20%3D0b00001000%3B%0A%09%09%09%09%09_delay_ms(500)%3B%09%20%2F%2F%20kurze%20Pause%20-%20alle%20LEDs%20kurz%20aus%2C%20damit%20man%20sieht%20der%20W%C3%BCrfel%20w%C3%BCrfelt.%0A%09%09%09%09%09%0A%09%09%09%09%09switch(Augenanzahl)%09%2F%2F%20i%20Auswerten%0A%09%09%09%09%09%7B%0A%09%09%09%09%09%09case%200%3A%0A%09%09%09%09%09%09%7B%0A%09%09%09%09%09%09%09%2F%2F%20Zahl%201%20–%3E%20i%3D0%0A%09%09%09%09%09%09%09PORTB%20%3D0b00000001%3B%0A%09%09%09%09%09%09%09break%3B%0A%09%09%09%09%09%09%7D%0A%09%09%09%09%09%09case%201%3A%0A%09%09%09%09%09%09%7B%0A%09%09%09%09%09%09%09%2F%2F%20Zahl%202%20–%3E%20i%3D1%0A%09%09%09%09%09%09%09PORTB%20%3D0b00000100%3B%0A%09%09%09%09%09%09%09break%3B%0A%09%09%09%09%09%09%7D%0A%09%09%09%09%09%09case%202%3A%0A%09%09%09%09%09%09%7B%0A%09%09%09%09%09%09%09%2F%2F%20Zahl%203%20–%3E%20i%3D2%0A%09%09%09%09%09%09%09PORTB%20%3D0b00000101%3B%0A%09%09%09%09%09%09%09break%3B%0A%09%09%09%09%09%09%7D%0A%09%09%09%09%09%09case%203%3A%0A%09%09%09%09%09%09%7B%0A%09%09%09%09%09%09%09%2F%2F%20Zahl%204%20–%3E%20i%3D3%0A%09%09%09%09%09%09%09PORTB%20%3D0b00010100%3B%0A%09%09%09%09%09%09%09break%3B%0A%09%09%09%09%09%09%7D%0A%09%09%09%09%09%09case%204%3A%0A%09%09%09%09%09%09%7B%0A%09%09%09%09%09%09%09%2F%2F%20Zahl%205%20–%3E%20i%3D4%0A%09%09%09%09%09%09%09PORTB%20%3D0b00010101%3B%0A%09%09%09%09%09%09%09break%3B%0A%09%09%09%09%09%09%7D%0A%09%09%09%09%09%09case%205%3A%0A%09%09%09%09%09%09%7B%0A%09%09%09%09%09%09%09%2F%2FZahl%206%20–%3E%20i%3D5%0A%09%09%09%09%09%09%09PORTB%20%3D0b00010110%3B%0A%09%09%09%09%09%09%09break%3B%0A%09%09%09%09%09%09%7D%0A%09%09%09%09%09%7D%0A%09%09%09%09%09%0A%09%09%09%09%09%2F%2F%20Port%20wieder%20auf%20Eingang%20setzen%20(Pullup)%0A%09%09%09%09%20%20%20%20PORTB%20%7C%3D%20(1%3C%3CTaster)%3B%0A%0A%09%09%09%09%7D%0A%09%09%09%09Augenanzahl%2B%2B%3B%09%2F%2F%20bei%20jedem%20Schleifendurchlauf%20i%20Erh%C3%B6hen%0A%09%09%09%09if%20(Augenanzahl%3D%3D6)%20%2F%2F%20Wenn%20i%20%3D%206%20dann%20i%20wieder%20auf%200%20setzen%0A%09%09%09%09%7B%0A%09%09%09%09%09Augenanzahl%3D0%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%09%09%0A%09%09%09StartStopAni(30)%3B%0A%0A%09%09%09%2F%2F%20Den%20ADC%20deaktivieren%2C%20brauchen%20wir%20nicht%20m%C3%BCsste%20aber%20pre%20Default%20aus%20sein.%0A%09%09%09power_adc_disable()%3B%0A%09%09%09%09%0A%09%09%09%2F%2F%20Pin-Change%20Interrupt%20f%C3%BCr%20die%204%20Taster%20erlauben%0A%09%09%09GIMSK%20%3D%20(1%3C%3CPCIE)%3B%0A%09%09%09PCMSK%20%7C%3D%20(1%3C%3CPB3)%3B%0A%09%09%0A%09%09%09sei()%3B%0A%09%09%09%0A%09%09%09PORTB%20%3D0b00001000%3B%20%2F%2F%20Sollten%20LEDs%20noch%20Leuchten%20vor%20Schlafen%20ausschalten.%0A%09%09%09%09%0A%09%09%09set_sleep_mode(SLEEP_MODE_PWR_DOWN)%3B%0A%09%09%09sleep_mode()%3B%0A%09%09%09%09%0A%09%09%09%2F%2F%20****************%20Aufwachen%20und%20alles%20f%C3%BCr%20den%20Reset%20%C3%BCber%20Watchdog%20vorbereiten%20******%0A%09%09%09wdt_enable(WDTO_1S)%3B%20%2F%2F%201s%20Sekunden%09Watchdog%20einstellen%09%0A%09%09%09wdt_enable(WDTO_30MS)%3B%20%2F%2F%2030ms%20Sekunden%09Watchdog%20einstellen%09%09%09%09%0A%09%09%09%09%09%09%09%09%09%09%0A%09%09%09%09%2F%2Ftu%20nix%20und%20warte%20auf%20den%20Biss%20des%20Wachhundes%0A%09%09%09%09_delay_ms(5000)%3B%20%2F%2F%20Der%20Wachhund%20ist%20auf%20eine%20Sek%20gestellt.%20Im%20Delay%20sind%20es%205%20Sekunden.%20-%20Also%20Reset%0A%09%09%09%09%2F%2F%20wdt_reset()%3B%0A%09%09%7D%0A%09%09%0A%09%7D%0A%09return%20(0)%3B%0A%7D%0A%0A%0A%0A%0Aint%20StartStopAni(int%20AnzahlBlinken)%0A%7B%0A%09for%20(int%20blink%3D0%3B%20blink!%3DAnzahlBlinken%3B%20blink%2B%2B)%20%2F%2F%20Blinken%20bis%20der%20Watchdog%20dem%20Spuk%20ein%20Ende%20macht%20oder%20die%20AnzahlBlinken%20erreicht%20ist%0A%09%7B%0A%09%09PORTB%20%5E%3D%20(1%3C%3CLED1_PIN)%3B%20%2F%2FToogle%20(Ein-%2C%20Ausschalten%20der%20LED%0A%09%09_delay_ms(50)%3B%20%2F%2F%20Warten%20damit%20LED%20eine%20Change%20hat%20zu%20blinken%0A%09%7D%0Areturn%20(0)%3B%09%0A%7D%0A%0A%0A%0A%0A%09%09%2F%2F%20wdt_reset()%3B%0A%0A%0A“ … Weiterlesen
Veröffentlicht unter Elektronik, Microcontroller, Wochenend Projekte
Schreib einen Kommentar
Wochenend-Projekt: elektronischer Würfel v1.01
Das Krippenlicht muss warten. Nachdem mein Board so gut funktioniert hat, wollte ich ein lange von mir geplantes Projekt starten, – einen elektronischen Würfel. Das Programm und die Platine sind recht trivial und meinen Elektronik- und Programmierkenntnissen entsprechend. Aber er … Weiterlesen
Veröffentlicht unter Elektronik, Microcontroller, Wochenend Projekte
Schreib einen Kommentar
Wochenend-Projekt: Entwicklungsboard für AtTiny13
Vor einigen Jahren hatte ich für unsere Weihnachtskrippe eine „Kerzenlicht Simulation“ mit einem ATtiny13 und einer LED gebaut. Meine Tochter und ich fanden das Licht letztes Weihnachten zu dunkel und wir wollten mit einer helleren LED das ganze Projekt noch … Weiterlesen
Veröffentlicht unter Elektronik, Microcontroller, Wochenend Projekte
Schreib einen Kommentar
Wartungsarbeiten
Heute wieder ein wenig die Seite auf Vordermann gebracht. Bilder vom Event hinzugefügt.
Veröffentlicht unter Allgemein, Wartungsarbeiten
Schreib einen Kommentar
Wartungsarbeiten
Heute die Seite wieder etwas auf Vordermann gebracht.
Veröffentlicht unter Wartungsarbeiten
Schreib einen Kommentar