Ir ao conteúdo
  • Cadastre-se

Edson Rodio

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

Reputação

0
  1. olá, preciso de ajuda para modificar este codigo, adicionar tempo nas linhas 2 e 3 do lcd 20x4. o cronômetro roda na linha zero, quando eu aperto o botão de pausa e imprime o valor na linha 1, preciso mudar para quando eu pressionar novamente, imprimir o novo valor na linha 1, e enviar o valor da linha 1 para 2 , e quando pressiono o botão novamente, imprime novo valor na linha 1 enviando valor da linha 1 para 2, e 2 para linha 3. sempre salvando novo valor na linha 1 envia os valores salvos para baixo. Eu ainda não entendo bem de programação, se alguém puder ajudar eu agradeço #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);//endereço I2c do LCD //declaração das variáveis int horas = 0; int minutos = 0; int segundos = 0; int decimas = 0; long milisegundos = 0; int inicio = 10; int pausa = 9; void setup(){ Serial.begin(9600); pinMode(inicio, INPUT); digitalWrite(inicio, LOW); pinMode(pausa, INPUT); digitalWrite(pausa, LOW); lcd.begin(20,4);//16x2 while(digitalRead(pausa) == LOW){ lcd.setCursor(0,0); lcd.print("00:00:00:0"); } } void loop(){ //botao de início if(digitalRead(inicio) == HIGH){ //se o pino ler nível alto, zera as variáveis horas = 0; minutos = 0; segundos = 0; decimas = 0; lcd.clear(); } //botão Pause/Play if(digitalRead(pausa) == HIGH){//rotina de pausa e exibição da pausa delay(200); //while(digitalRead(pausa) == LOW); lcd.setCursor(0,1); if(horas < 10){ lcd.print("0");}//se as horas forem menor que 10, acrescenta um 0 na frente lcd.print(horas); lcd.print(":"); if(minutos < 10){ lcd.print("0");}//se os minutos forem menor que 10, acrescenta um 0 na frente lcd.print(minutos); lcd.print(":"); if(segundos < 10){ lcd.print("0");}//se os segundos forem menor que 10, acrescenta um 0 na frente lcd.print(segundos); lcd.print(":"); lcd.print(decimas); delay(200); horas = 0; minutos = 0; segundos = 0; decimas = 0; } milisegundos = millis(); if(milisegundos % 100 == 0){ //Entrar apenas se tiver passado o décimo de segundo decimas++; if(decimas == 10){ //Quando passou 10 décimos de segundo, conta um segundo decimas = 0; segundos++; } if(segundos == 60){ // Após 60 segundos, conta um minuto segundos = 0; minutos++; } if(minutos == 60){// Depois de 60 minutos, conta uma hora minutos = 0; horas++; } //exibição no LCD lcd.setCursor(0,0); if(horas < 10){ //se as horas forem menor que 10, acrescenta um 0 na frente lcd.print("0"); } lcd.print(horas); lcd.print(":"); lcd.setCursor(3,0); if(minutos < 10){//se os minutos forem menor que 10, acrescenta um 0 na frente lcd.print("0"); } lcd.print(minutos); lcd.print(":"); lcd.setCursor(6,0); if(segundos < 10){//se os segundos forem menor que 10, acrescenta um 0 na frente lcd.print("0"); } lcd.print(segundos); lcd.print(":"); lcd.setCursor(9,0); lcd.print(decimas); } }
  2. Olá amigos, estou com esse codigo de arduino, 3 botões liga e desliga os respectivos leds, eu preciso fazer com que o led 2 dependa do led1, ou seja so pode ser acionado se o led1 estiver ligado, e o led3 so ligue se o led2 estiver ligado, e quando desliga led1 todos desligam, so ligando novamente quando acionado os respectivos botões. Se Alguem pode me ajudar eu agradeço. // set pinos const int buttonPin = 2; // número do pino pushbutton const int ledPin = 3; // número do pino LED const int buttonPin2 = 4; // número do pino pushbutton const int ledPin2 = 5; // número do pino LED const int buttonPin3 = 6; // número do pino pushbutton const int ledPin3 = 7; // número do pino LED // set variables int estado = 0; // variável para leitura do pushbutton int guarda_estado = LOW; // variável para armazenar valores do pushbutton nt estado2 = 0; // variável para leitura do pushbutton int guarda_estado2 = LOW; // variável para armazenar valores do pushbutton nt estado3 = 0; // variável para leitura do pushbutton int guarda_estado3 = LOW; // variável para armazenar valores do pushbutton void setup() { pinMode(ledPin, OUTPUT); // define o pino do Led como saída do Arduino pinMode(ledPin2, OUTPUT); pinMode(ledPin3, OUTPUT); pinMode(buttonPin, INPUT); // define pino do pushbutton como entrada do Arduino: pinMode(buttonPin2, INPUT); pinMode(buttonPin3, INPUT); } void loop(){ estado = digitalRead(buttonPin); // le o estado pushbutton: ligado (HIGH) ou desligado (LOW) if (estado == HIGH) { // verifica se o botão (pushbutton) está pressionado guarda_estado = !guarda_estado; // inverte valor da variável variable_buttonEstado delay(500); //esperera o tempo de 500ms para evitar que haja várias vezes alterações } if (guarda_estado == HIGH) { digitalWrite(ledPin, HIGH); // liga o led } else { digitalWrite(ledPin, LOW); // desliga o led } estado2 = digitalRead(buttonPin2); // le o estado pushbutton: ligado (HIGH) ou desligado (LOW) if (estado2 == HIGH) { // verifica se o botão (pushbutton) está pressionado guarda_estado2 = !guarda_estado2; // inverte valor da variável variable_buttonEstado delay(500); //esperera o tempo de 500ms para evitar que haja várias vezes alterações } if (guarda_estado2 == HIGH) { digitalWrite(ledPin2, HIGH); // liga o led } else { digitalWrite(ledPin2, LOW); // desliga o led } estado3 = digitalRead(buttonPin3); // le o estado pushbutton: ligado (HIGH) ou desligado (LOW) if (estado3 == HIGH) { // verifica se o botão (pushbutton) está pressionado guarda_estado3 = !guarda_estado3; // inverte valor da variável variable_buttonEstado delay(500); //esperera o tempo de 500ms para evitar que haja várias vezes alterações } if (guarda_estado3 == HIGH) { digitalWrite(ledPin3, HIGH); // liga o led } else { digitalWrite(ledPin3, LOW); // desliga o led } }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!