Stap 5: Input devices, knoppen, schakelaars, encoders
Ik gebruikte een zakrekenmachine en een werkblad om de uitgangsspanning, en de ADC-waarden te berekenen.
De schakelaars zijn er alleen te onderbreken van het circuit van de voedingen. Die verbinden niet rechtstreeks de PIC, dus er geen feedback over hun staten op het display, minstens nog niet is. Een toekomstige ontwikkeling zou zijn deze te verbinden, en maken van een slim algoritme te kiezen automatisch de huidige meting, als slechts één schakelaar is ingeschakeld.
Voor nu zijn er slechts kleine 3 mm groen LED-s, ze oplichten, als de schakelaar actief is.
In plaats van het knoeien rond met knoppen alleen, dacht ik aan een betere manier om het opbouwen van een menusysteem. Ik geborgen deze encoder uit een DVD-speler. Dat is dezelfde DVD speler, die heeft haar voorpaneel gemonteerd aan de lage kant van mijn kabelafdekking. Aan te sluiten is vrij eenvoudig, de A- en B-pinnen moeten worden opgetrokken tot de VCC, een gaat naar de interrupt, de andere een GPIO. De uitgangen zijn draaien aan en uit met een marge van 90 graden, wanneer de schacht is ingeschakeld. Wanneer er een interrupt optreedt, dat GPIO wordt gecontroleerd, als het is '1', omgezet de encoder naar links, als het is '0', het coderingsprogramma draaide rechts. Een variabele wordt verhoogd/verlaagd wanneer het coderingsprogramma in de één of de andere richting draait. Deze variabele helpt ons om erachter te komen, 'waar' is het coderingsprogramma.
Het coderingsprogramma heeft een knop, dat is verbonden aan een andere GPIO, en heeft een pull-up tot 5 volt.
Ik maakte een tekening van de dingen die ik u heb gezegd. De afbeelding toont het moment, wanneer het coderingsprogramma is draaide rechts. Als het coderingsprogramma zou linksaf, de impuls op de pin INT zou de eerste plaats komen, verrassend de GPIO in een '0' staat. Dus lang verhaal kort, dit is hoe u werkt met encoders.
De PIR sensor wordt aangedreven van 12V, het heeft twee pinnen, die verbinding maken/verbreken wanneer er beweging is gedetecteerd. Ik zette één kant op grond, en andere één - met een pull-up tot vijf volt - aan een invoer pin van de microcontroller gebonden.