Stap 15: Druk op 1 om te zien het licht.
Nu dat we een manier om de Tiny2313 te detecteren een knop wordt ingedrukt, hoe krijgen we het programma kan reageren?
Het knipperende LED-programma van de laatste stap nemen, en in deze twee lijnen toevoegen aan de configuratiesectie van net na de config poort b output, lijn:
Config PortD = Input
Instellen van PinD.5 ' Pull-up weerstand activeren
Deze regels moeten de Tiny2313 poort D ingesteld op een invoerpoort, zodat het voelen kan of er een hoog (+ 5 v), of een laag (0V) op die pin is. De tweede regel is nodig om te activeren van de interne pull-up weerstand die we in de vorige stap besproken.
Nu dat de controller chip is ingesteld tot een input lezen, zullen we het programma reageren op deze invoer. Voeg een enkele lus net na het begin van de belangrijkste programma, zoals dit:
Doen
Als Pind.5 = 0 Then Goto Start
Loop
En een streep toe te voegen na de nieuwe lus. De hoofdtekst van uw nieuwe programma moet er zo uitzien:
' Hoofdprogramma
Doen
Als Pind.5 = 0 Then Goto Start
Loop
: Start
Doen
set PortB.0
waitms 500
Reset PortB.0
waitms 500
Loop
De: Start regel begint met een dubbele punt (:), dit BASCOM vertelt dat de lijn is een label. BASCOM zal de locatie van deze regel in het geheugen van de Tiny2313, markeren, zodat andere programma-instructies naar die regel verwijzen kunnen. Deze functie wordt gebruikt in de nieuwe lus. De als-instructie in de eerste lus boven de ' 2313 onderzoeken het spanningsniveau op pin D.5 zal maken. Als de spanning hoog (+ 5 v) dan de als onderdeel van de instructie wordt gelezen als onwaar (met andere woorden, de hoogspanning op pin D.5 is niet gelijk aan 0.) In dat geval de verklaring negeert het vervolgens deel van de instructie als zal overgaan tot de volgende instructie. Alleen wanneer de als onderdeel van de verklaring waar is, met andere woorden, de drukknop heeft ingedrukt, waardoor de huidige stroom, en de invoer pin om te zien een 0V (of laag,) zal de if... en verklaring Voer het dan deel van de instructie, dus zal het label Start.
Dit klinkt allemaal ingewikkeld soort, maar het is echt eenvoudig. Zoals we in de laatste stap besproken wanneer u de un-ingedrukte drukknop hebt, er is geen stroom die, en de invoerregel "ziet" een hoge (+ 5V) via de pull-up weerstand. Maar wanneer u drukt op de knop, de huidige stromen door de switch en vervolgens door de interne pull-up weerstand, en de input "ziet" een laag (0V). Dus wacht de eerste lus gewoon, de lijningang, voortdurend te controleren totdat u op de drukknop drukt. Wanneer de invoer pin toont een 0, dan is het als bewering is waar, en het programma springt naar beneden naar de: regel beginnen en gaat verder met de tweede lus.
Dus moet het systeem van de experimentator 2313 wachten totdat u druk op de knop en vervolgens zal overgaan tot de LED flash totdat u het systeem uit te schakelen, of op beginstand de 2313 zetten '. Als u net reset van het systeem, zal het programma herbeginnen, te wachten tot u op de knop drukt.
Nu, hoe zou u dit gebruik te maken van de Stan1ey ' Ible (uit de vorige stap)? Aangezien zijn knop een normaal gesloten schakelaar is, wat betekent dat de contactpersonen zijn gesloten totdat u druk op de "handle" van de kleding-pin, u kon gewoon het nummer wijzigen waarvoor de als verklaring op zoek is. Probeer te wijzigen die in de if-instructie, en haak omhoog een van Stan1ey van schakelopties. Nu, neem een stuk papier en plaats deze tussen de pinnen. Als de tweede foto in Stan1ey van stap 7. Wanneer de reis draad het papier uit de kleren-pin-switch trekt, knippert uw 2313 experimentator systeem de LED, waarschuwen u om de inbraak.
Kijk door andere Instructables proberen te vinden van andere projecten die u op uw 2313 experimentator systeem aansluiten kunt. Vergeet niet, dat recht nu, u kunt alleen een project-lijn maken een eenvoudige schakelaar. Neem een kijkje op de MightyMouse van Morse Code keyer ( De paperclip, schroeven, ringen en moeren en de lus connectoren make-up een normaal geopend schakelaar, zoals die op uw systeem van de experimentator 2313 - hoe zou u het programma zodanig aanpassen dat u kon de keyer voor Morse-code gebruiken? (Hint, hebben uw programma gebruik van een enkele lus, en de programma-controle om te zien of de NO-switch is gesloten en als zo, dan licht de LED, anders, de LED uit te schakelen.) Bent u wellicht ook geïnteresseerd in de Liam ' Ible ( en haak die tot uw 2313 experimentator systeem.
Dit is een mooie aspect van ontwikkelingssystemen; het is gemakkelijk om te voegen circuits en apparaten van andere projecten.