A les entrades analògiques es posen elements que poden donar més d’un valor, com ara un sensor de llum, LDR, que pot rebre diferents intensitats de llum i donar diferents valors de resistència. Aquests elements es connecten a les entrades analògiques (A0, A1, A2, A3, A4, A5), i la instrucció per connectar-lo a la placa Arduino és analogRead.
Sensors analògics poden ser:
- LDR
- Potenciòmetres
- NTC, PTC
El valor de l’entrada (analogRead) està entre 0 i 1023, mentre que la sortida (analogWrite) és entre 0 i 255
Com a exemple, modificarem la intensitat de la llum d’un LED en funció de la llum ambiental. Per fer-ho, usarem un LED com element de sortida analògica (analogWrite) i un LDR com element d’entrada analògic(analogRead). La connexió del LDR es fa de la següent manera:
feu el muntatge de sota i comprobeu el funcionament. La resistència és de 1 kohm. Podeu provar diferents valors de resistència per veure el resultat
El codi és el següent:
void setup()
{
pinMode(9,OUTPUT); // es defineix el led al pin 9 com a sortida
}
void loop()
{
int val=0; // es declara una variable que serà el valor de LDR
val=analogRead(A3); // el LDR està ubicat a l'entrada analògica A3
val=val / 4; // es reajusta el valor del LDR per la sortida digital del led
analogWrite(9,val); // el led agafa la intensitat del valor del LDR
}
- int val: es defineix una variable que es diu val
- pinMode(9,OUTPUT): el pin 9 es defineix com de sortida
- val=analogRead(A3): la variable val agafa el valor del LDR connectat al pin A3
- val=val/4: es divideix per 4 el valor de l’entrada. Es fa perquè analogRead pot arribar fins 1023, i la sortida analogWrite només fins 255. Al dividir per 4, s’ajusten el valors.
- analogWrite(9,val): el pin 9 agafa el valor recollit del LDR.
PRÀCTICA AVANÇADA
Connecta un segon LED de manera que mentre un s’apagui, l’altre s’encengui per l’acció del LDR