Instructions
De Arduino microcontroller
Pagina 22
analogRead(pin)
Leest de waarde van een specifieke analoge pin in een 10 bit resolutie. Deze functie
werkt alleen op pin 0 t/m 6 (Geldt natuurlijk niet voor de Arduino mega). De uitkomst
is een integer waarde tussen 0 to 1023.
waarde = analogRead(pin); // maak van ‘waarde' wat gelezen
// wordt op de 'pin'
Opmerking: Analoge pinnen hoeven niet te worden gedeclareerd als INPUT of
OUTPUT. Het zijn automatisch al digitale inputs.
analogWrite(pin, value)
Schrijft een pseudo-analoge waarde door gebruik te maken van hardwarematige
puls-breedte (width) modulatie (PWM) naar een output pin die gemarkeerd is als
PWM. Op nieuwere Arduinos met de ATmega168/368 chip, werkt deze functie op pin
3, 5, 6, 9, 10, and 11. Op oudere Arduinos met een ATmega8 werkt deze functie
alleen op pin 9, 10, en 11. De waarde kan gespecificeerd worden al een variabele
of constante met een bereik van 0-255.
analogWrite(pin, waarde); // schrijf 'waarde' naar analoge 'pin'
Een waarde van 0 geeft 0 V als output op de gespecificeerde pin. Een waarde van
255 geeft 5 V als output op de gespecificeerde pin. Voor waarden tussen 0 en 255
vindt er een evenredige pulsbreedte modulatie plaats, waarbij opgemerkt moet
worden dat de breedte van de pulsen evenredig groter wordt naarmate de waarde
stijgt.
Omdat dit een hardware functie is zal de uitgegeven pulsbreedte continue het
zelfde zijn totdat er een nieuwe analogWrite wordt gedaan.
Het volgende voorbeeld leest een analoge waarde van een analoge INPUT pin.
Vervolgens wordt deze waarde aangeboden aan een PWM OUTPUT pin. Let op de
gelezen waarde is van 0 – 1023 maar de maximale aangeboden PWM waarde mag
niet meer zijn dan 255. Daarom wordt de gelezen waarde gedeeld door 4:
int led = 10; // LED met 220 weerstand op pin 10
int pin = 0; // potentiometer op analoge pin 0
int value; // value om te lezen
void setup(){} // geen setup nodig
void loop()
{
value = analogRead(pin); // lees 'value' op 'pin'
value /= 4; // converteer 0-1023 to 0-255
analogWrite(led, value); // outputs PWM signaal naar led
}