elektronik:bascom:elektronische-adventkerzen

Elektronische Adventkerzen

Anzahl Bezeichung
1 Batterie/Spannungsquelle 9V
1 Spannungsregler 7805
1 ATtiny26 AVR-Prozessor
4 Widerstand 220 Ohm
1 Widerstand 10 kOhm
1 Elektrolytkondensator 100 µF/16V
1 Kondensator 100nF
4 Standard-Leuchtdiode 3mm oder 5mm

In vielen Haushalten ist es ein Brauch, während der Vorweihnachtszeit Adventkerzen brennen zu lassen, wobei die Anzahl der brennenden Kerzen angeben, welche Adventwoche gerade ist. Leider sind, gerade in Haushalten mit Kindern, echte Kerzen doch recht gefährlich. Eine Lösung wäre es, diese durch einfache Kerzenlampen zu ersetzen. Aber solche Lampen geben nur ein konstantes Licht ab. Das 'magische' Flackern des Lichts bleibt aus.

Eine möglich Lösung könnte diese Bastelei darstellen. Hier sorgt ein kleiner AVR dafür, dass bis zu 8 'Kerzen' flackern. Mit speziellen LEDs (Rocket-LEDs) und etwas Bastelgeschick kann man so künstlich echte Kerzen nachbilden. Bei den hier vorgestellten Aufbau werden aber nur 4 LEDs angeschlossen.

  1. '##################################
  2. '### ###
  3. '### Elektronische Adventkerzen ###
  4. '### ###
  5. '##################################
  6.  
  7. $regfile "Attiny26.dat"
  8. $crystal = 1000000
  9.  
  10. '### Variablendefination
  11. Dim Cnt(8) As Byte
  12. Dim Count As Byte
  13. Dim C As Byte
  14.  
  15. '### Ausgabeport auf Ausgang schalten
  16. Config Porta = Output
  17.  
  18. '### Timer für Lichtflackern aktivieren
  19. Config Timer0 = Timer , Prescale = 256
  20. Enable Timer0
  21. On Timer0 Firelights
  22.  
  23. '### Timer für PWM-Steuerung aktivieren
  24. Config Timer1 = Timer , Prescale = 1
  25. Enable Timer1
  26. On Timer1 Timer_counter
  27.  
  28. '### Interrupts aktivieren
  29. Enable Interrupts
  30.  
  31. '### Leerschleife als Hauptprogramm
  32. Do
  33. Loop
  34.  
  35. '### Lichtflackern
  36. Firelights:
  37. For C = 1 To 8
  38. Cnt(c) = Rnd(256)
  39. Next C
  40. Return
  41.  
  42. '### PWM-Steuerung der Ausgänge
  43. Timer_counter:
  44. Incr Count : If Count >= 64 Then Count = 0
  45. If Cnt(1) > Count Then Porta.0 = 1 Else Porta.0 = 0
  46. If Cnt(2) > Count Then Porta.1 = 1 Else Porta.1 = 0
  47. If Cnt(3) > Count Then Porta.2 = 1 Else Porta.2 = 0
  48. If Cnt(4) > Count Then Porta.3 = 1 Else Porta.3 = 0
  49. If Cnt(5) > Count Then Porta.4 = 1 Else Porta.4 = 0
  50. If Cnt(6) > Count Then Porta.5 = 1 Else Porta.5 = 0
  51. If Cnt(7) > Count Then Porta.6 = 1 Else Porta.6 = 0
  52. If Cnt(8) > Count Then Porta.7 = 1 Else Porta.7 = 0
  53. Return
  • elektronik/bascom/elektronische-adventkerzen.txt
  • Zuletzt geändert: 18.08.2026 00:12
  • von Martin Fitzel