Advertisement
Guest User

Untitled

a guest
Sep 7th, 2018
334
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.35 KB | None | 0 0
  1.  
  2. int ledPin = 7; //Led no pino 7
  3. int ldrPin = 0; //LDR no pino analígico 8
  4. int ldrValor = 0; //Valor lido do LDR
  5. unsigned long tempoa;
  6. unsigned long tempob;
  7. unsigned long tempoTotal;
  8. float seg;
  9.  
  10. #include <LiquidCrystal.h>//Biblioteca do LCD
  11.  
  12. LiquidCrystal lcd(12, 11, 5, 4, 3, 2);/*Seta os pinos do LCD respectivos no arduino, na seguinte ordem:
  13.  
  14. (<pino RS>, <pino enable>, <pino D4>, <pino D5>, <pino D6>, <pino D7>) */
  15.  
  16. void setup() {
  17.  pinMode(ledPin,OUTPUT); //define a porta 7 como saída
  18.  Serial.begin(9600); //Inicia a comunicação serial
  19.  lcd.begin(16, 2); //Inicia o LCD
  20. }
  21.  
  22. void loop() {
  23.  ldrValor = analogRead(ldrPin); //Lê o valor do LDR (O valor lido será entre 0 e 1023)
  24.  
  25.  if (ldrValor<= 800 && seg != 0){
  26.   lcd.clear();//Limpa a tela
  27.   lcd.print(seg,2);//Printa com duas casas decimais na primeira linha
  28.   lcd.setCursor(0,1);//Seta para printar na segunda linha
  29.   lcd.println("Seg. de queda   ");//Printa a string, necessario os espaços no final uma vez que o NULL é mto feio
  30.   seg = 0;
  31.  }
  32.  
  33.  //se o valor lido for menor que 800 liga o Led
  34.  if (ldrValor<= 800) {
  35.   digitalWrite(ledPin,HIGH);//Liga o led
  36.   tempoa= millis(); //Inicia a contagem
  37.   }
  38.    // senão, desliga o Led
  39.  else {
  40.   digitalWrite(ledPin,LOW);//Desliga o led
  41.   tempob= millis();
  42.   tempoTotal = tempob - tempoa;
  43.   seg = tempoTotal/1000.00;
  44.   }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement