Neste post você irá
aprender a manipular o valor gerado pelo potenciômetro e conforme o valor
recebido será manipulado e representado pela fileira de LEDS. A figura abaixo lista os componentes
necessários para que o experimento possa ser realizado.
A imagem abaixo mostra como
os componentes devem ser ligados na protoboard. É importante que os componentes
sejam ligados ao Arduino quando ele estiver desligado para não correr o risco
de danificar a placa. Para esse experimento é aconselhavel utilizar o Arduino
Mega, devido o número de portas Analógicas disponível.
Neste experimento é
necessário que os LEDs e o potenciômetro sejam ligados nas portas analógicas do
Arduino.
O vídeo abaixo mostra como o experimento funciona:
Após ligados os componentes conforme
a imagem acima é preciso programar. Ligue o Arduino no computador e abra a
interface de desenvolvimento e cole o código abaixo. As // no código significam comentário, ou seja, o que for escrito após as // a IDE do Arduino não considera como parte do código. Após colar o código, pressione no menu superior e teste o potenciômetro no Arduino.
O vídeo abaixo mostra como o experimento funciona:
int potenciometro = 0; // Define a porta do //Arduino em que o potenciômetro vai utilizar
int led = A1; //LED1
int led2 = A2; //LED2
int led3 = A3; //LED3
int led4 = A4; //LED4
int led5 = A5; //LED5
int led6 = A6; //LED6
int valor = 0; //Variável que irá receber o //valor do potenciômetro
//Funções de cada LED
void ligaLed1();
void ligaLed2();
void ligaLed3();
void ligaLed4();
void ligaLed5();
void ligaLed6();
void setup() {
Serial.begin(9600);
// Seta todos as portas dos leds como saída
pinMode(led,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(led4,OUTPUT);
pinMode(led5,OUTPUT);
pinMode(led6,OUTPUT);
}
void loop() {
//Recebe o valor do potenciômetro
valor = analogRead(potenciometro);
//Testa os valores para que seja
//ligar o LED correto
if(valor < 170){
ligaLed1();
}else if (valor > 170 && valor < 340){
ligaLed2();
}else if(valor > 340 && valor < 510){
ligaLed3();
}else if(valor > 510 && valor < 680){
ligaLed4();
}else if(valor > 680 && valor < 850){
ligaLed5();
}else{
ligaLed6();
}
}
void ligaLed1(){
analogWrite(led, 255);
analogWrite(led2, 0);
analogWrite(led3, 0);
analogWrite(led4, 0);
analogWrite(led5, 0);
analogWrite(led6, 0);
}
void ligaLed2(){
analogWrite(led, 0);
analogWrite(led2, 255);
analogWrite(led3, 0);
analogWrite(led4, 0);
analogWrite(led5, 0);
analogWrite(led6, 0);
}
void ligaLed3(){
analogWrite(led, 0);
analogWrite(led2, 0);
analogWrite(led3, 255);
analogWrite(led4, 0);
analogWrite(led5, 0);
analogWrite(led6, 0);
}
void ligaLed4(){
analogWrite(led, 0);
analogWrite(led2, 0);
analogWrite(led3, 0);
analogWrite(led4, 255);
analogWrite(led5, 0);
analogWrite(led6, 0);
}
void ligaLed5(){
analogWrite(led, 0);
analogWrite(led2, 0);
analogWrite(led3, 0);
analogWrite(led4, 0);
analogWrite(led5, 255);
analogWrite(led6, 0);
}
void ligaLed6(){
analogWrite(led, 0);
analogWrite(led2, 0);
analogWrite(led3, 0);
analogWrite(led4, 0);
analogWrite(led5, 0);
analogWrite(led6, 255);
}