Gruß in die Runde.
Meine Zeitintervalle passen einfach nicht und ich seh nicht woran das liegen könnte.
Ich nutze den Atmega328p 28DIP, von Haus aus ist der ja, so wie ich das in den FuseBits gesehen habe mit 8Mhz eingestellt.
Ich hab Port B als Ausgang und Port D als Eingang.
Wenn also bei Port D ein High anliegt soll Port B auch auf High gehen und 3 sec warten, dann die Schleife nochmals durchlaufen, ansonsten soll Port B auf Low.
Der Port D wird durch einen Bewegungssensor auf High gebracht, der auch Messbar mit 3,3 Volt kommt, so wie ich das verstanden habe langen 3,3 Volt dafür aus.
Port B wird aber nicht auf High gebracht, vielleicht liegts ja an meinem Programm?
Aber nach gerraumer Zeit (Gefühlt ewig) Schaltet das Relais doch noch. Warum auch immer???
Ich stell mal den Code rein, für Eventuelle andere fragen, Tips ect. bin ich gerne offen.
Alles anzeigen
Falls jemand noch was benötigt, gerne stelle ich es rein.
Gruß Wasi
Meine Zeitintervalle passen einfach nicht und ich seh nicht woran das liegen könnte.
Ich nutze den Atmega328p 28DIP, von Haus aus ist der ja, so wie ich das in den FuseBits gesehen habe mit 8Mhz eingestellt.
Ich hab Port B als Ausgang und Port D als Eingang.
Wenn also bei Port D ein High anliegt soll Port B auch auf High gehen und 3 sec warten, dann die Schleife nochmals durchlaufen, ansonsten soll Port B auf Low.
Der Port D wird durch einen Bewegungssensor auf High gebracht, der auch Messbar mit 3,3 Volt kommt, so wie ich das verstanden habe langen 3,3 Volt dafür aus.
Port B wird aber nicht auf High gebracht, vielleicht liegts ja an meinem Programm?
Aber nach gerraumer Zeit (Gefühlt ewig) Schaltet das Relais doch noch. Warum auch immer???
Ich stell mal den Code rein, für Eventuelle andere fragen, Tips ect. bin ich gerne offen.
BASCOM-Quellcode: Relais schalten mit dem mega328p
- 'Relais schalten mit dem mega328p
- $regfile = "m328pdef.dat"
- $crystal = 8000000
- $hwstack = 32
- $swstack = 8
- $framesize = 24
- Dim Var As Byte
- Config Portb.0 = Output 'Ausgang, Relais schalten High / Low
- Config PORTD.0 = Input 'Eingang, Liegt ein High an, Relaise Schalten
- Portb.0 = 0 'Schalte PINB auf Low
- Waitms 3000 'Warte 3sec
- Do
- If PIND = 1() Then 'Liegt Spannung an PIND, dann
- Portb.0 = 1 'Relais schalten
- Waitms 3000 'Warte 3sec
- ELSE
- Portb.0 = 0 'Relais schalten auf Low
- End If
- Loop
- End 'end program
Gruß Wasi