Herzlich Willkommen im einzigen (deutschsprachigem) Picaxe-Forum.

Der Ursprung dieses Forum reicht bis in das Jahr 2008 zurück


Einfacher Bewegungsmelder

#1 von harry02 , 13.12.2021 18:52

Mit folgendem kleinen Projekt habe ich einen Bewegungsmelder gebaut, der mir auf ca. 10 Meter anzeigt, ob sich ein Objekt verändert. In meinem Fall ist es eine Haustür am gegenüberliegenden Haus. Sobald die Tür geöffnet wird, schaltet die Picaxe einen Ausgang auf high.

Die Schaltung:



Das Programm hierzu:

main:
pause 200
readadc c.1,b0

do
b1 = b0
readadc c.1,b0
pause 200
if b0<>b1 then
goto alarm
endif
pause 1000
loop

goto main

alarm:
high 4
pause 1000
low 4
goto main

Das Programm ist in der Lage, den LDR jedesmal zu eichen und die Werte in den Variablen b0 und b1 zu vergleichen. Wie das Programm im einzelnen funktioniert, konnte ich am Simulator nicht nachvollziehen. Aber es funktioniert.

harry02  
harry02
Beiträge: 45
Registriert am: 16.02.2019


RE: Einfacher Bewegungsmelder

#2 von BoomBoomMagic , 14.12.2021 16:36

Och Harry , das kann ich dir leicht erklären was das Programm macht , ....bissel quarks , aber funktioniert .

zuerst wartet das Programm 200ms auf ..... schön Wetter ?
Dann liest es einen ADC Wert in b0

Dann wird das Ergebnis von B0 an B1 übergeben.
Daraufhin erfolgt sofort eine neue ADC Messung in b0

Jetzt kommt wieder eine 200ms Wartezeit ...wieso auch immer ? ...

Nun fragst ob die ADC Messung (b0) <> b1 ist.
(Naja, in den 200ms kann das aber schon 100x passiert sein )

sollte dies NICHT der Fall sein, haste ja Do .. Loop
also b1 ist was bo ist
liest eine ADC Messung in b0.
wartet 200ms .
guckt ob b0 <> b1 ist ....
wenn nicht 1 Sekunde warten und wieder nach
b0 ist b1 ......


sollte b0 gleich b1 sein, springst schnell nach ALARM
Dort setzt Pin4 für 1 Sekunde auf high und wieder auf low.
Dann gehst nach Main und das Spiel beginnt von vorne.

zuerst wartet das Programm 200ms auf ..... schön Wetter ?
Dann liest es einen ADC Wert in b0
...
..
.

ach so , ... jetzt sagst was von eichen ?
In diesem Programm eher weniger.


***Lieber 2x mehr lesen , als 1x dumm fragen ***

 
BoomBoomMagic
Beiträge: 879
Registriert am: 24.01.2019

zuletzt bearbeitet 14.12.2021 | Top

RE: Einfacher Bewegungsmelder

#3 von harry02 , 16.12.2021 19:41

Das Programm hatte ich wie folgt interpretiert, und dachte, ich läge richtig:

main: 'Programmbeginn
pause 200 'ok, diese Pause könnte entfallen.
readadc c.1,b0 ' hier wird der Wert des LDR abgelesen und in "b0" eingelesen

do 'beginn der Do - Loop - Schleife
b1 = b0 'der Wert von "b0" wird in "b1" kopiert. "b1" hat dann einen festen Wert
readadc c.1,b0 'nun wird erneut der Wert des LDR gelesen und in "b0" eingelesen
pause 200 'diese Pause könnte vielleicht auch entfallen
if b0<>b1 then 'und jetzt kommt der eigentliche Prüf- (Eich-) Vorgang. Hat sich "b0" gegenüber "b1" geändert, also "nicht gleich", dann soll nach Alarm gesprungen werden
goto alarm
endif
pause 1000
loop

goto main

alarm:
high 4
pause 1000
low 4
goto main

Ich hoffe, dass ich mich verständlich ausgedrückt habe.
Grüße Harry

harry02  
harry02
Beiträge: 45
Registriert am: 16.02.2019


RE: Einfacher Bewegungsmelder

#4 von harry02 , 16.12.2021 19:43

Schade, die Taps sind nicht übernommen worden.

harry02  
harry02
Beiträge: 45
Registriert am: 16.02.2019


RE: Einfacher Bewegungsmelder

#5 von BoomBoomMagic , 17.12.2021 07:57

Ok , das wäre "normal" das mini mini Progrämmchen ....

1
2
3
4
5
6
7
8
9
10
11
12
 

Do
readadc c.1,b0' liest den LDR
if b1<>b0 then' ist b1 <> LDR dann ...
b1 = b0' ist b1 nun b0 - LDR
high 4
pause 1000
low 4
endif
pause 1000
loop
 
 



aber wenn es bei Dir so auch geht ...


***Lieber 2x mehr lesen , als 1x dumm fragen ***

 
BoomBoomMagic
Beiträge: 879
Registriert am: 24.01.2019


   

Schüssel ausrichten per Funk
Impulszähler_Melodienspieler

Picaxe Editor 5.5.5 Download
Update auf Picaxe Editor 5.5.6 Download
Picaxe Editor 6.x.x.x Download
Manual1.pdf        -      Grundwissen Download
Manual2.pdf        -      Befehle Download
Manual3.pdf        -      Beispiele Download


Press [Backspace] for back to Menu


Counter
Xobor Forum Software ©Xobor.de | Forum erstellen
Datenschutz