Stap 4: Opbouw van het Circuit
De Arduino loskoppelt van de computer vóór de bouw van dit circuit!
Het circuit kan worden geconstrueerd op een breadboard:
De analoge ingangen van een Arduino kunnen meten met 5V (bij gebruik van de ingebouwde analoge referentie spanning). Zelfs wanneer alleen verbinding maken met een 5V-circuit, moet u de weerstanden ter bescherming van de Arduino van kortsluitingen of onverwachte spanning piekspanningen.
Deze twee weerstanden vormen een potentiële verdeler die wordt gebruikt voor het verlagen van de spanning wordt gemeten tot een niveau dat de Arduino kunt lezen. Dit eigenlijk vergroot het bereik dat kan worden gebruikt. Bijvoorbeeld, als weerstanden worden gebruikt voor het halveren van de ingangsspanning vervolgens de Arduino kunt effectief lezen tot 10V (aangezien 10V zal worden gelezen als 5V, 5V zal worden gelezen als 2.5V...). Dit komt op de dure van nauwkeurigheid-de ADCs in de Arduino maximaal 1024 verschillende niveaus tussen de 0V en 5V kunnen lezen. Door het uitbreiden van de waaier aan 10V, die 1024-niveaus zijn verspreid over een groter bereik en zijn daarom minder goed in staat om kleine wijzigingen te herkennen.
U kunt verhogen de weerstandswaarde van R2, dan de maximale spanning die kan worden gelezen wordt verlaagd; een iets meer nauwkeurige lezing te geven. Met op 100Ko R1 en R2 op 10Ko, wordt de ingangsspanning verminderd met een factor van ongeveer 11 – waardoor de voltmeter te lezen vanaf 0V – 55V.
De formule voor het berekenen van waarden in een potentiële verdeler is:
Vout = (R2 / (R1 + R2)) * Vin
Als de scheidingslijn voor de Arduino voltmeter functioneert zal correct dan Vout een maximum van 5V, en dus kunt u het berekenen van de maximale ingangsspanning aan het circuit:
Vmax = 5.0 / (R2 / (R1 + R2))
Hier ziet u een variant van deze expressie gebruikt in de setup-routine van de schets.
Opmerking: Als u verschillende weerstanden van degene die voorgesteld hier gebruikt, moet u worden niet vergeten waardecorrecties op r1 en r2 in de schets.
Bij het meten van de spanning in de routine van de loop, wordt analogRead(0) gebruikt om het niveau van de analoge ingang 0 leest. De geretourneerde waarde is een integer in het bereik 0 tot en met 1023, dus het moet eerst worden aangepast aan een bereik van 0 tot en met 5. Dit wordt gedaan door vermenigvuldiging met het energieniveau van de levering, en vervolgens delen door 1024.
Te transformeren de 0V-5V-waarde tot een lezing die overeenkomt met het bereik van waarden die kan worden gemeten door het circuit, moeten de weerstanden rekening worden gehouden op dezelfde manier zoals ook is gebeurd voor het berekenen van de maximale spanning die het circuit kon meten:
v2 = v / (r2 / (r1 + r2))