Étape 3: Programmation du PIC
http://www.Rev-ed.co.uk
Le code est modifié facilement cependant je n’a pas mis n’importe quel en-tête de programme "dans le circuit" sur le circuit imprimé vous devrez sortir le PIC pour re-programmer.
Le schéma & PCB pourrait servir à d’autres de commutation / capteur fins avec les changements de code requis apportés.
Voici le code de base:-
; Contrôleur des eaux grises MK2
symbole pompe = 0 ; sortie de nom 0 comme la pompe
symbole ERROR_LED = 1 ; Nommez la sortie 1 comme l’erreur (défaut) LED
; waterfloat haute interrupteur = entrée 3, interrupteur à flotteur marée basse = entrée 4
Laissez les dirs = % 0000111
Laissez les épingles = % 0000000 ; s’assurer que toutes les sorties bas
; flotteurs sont logique inverse, 0 moyen, il est allumé
main_loop :
Si input3 = 0 et input4 = 0 then debounce ; float de la marée haute
Si input4 = 0 then inc_timer ; laisse de basse mer flotteur
Goto main_loop
inc_timer :
Laissez w0 = w0 + 1
Si w0 = 36000 puis start_pump ; si l’eau est dans le réservoir pendant 10 heures, démarrer la pompe
faire une pause 1000 ; pause de 1 seconde
Goto main_loop
Debounce :
pause de 500
Si input3 = 1 then main_loop ; vérifier si le flotteur est encore élevé
start_pump :
haute pompe ; tour relais de la pompe
pump_loop :
Si 4 = 1 then stop_pump ; Vérifiez si marée basse
Si w1 = 3600 puis pump_error ; erreur si la pompe fonctionne sans interruption pendant plus de 60 minutes
Laissez w1 = w1 + 1
faire une pause 1000
Goto pump_loop
stop_pump :
POMPE faible ; arrêt pompe
Laissez w0 = 0; réinitialiser compteur d’eau obsolètes
Laissez w1 = 0; réinitialiser le compteur d’erreurs
Goto main_loop
pump_error :
bas de pompe, arrêter la pompe
error_loop :
Si 4 = 1 then exit_loop ; rester fermées jusqu'à réservoir vide
haute ERROR_LED
pause de 500
ERROR_LED faible
pause de 500
Goto error_loop
exit_loop :
Laissez w0 = 0; réinitialiser les compteurs
Laissez w1 = 0
faible ERROR_LED ; réinitialiser del error
Goto main_loop
j’ai créé le circuit suivant sur une carte de prototypage pour programmer le PIC.