Kaminfeuer mit ATTiny13a

Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 726
Registriert seit: Apr 2014
Bewertung: 5
#1
14.02.2015, 21:34

Hallo zusammen,

ich habe ein kleines "Zwischenprojekt" für einen Freund eingeschoben: Ein Kaminfeuer auf der Basis eines Atmel ATTiny13a. Der ATTiny13 ist einer der kleinsten Vertreter der Atmel-µC-Reihe. Der Chip verfügt über 1KB Flash, 64 Bytes EEProm und 64 Byte SRAM. Mit 8 Beinchen ist da auch Hardwaretechnisch nicht allzuviel möglich.

Dennoch gibt es jede Menge Möglichkeiten! Unter Anderem dieses kleine Projekt.

Also was brauchen wir so alles:

1 x ATTiny13a
1 x IC-Sockel 8-polig, wenn gewünscht
5 x Widerstand 220 Ohm
1 x Widerstand 10 kOhm
5 x LED Orange, 1,8 Volt, 20 mA

Und natürlich ein kleines Programm:

 
.include "tn13adef.inc"
 
 
.def Temp =r20 ;temporary register
 
.def Delay1 =r21
.def Delay2 =r22
 
.def RndSeed1=r16
.def RndSeed2=r17
.def RndSeed3=r18
 
.def RndTemp =r19
 
.equ Time = 220 ; Hier Delay einstellen,falls gewünscht
 
;***** Initialization
 
RESET:
ser Temp
out DDRB,Temp ;PORTB = all outputs
 
start:
rcall RandomInit23
clr Delay1
ldi Delay2,Time
 
;**** Test input/output
 
loop:
rcall Random23
out PORTB,RndSeed1 ;output data to PORTB
rcall delay
rjmp loop
 
;**** Now wait a while to make LED changes visible.
 
delay:
dec Delay1
brne delay
dec Delay2
brne delay
ldi Delay2,Time
ret
 
; The seed register has to be loaded with a value not
; equal to zero!
 
RandomInit15:
 
clr RndSeed2
ser RndSeed1
ret
 
Random15:
mov rndTemp,RndSeed1
sbrc RndSeed2,6
com RndTemp ;bit 0 eor bit 14
lsr RndTemp
rol rndSeed1
rol rndSeed2
ret
 
 
RandomInit23:
 
clr RndSeed3
clr RndSeed2
ser RndSeed1
ret
 
Random23:
mov rndTemp,RndSeed1
swap rndTemp
sbrc RndSeed3,6
com RndTemp ;bit 4 eor bit 22
lsr RndTemp
rol rndSeed1
rol rndSeed2
rol rndSeed3
ret
 

Das Programm belegt in im Chip lediglich 76 Byte. EEProm und SRAM werden nicht benutzt.

Und hier noch das Schaltbild sowie das Programm für direkten Download:

   

.asm   Kaminfeuer.asm (Größe: 1,19 KB / Downloads: 419)
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 726
Registriert seit: Apr 2014
Bewertung: 5
#2
30.11.2015, 00:09

Hallo zusammen,

heute habe ich die Schaltung mal wieder auf eine kleine Platine gelötet. 2 blaue, 2 orangene und 1 warmweisse Led.

Das Ganze dient als stimmungsvolles Licht in einer Weihnachtsmannspieluhr.

Gruß,
Uni

Gesendet von meinem SM-N910F mit Tapatalk
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste