Neste projeto será possível entender como os dados são lidos pelo arduino, e como controlar Leds apenas enviando dados pelas teclas do computador.
- Vamos iniciar com um programa que exemplifique o funcionamento da leitura de dados pela porta serial.
1 º Execute este código:
int n = 0; // Para entrada de dados seriais
void setup() {
Serial.begin(9600); // Ativa a porta serial
}
void loop() {
if (Serial.available()>0) { // Testa se a porta serial esta recebendo dados
n = Serial.read(); //Os dados lidos são armazenados na variável n
// mostra na tela
Serial.print("Valor digitado: ");
Serial.println(n, BYTE);
Serial.print("Valor lido: ");
Serial.println(n);
}
}
void setup() {
Serial.begin(9600); // Ativa a porta serial
}
void loop() {
if (Serial.available()>0) { // Testa se a porta serial esta recebendo dados
n = Serial.read(); //Os dados lidos são armazenados na variável n
// mostra na tela
Serial.print("Valor digitado: ");
Serial.println(n, BYTE);
Serial.print("Valor lido: ");
Serial.println(n);
}
}
2º Após executar, ative o Serial Monitor:
3 º Ao ativar, digite valores e clique em "Send":
- Agora vamos montar o circuito abaixo, para controlar os Leds:
- Execute o código abaixo:
int n;
int pin7 = 7;
int pin8 = 8;
void setup() {
Serial.begin(9600);
Serial.flush();
pinMode(pin7, OUTPUT);
pinMode(pin8, OUTPUT);
Serial.println("Digite:\n 2-Vermelho \n 3-Verde \n 4-Vermelho e Verde \n 5-Apagar Todos");
}
void loop() {
if (Serial.available() >0) {
n = Serial.read();
Serial.print("Voce digitou: ");
Serial.println(n, BYTE);
//testes condicionais
if( n==50 ){ // 2-vermelho
digitalWrite(pin7,HIGH);
digitalWrite(pin8,LOW);
}
if(n==51){ // 3-Verde
digitalWrite(pin8,HIGH);
digitalWrite(pin7,LOW);
}
if(n==52){ // 4-Verde
digitalWrite(pin8,HIGH);
digitalWrite(pin7,HIGH);
}
if(n==53){ // 5-desliga LEDs
digitalWrite(pin8,LOW);
digitalWrite(pin7,LOW);
}
}
Serial.flush();
}
- Após executar, ative a porta Serial:int pin7 = 7;
int pin8 = 8;
void setup() {
Serial.begin(9600);
Serial.flush();
pinMode(pin7, OUTPUT);
pinMode(pin8, OUTPUT);
Serial.println("Digite:\n 2-Vermelho \n 3-Verde \n 4-Vermelho e Verde \n 5-Apagar Todos");
}
void loop() {
if (Serial.available() >0) {
n = Serial.read();
Serial.print("Voce digitou: ");
Serial.println(n, BYTE);
//testes condicionais
if( n==50 ){ // 2-vermelho
digitalWrite(pin7,HIGH);
digitalWrite(pin8,LOW);
}
if(n==51){ // 3-Verde
digitalWrite(pin8,HIGH);
digitalWrite(pin7,LOW);
}
if(n==52){ // 4-Verde
digitalWrite(pin8,HIGH);
digitalWrite(pin7,HIGH);
}
if(n==53){ // 5-desliga LEDs
digitalWrite(pin8,LOW);
digitalWrite(pin7,LOW);
}
}
Serial.flush();
}
- Será mostrado na tela:
Nenhum comentário:
Postar um comentário