Eektronisches Drehzahlenschloss für Batteriebetrieb
Von Felix Irmscher
Literatur: Lernpaket Mikrocontroller
Die notwendigen Bauteile sind aus dem Schaltplan ersichtlich. Insbesondere wird ein Potentiometer mit Schalter und ein Potiknopf mit Skalierung benötigt. Der Mikro-Piepser muss für die verwendete Betriebsspannung ausgelegt sein.
Bedienungsanleitung:
Nach jedem Batteriewechsel ertönt zunächst 15sec lang ein Alarmsignal.
Dies dient dazu, dass man bei Falscheingaben nicht einfach nur die Batterien herausnehmen könnte.
Danach muss die erste Zahl der unter dem Label ZAHLEN_CODE gespeicherten Geheimzahl eingegeben werden (hier: 8-2-9-1-5). Dies erfolgt durch Drehen.
| Ganzen Artikel lesen... |  |
Beim Durchlaufen einer auf dem Potiknopf aufgedruckten Zahl ertönt jeweils ein kurzer Pieps-Ton. War bei der gewählten Zahl ein Piepsen zu hören und wurde der Knopf schon ein Stück über die Zahl hinaus gedreht, ist der Poti-Knopf in die andere Richtung zu nächsten Geheimzahl zu drehen und so weiter.
Die Geheimzahl kann aus bis zu 255 Stellen bestehen. Diese müssen durch jeweiliges Hin- und Zurückdrehen erreicht werden können. (z.B.: 1-2-3 geht nicht!)
Ist die letzte Zahl eingegeben, wird das Poti noch einmal ein kurzes Stück in die entsprechend andere Richtung zurückgedreht.
War die Code-Eingabe erfolgreich, ertönt nun ein längerer Ton und die Rote LED schaltet sich für ca. 10sec an. An diesem Kontakt könnte der Türöffner angeschlossen werden. Nach dem Öffnen schaltet sich das Gerät automatisch ab.
Erfolgt während der Eingabe ein Fehler, so wird für 15sec ein Alarmsignal ausgegeben,
und der Apparat schaltet sich im Anschluss aus.
Bei sehr langsamer Eingabe der Geheimzahl (>15sec pro Eingabe-Zahl), wird ebenfalls in den Power Down Mode gesprungen.
Um das Zahlenschloss zu reaktivieren, muss man den Schalter des Poti aus- und wieder andrehen (Pin Change Interrupt). Danach kann der Code direkt eingegeben werden.
Falls ein anderer Potiknopf verwendet werden sollte, können die genauen ADC-Werte (gespeichert unter Label ZAHLEN) für jede Zahl auf dem Potiknopf mithilfe des Programms POTI_WERTE_FINDEN.asm ermittelt werden. Ausgabe erfolgt im Terminal von Lpmikros.exe
Das Gerät verbraucht im inaktiven Zustand nur maximal ca. 0,8µA.
Download beider Programme: Tresor.zip
Programmauszug
;###

POTI_WERTE_FINDEN

###
;

Poti

10K

(linear)

MIT

Schalter

;

Poti

mit

100nF

entprellt
;

für

Batteriebetrieb

geeignet:
;

-

mit

tn13V

(2xAA)
;

-

mit

tn13

(3xAA)
;####################################
;hier:


BESTIMMUNG

DER

POTI-WERTE
;

AUSGABE

MIT

WRCOM
;

Meswertkontrolle

mit

variabler

VCC
;####################################
;...
LOOP:


rcall

RdADC



;neuen

Messwert

holen


rcall

WrCOM



;Wert

an

den

Computer

senden
;###

Timer

starten

###


ldi

timer,6



;250

bis

OVF,

/1024

->

30Hz


OUT

TCNT0,timer


ldi

i,3


;Prescaler:

1200kHz

/64


out

TCCR0B,i


ldi

i,2


;Timer-ITR

freigeben


out

TIMSK0,i


clr

sek


clr

timer2


sei



;Global

ITR

frei!
WAIT_SEK:


Cpi

sek,1




;warten,

bis

x

Sekunden

vorüber


Brlo

WAIT_SEK



Ldi

i,0


Out

TCCR0B,I


;Zähler

aus!


Ldi

i,0


Out

TIMSK0,I


;Timer

ITR

aus!
Rjmp

LOOP
;=========================================================
RdADC:



;Ausgabevariable:

i


in

Sicher,SREG


ldi

i,3


out


ADMUX,i

;gewünschten

Kanal:

PB3

laden


sbi


ADMUX,ADLAR

;"Left

adjust":




;die

beiden

unteren

Bits

entfallen


;sbi


ADMUX,REFS0

;1,1V-Referenz

NICHT

verwendet




;hier:

externe

Referenz

=

VCC




;->

Ausgabe

nur

in

ADCH

(8Bit)


sbi


ADCSRA,ADSC

;=

Bit

6




;Wandler

einschalten!
ADrdy:


sbic

ADCSRA,ADSC

;Sprung,

wenn

Bit(ADSC)=0,

dh.


rjmp

ADrdy

;nach

erfolgter

Messung

setzt




;das

IC

das

Bit(ADSC)

auf

0

!


sbi


ADCSRA,ADSC
ADrdyb:


sbic

ADCSRA,ADSC

;Zwei

Messungen

unmittelbar


rjmp

ADrdyb


;hintereinander,

sonst

würde




;altes

Messergebnis

eingelesen



in

i,ADCH


;HighByte

=

ADCH




;U[V]

=

VCC

x

i

/255
;


in

j,ADCL


;LowByte

=

ADCL

entfällt

hier,

da




;"Left

adjust"(so.)gesetzt

wurde


out

SREG,Sicher
ret

Lernen Sie die ganze Vielfalt vom Franzis Buch- und Softwareverlag kennen