Advertisement
RuiViana

Display

Dec 1st, 2015
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.55 KB | None | 0 0
  1. LiquidCrystal lcd(12, 11, 10, 9, 8, 7); //define quais portas o lcd usara
  2.  
  3. int contagem = 0;
  4. const int bot1 = 2;
  5. const int bot2 = 3;
  6. const int bot3 = 4; // Define quais portas os botoes usarao
  7. const int ledPin = 13; // Pino do led
  8. int pot = A0; // Pino do potenciometro
  9. unsigned int Dly = 500; // Valor de delay para display
  10.  
  11. //------------------------------------------
  12. void setup() // Comandos perpetuos
  13. {
  14. pinMode(ledPin, OUTPUT); // Inicializa o led como saida:
  15. pinMode(bot1, INPUT); // Inicializa os botoes como entrada:
  16. pinMode(bot2, INPUT);
  17. pinMode(bot3, INPUT);
  18. lcd.begin(16, 2); // Define o número de colunas e linhas do LCD
  19. }
  20. //------------------------------------------
  21. void Disp_Linha()
  22. {
  23. lcd.clear(); // Limpa a tela
  24. lcd.setCursor(1, 0); // Posiciona o cursor na coluna 1, linha 0;
  25. lcd.print("IFSC ARARANGUA"); // Envia o texto entre aspas para o LCD
  26. lcd.setCursor(1, 1); // Posiciona o cursor na coluna 1, linha 1;
  27. }
  28. //------------------------------------------
  29. void loop() // Comandos que serao repetidos
  30. {
  31. Disp_Linha();
  32. lcd.print("Roger e Matheus"); // Envia o texto entre aspas para o LCD
  33. delay(Dly);
  34. if (digitalRead(bot1) == HIGH) // Se o botao um for pressionado
  35. {
  36. digitalWrite(ledPin, HIGH); // Liga o led:
  37. Disp_Linha();
  38. lcd.print("Lede ligado"); // Envia o texto entre aspas para o LCD
  39. delay(Dly);
  40. if (digitalRead(bot1) == HIGH) // Se o botao um for pressionado novamente
  41. {
  42. digitalWrite(ledPin, LOW); // desliga o LED:
  43. Disp_Linha();
  44. lcd.print("LED desligado"); // Envia o texto entre aspas para o LCD
  45. delay(Dly);
  46. }
  47. }
  48. if (digitalRead(bot2) == HIGH) // Se o botao dois for pressionado
  49. {
  50. Disp_Linha();
  51. lcd.print(map(analogRead(pot), 0 , 1023, 0, 5)); // Escreve a tensao lida no potenciometro no lcd // A funcao map faz a conversao de um valor dentro de uma escala para outra escala
  52. delay(Dly);
  53. }
  54. if (digitalRead(bot3) == HIGH) // Se o botao tres for pressionado
  55. {
  56. if (digitalRead(bot1) == HIGH) // Se o botao um for pressionado
  57. {
  58. int contagem = contagem + 1; // Adiciona um a contagem
  59. Disp_Linha();
  60. lcd.print(contagem); // Escreve a contagem no lcd
  61. delay(Dly);
  62. }
  63. if (digitalRead(bot2) == HIGH) // Se o botao dois for pressionado
  64. {
  65. int contagem = contagem - 1; // Retira um da contagem
  66. Disp_Linha();
  67. lcd.print(contagem); // Escreve a contagem no lcd
  68. delay(Dly);
  69. }
  70. }
  71. if (digitalRead(bot1) == HIGH && digitalRead(bot2) == HIGH && digitalRead(bot3) == HIGH) //// se os tres botoes forem pressionados ao mesmo tempo
  72. { // Controla o brilho do led com o valor lido no potenciometro
  73. digitalWrite(ledPin, map(analogRead(pot), 0 , 1023, 0, 255));
  74. Disp_Linha();
  75. lcd.print(map(analogRead(pot), 0 , 1023, 0, 100)); // escreve a porcentagem de brilho do led
  76. delay(500);
  77. }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement