17 d’abril del 2015

ARDUINO: Pràctica 4: LDR, funció analogRead

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

Cap comentari:

Publica un comentari a l'entrada