13° Encontro - Programação de servo Motor e sinalização com Leds
Em 10/08/2018, aprofundamos nossos conhecimento com servo motor e programação,assim, em nosso circuito anterior acrescentamos uma sinalização com Leds. Para tal utilizamos o comando if, revimos o comando digitarlWrite do Arduino.
Nossa atividade no simulador Tinkercad
Eletrônica
Acrescentamos Leds no nosso circuito conforme o esquema e imagem abaixo:
Programação
Revimos o comando if;
Criamos a função posLed()
Testamos a função dentro do loop(), o circuito funcionou perfeitamente
Parabéns para as adaptações que alguns alunos fizeram.
#include <Servo.h>
#define SERVO 3 // Porta Digital 3 PWM
//portas para os leds
int ledVerde=12;
int ledVermelho=11;
int ledAmarelo=13;
Servo s; // Variável Servo
int pos; // Posição Servo
void setup ()
{
pinMode(ledVerde,OUTPUT);//define pinos como saida
pinMode(ledVermelho,OUTPUT);
pinMode(ledAmarelo,OUTPUT);
s.attach(SERVO);
Serial.begin(9600);
// s.write(0); // Inicia motor posição zero
}
void loop()
{
//servoMover();
pos=0;
s.write(pos);
posLed(pos);
delay(2000);
pos=90;
s.write(pos);
posLed(pos);
delay(2000);
pos=180;
s.write(pos);
posLed(pos);
delay(2000);
}
void posLed(int grau){
if(grau==90){
digitalWrite(ledVerde,HIGH);
digitalWrite(ledVermelho,LOW);
digitalWrite(ledAmarelo,LOW);
}
if(grau<90){
digitalWrite(ledVerde,LOW);
digitalWrite(ledVermelho,HIGH);
digitalWrite(ledAmarelo,LOW);
}
if(grau>90){
digitalWrite(ledVerde,LOW);
digitalWrite(ledVermelho,LOW);
digitalWrite(ledAmarelo,HIGH);
}
}
Criamos a função posLed()
Testamos a função dentro do loop(), o circuito funcionou perfeitamente
Parabéns para as adaptações que alguns alunos fizeram.
#include <Servo.h>
#define SERVO 3 // Porta Digital 3 PWM
//portas para os leds
int ledVerde=12;
int ledVermelho=11;
int ledAmarelo=13;
Servo s; // Variável Servo
int pos; // Posição Servo
void setup ()
{
pinMode(ledVerde,OUTPUT);//define pinos como saida
pinMode(ledVermelho,OUTPUT);
pinMode(ledAmarelo,OUTPUT);
s.attach(SERVO);
Serial.begin(9600);
// s.write(0); // Inicia motor posição zero
}
void loop()
{
//servoMover();
pos=0;
s.write(pos);
posLed(pos);
delay(2000);
pos=90;
s.write(pos);
posLed(pos);
delay(2000);
pos=180;
s.write(pos);
posLed(pos);
delay(2000);
}
void posLed(int grau){
if(grau==90){
digitalWrite(ledVerde,HIGH);
digitalWrite(ledVermelho,LOW);
digitalWrite(ledAmarelo,LOW);
}
if(grau<90){
digitalWrite(ledVerde,LOW);
digitalWrite(ledVermelho,HIGH);
digitalWrite(ledAmarelo,LOW);
}
if(grau>90){
digitalWrite(ledVerde,LOW);
digitalWrite(ledVermelho,LOW);
digitalWrite(ledAmarelo,HIGH);
}
}
Abr a todos!
Nenhum comentário:
Postar um comentário