Acest proiect necesita urmatoarele componente electronice:
-placa arduino
-un potentiometru de 10 Kohmi;
-8 rezistente de 200-300 ohmi;
-8 leduri;
Cei doi pini marginali ai potentiometrului se conecteaza unul 5V respectiv la GND.Cel de-al treilea pin (cel din mijloc) se conecteaza la intrarea analogica A0;
Masa(GND) corespunde pinului GND al placutei arduino.
Functia folosita pentru a citi valoarea rezistentei potentiometrui este: analogRead. Sintaxa acestei functii este urmatoarea: analogRead(pin).
Citirea valorii de tensiune furnizata de potentiometru se face serial si prin functiaurmatoare:
Serial.begin(9600),aceasta realizand o conexiune seriala
intre PC si ARDUINO,conexiune care transmite 9600 biti/sec intre cele 2 termnale.
CODUL SURSA:
//POTENTIOMETRU-8LEDURI
int led3Pin=3;
int led4Pin=4;
int led5Pin=5;
int led6Pin=6;
int led7Pin=7;
int led8Pin=8;
int led9Pin=9;
int led10Pin=10;
void setup(){
pinMode(led3Pin,OUTPUT);
pinMode(led4Pin,OUTPUT);
pinMode(led5Pin,OUTPUT);
pinMode(led6Pin,OUTPUT);
pinMode(led7Pin,OUTPUT);
pinMode(led8Pin,OUTPUT);
pinMode(led9Pin,OUTPUT);
pinMode(led10Pin,OUTPUT);
Serial.begin(9600);
}
void loop(){
int sensorValue=analogRead(A0);
Serial.println(sensorValue);
if(analogRead(A0)>100){
digitalWrite(led3Pin,HIGH);
}
else if(analogRead(A0)<100){digitalWrite(led3Pin,LOW);}
if(analogRead(A0)>200){
digitalWrite(led4Pin,HIGH);
}
else if(analogRead(A0)<200){digitalWrite(led4Pin,LOW);}
if(analogRead(A0)>300){
digitalWrite(led5Pin,HIGH);
}
else if(analogRead(A0)<3100){digitalWrite(led5Pin,LOW);}
if(analogRead(A0)>500){
digitalWrite(led6Pin,HIGH);
}
else if(analogRead(A0)<500){digitalWrite(led6Pin,LOW);}
if(analogRead(A0)>700){
digitalWrite(led7Pin,HIGH);
}
else if(analogRead(A0)<700){digitalWrite(led7Pin,LOW);}
if(analogRead(A0)>800){
digitalWrite(led8Pin,HIGH);
}
else if(analogRead(A0)<800){digitalWrite(led8Pin,LOW);}
if(analogRead(A0)>900){
digitalWrite(led9Pin,HIGH);
}
else if(analogRead(A0)<900){digitalWrite(led9Pin,LOW);}
if(analogRead(A0)>1000){
digitalWrite(led10Pin,HIGH);
}
else if(analogRead(A0)<1000){digitalWrite(led10Pin,LOW);}
}