Código Aula 7/15
/******************************************************** Controle de 4 relés com 4 botões - Um clique liga e outro desliga **************************************************/ //--------------------------------------------------------------------- Variáveis para as condições do botão 1 -------------------------------------------------------------// int para = 0; int conta = 0; //--------------------------------------------------------------------- Variáveis para as condições do botão 2 -------------------------------------------------------------// int para2 = 0; int conta2 = 0; //--------------------------------------------------------------------- Variáveis para as condições do botão 3 -------------------------------------------------------------// int para3 = 0; int conta3 = 0; //--------------------------------------------------------------------- Variáveis para as condições do botão 4 -------------------------------------------------------------// int para4 = 0; int conta4 = 0; void setup() { //--------------------------------------------------------------------------- Configurações Iniciais -------------------------------------------------------------------// //Botões pinMode(8, INPUT); pinMode(7, INPUT); pinMode(6, INPUT); pinMode(5, INPUT); //Relés pinMode(12,OUTPUT); pinMode(11,OUTPUT); pinMode(10,OUTPUT); pinMode(9,OUTPUT); //--------------------------------------------------------------------- Para os relés começarem desligados ---------------------------------------------------------------// digitalWrite(12, HIGH); digitalWrite(11, HIGH); digitalWrite(10, HIGH); digitalWrite(9, HIGH); } void loop() { //--------------------------------------------------------------------------------------- Botão 1 --------------------------------------------------------------------------// if(digitalRead(8) == HIGH && para == 0){//Se o botão ligado ao pino 7 for precionado. para = 1; } if(digitalRead(8) == LOW && para == 1){//Se o botão ligado ao pino 7 for precionado. conta++; para = 0; } if (conta == 1){ digitalWrite(12, LOW); } if (conta == 2){ digitalWrite(12, HIGH); conta =0; } //--------------------------------------------------------------------------------------- Botão 2 --------------------------------------------------------------------------// if(digitalRead(7) == HIGH && para2 == 0){//Se o botão ligado ao pino 7 for precionado. para2 = 1; } if(digitalRead(7) == LOW && para2 == 1){//Se o botão ligado ao pino 7 for precionado. conta2++; para2 = 0; } if (conta2 == 1){ digitalWrite(11, LOW); } if (conta2 == 2){ digitalWrite(11, HIGH); conta2 =0; } //--------------------------------------------------------------------------------------- Botão 3 --------------------------------------------------------------------------// if(digitalRead(6) == HIGH && para3 == 0){//Se o botão ligado ao pino 7 for precionado. para3 = 1; } if(digitalRead(6) == LOW && para3 == 1){//Se o botão ligado ao pino 7 for precionado. conta3++; para3 = 0; } if (conta3 == 1){ digitalWrite(10, LOW); } if (conta3 == 2){ digitalWrite(10, HIGH); conta3 =0; } //--------------------------------------------------------------------------------------- Botão 4 --------------------------------------------------------------------------// if(digitalRead(5) == HIGH && para4 == 0){//Se o botão ligado ao pino 7 for precionado. para4 = 1; } if(digitalRead(5) == LOW && para4 == 1){//Se o botão ligado ao pino 7 for precionado. conta4++; para4 = 0; } if (conta4 == 1){ digitalWrite(9, LOW); } if (conta4 == 2){ digitalWrite(9, HIGH); conta4 =0; } }
A biblioteca do sensor HC-SRO4
Clique aqui
//Incluindo biblioteca Ultrasonic.h #include "Ultrasonic.h" //criando objeto ultrasonic e definindo as portas digitais //do Trigger - 6 - e Echo - 7 Ultrasonic ultrasonic(6,7); //Declaração das constantes referentes aos pinos digitais. const int ledVerde = 13; const int ledAmarelo = 12; const int ledVermelho = 11; long microsec = 0; float distanciaCM = 0; void setup() { Serial.begin(9600); //Inicializando o serial monitor //Definindo pinos digitais pinMode(ledVerde,OUTPUT); //13 como de saída. pinMode(ledAmarelo,OUTPUT); //12 como de saída. pinMode(ledVermelho,OUTPUT); //11 como de saída. } void loop() { //Lendo o sensor microsec = ultrasonic.timing(); //Convertendo a distância em CM distanciaCM = ultrasonic.convert(microsec, Ultrasonic::CM); ledDistancia(); Serial.print(distanciaCM); Serial.println(" cm"); delay(100); } //Método que centraliza o controle de acendimento dos leds. void ledDistancia() { //Apagando todos os leds digitalWrite(ledVerde,LOW); digitalWrite(ledAmarelo,LOW); digitalWrite(ledVermelho,LOW); //Acendendo o led adequado para a distância lida no sensor if (distanciaCM > 20) { digitalWrite(ledVerde,HIGH); } if (distanciaCM <=20 and distanciaCM >= 10) { digitalWrite(ledAmarelo,HIGH); } if (distanciaCM < 10) { digitalWrite(ledVermelho,HIGH); } }
Página inicial
Assinar:
Postagens (Atom)