Arduino Les 06 Een Analoog Voltage

Een Analoog Voltage.

Met de Arduino™ kan je een analoog volgage tot 5 volt meten zonder extra elektronica.
Dit zal je het vaakst gebruiken om de waarde van een sensor te meten.
Veel sensoren gebruiken een ingaande spanning van 5 volt en sturen afhankelijk van de meting 0 tot 5 volt naar de uitgang van de sensor.
Als een sensor bijvoorbeeld de hoeveelheid water in een glas zou meten geeft hij 0 volt bij een leeg glas, 2,5 volt bij een half vol glas en 5 volt bij een vol glas.
Deze waardes vind je natuurlijk altijd in de documentatie van de sensor welke je wilt gebruiken.
Voor dit voorbeeld gebruik ik een potmeter als sensor, welke afhankelijk van hoe je hem verdraaid een waarde door zal geven.
Een potmeter heeft 3 aansluitingen waarvan de buitenste 2 de voeding en massa zijn en de middelste het uitgaande signaal.
Om deze aan te sluiten, sluit je de middelste aansluiting van de potmeter aan op de A0 pin van je Arduino™ bordje.
Van de buitenste twee sluit je er een aan op de +5volt en de andere op de massa(GND).

Schema toevoegen..

Het ingaande signaal van de potmeter/sensor ga ik opslaan in een variabele en die noem ik sensorWaarde.
Daar begint het script dus ook mee.
In de Setup kom alleen de initialisatie voor de seriële poort te stann welke in een volgende les behandeld word.

// Declareer sensorWaarde als int. 
int sensorWaarde;


// De "setup" routine word alleen bij het opstarten en resetten behandeld:
void setup() {
Serial.begin(9600); // Initialiseer de seriele poort op 9600 bps.
}
In de Loop routine ga ik nu de waarde van pin A0 opvragen.
Ik krijg dan een waarde welke loopt van 0 tot 1023.
Deze waarde staat voor het gelezen voltage tussen 0 en 5volt.
Als ik het maximale voltage, 5 volt deel door 1023 en dan vermenigvuldig door de gemeten waarde, dan krijg ik het juiste voltage terug.
Dus ik meet bijvoorbeeld: 512, dan deel ik 5volt door 1023 is 0,00488.. en dan vermenigvuldig ik 0,00488.. maal 512 en dan is het gemeten voltage dus 2,5024volt.

In het script..

// De "loop" draait continu zodra de setup behandeld is.
void loop() {
sensorWaarde = analogRead(A0); // Lees de ingang van analoge pin 0.
// Reken de analoge waarde (welke loopt van 0 - 1023) om naar een voltage (0 - 5V).
float voltage = sensorWaarde * (5.0 / 1023.0);
Serial.println(sensorWaarde); // Stuur de waarde naar de seriele poort.
}

afbeelding seriële monitor toevoegen..

Geef een reactie