Stap 9: Het programma algoritme
Het programma-algoritme:
Dit is de volgorde van de stappen die het programma onder wisselende omstandigheden volgen zal. Hier is een blokdiagram dat in de linker bovenhoek op het blok systeem kan worden gestart begint (wanneer de macht wordt eerst toegepast op het apparaat). Dit algoritme is al uiteengezet, maar niet in detail. Het volgende stappenplan volgen:
1) heeft de ARM code ingevoerd? Als dat niet het geval is, scan opnieuw. Deze instructie houdt herhalen totdat een signaal is ontvangen van de ARM/DISARM lijn van de LS7222.
2) zodra de PIC is verteld dat de ARM/DISARM-code is ingevoerd, piept de DC piëzo-zoemer driemaal, die aangeeft dat het is nu wachten op de lichten om uit te gaan. Ik had geen ruimte om dit blok toevoegen.
3) het systeem zoekt vervolgens naar een signaal (hoge) van de kamer licht detectie circuit. Het houdt (wachten) scannen tot de ontvangst van dit signaal.
4) zodra dit signaal wordt ontvangen, is het omdat de verlichting in de kamer zijn uitgeschakeld. Let op: weer dat ik twee licht detectoren in plaats van een gebruikt omdat ik een wilde op het gezicht van het plafond voor dit doel.
5) als de lichten uitgaan, het signaal wordt ontvangen, piept de piezo achtmaal om aan te geven dat het circuit van laser trip-wire inleiding zal worden. De laser wordt ingeschakeld en het circuit van laser detectie wordt vervolgens gescand om te bepalen als de laser is inderdaad rijtje goed met de lichtsensor. Ik gebruikte 6 spiegels om dit te doen, en het was een grote pijn te krijgen van de laser te stuiteren rond 6 spiegels en terug met de sensor line-up! Ayo
6) als het niet wordt opgesteld, geeft de piëzo-zoemer met drie piepjes dat het systeem wordt uitgeschakeld, zoals de laser wordt niet opgesteld naar behoren met de laser detector circuit. De laser wordt uitgeschakeld, en het systeem opnieuw.
7) indien de laser wordt met de laser detectie circuit goed opgesteld, dan is de echte pret begint. Er zijn drie scans in de lus hier. Het programma scant om te zien als de laserstraal heeft doorbroken door het scannen van het circuit van laser detectie. Het scant dan om te zien als er puls op de TAMPER-pin van de LS7222, die duiden zou dat iemand een verkeerd teken in het toetsenblok heeft gedrukt, dan eindelijk het scant om te zien als de ARM/DISARM-code is ingevoerd.
8) als beide de PIC zintuigen dat de lichtbundel is verbroken, of als een verkeerd teken op het toetsenbord is ingevoerd, klinkt het ALARM en jongen het is smerig!
9) als het alarm heeft teweeggebracht, blijft het alarm totdat de ARM/DISARM-code is ingevoerd. Het zal houden scannen voor de ARM/DISARM signaal. Wanneer de PIC een signaal van de ARM/DISARM lijn van de LS7222 detecteert, piept de piezo driemaal om aan te geven dat het systeem opnieuw wordt opgestart. De laser wordt uitgeschakeld, en het systeem opnieuw gestart op het blok programma gestart.
10) als tijdens het scannen, de PIC detecteert een puls van de ARM/DISARM lijn van de LS7222, dan de piezo piept driemaal de laser zal uitzetten en het systeem zal opnieuw terug naar de blok programma gestart.