Stap 3: Programmeren van de PIC
http://www.Rev-ed.co.uk
De code is eenvoudig aangepast maar ik heb niet eventuele headers "in circuit" programma op de PCB dus je moeten zult om de PIC opnieuw programmeren.
Het schema & PCB kan worden gebruikt voor andere schakelen / sensor doeleinden met de wijzigingen van de code vereist.
Hier is de BASIC-code:-
; Grijs water controller MK2
symbool van de pomp = 0; naam output 0 als de pomp
symbool ERROR_LED = 1; naam van de uitgang 1 als de fout (fout) LED
; hoge waterfloat schakelaar = ingang 3, laag water vlotterschakelaar = invoer 4
laat dirs = % 0000111
laat pinnen = % 0000000; zorgen alle uitgangen lage
; zweven schakelaars zijn omgekeerde logica, een 0 betekent is ingeschakeld
main_loop:
Als input3 = 0 en input4 = 0 then ontdendering; hoog water float mark
Als input4 = 0 then inc_timer; laag water float mark
goto main_loop
inc_timer:
laat w0 = w0 + 1
Als w0 = 36000 dan start_pump; als water in de tank voor 10 uur, begint de pomp
1000 onderbreken; 1 seconde pauzeren
goto main_loop
ontdendering:
onderbreken van 500
Als input3 = 1 then main_loop; controleren of de vlotter nog steeds hoog is
start_pump:
hoge PUMP; beurt op pomp relais
pump_loop:
Als input4 = 1 then stop_pump; controleren om te zien als laag water
Als w1 = 3600 vervolgens pump_error; fout als pompen werkt continu voor meer dan 60 minuten
laat w1 = w1 + 1
onderbreken van 1000
goto pump_loop
stop_pump:
lage pomp; stop pomp
laat w0 = 0; muf water teller instellen
laat w1 = 0; fout teller instellen
goto main_loop
pump_error:
lage pomp, de pomp stoppen
error_loop:
Als input4 = 1 then exit_loop, foutieve blijven totdat de tank leeg
hoge ERROR_LED
onderbreken van 500
lage ERROR_LED
onderbreken van 500
goto error_loop
exit_loop:
laat w0 = 0; tellers resetten
laat w1 = 0
lage ERROR_LED; opnieuw fout LED
goto main_loop
mij troep opwaarts het volgende circuit omhoog op een bord van prototypen voor het programmeren van de PIC.