Advertisement
tiodocomputador

Multiplexador 4067 - versao L

Jun 14th, 2014
541
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.88 KB | None | 0 0
  1. // Inclui as Libs necessarias.
  2. #include <LiquidCrystal.h>
  3. #include <Wire.h>
  4.  
  5. //LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
  6. //Estes valores quando trabalhar na protoboard
  7. LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
  8. //Estes valores quando trabalhar no proteus
  9.  
  10. //Mux control pins
  11. int r0 = 2;
  12. int r1 = 3;
  13. int r2 = 4;
  14. int r3 = 5;
  15.  
  16. int comum = 6;
  17.  
  18. int led;
  19.  
  20. int fator = 10;
  21. int Taceso = 200;
  22. int Tapagado = Taceso/fator;
  23.  
  24. // Observação: O quatro é a quantidade de itens que haverá no eixo X da matriz;
  25. int matriz[16][4] = {
  26. {0,0,0,0},
  27. {0,0,0,1},
  28. {0,0,1,0},
  29. {0,0,1,1},
  30. {0,1,0,0},
  31. {0,1,0,1},
  32. {0,1,1,0},
  33. {0,1,1,1},
  34. {1,0,0,0},
  35. {1,0,0,1},
  36. {1,0,1,0},
  37. {1,0,1,1},
  38. {1,1,0,0},
  39. {1,1,0,1},
  40. {1,1,1,0},
  41. {1,1,1,1},
  42. };
  43.  
  44.  
  45. void setup() {
  46.   pinMode(r0, OUTPUT);
  47.   pinMode(r1, OUTPUT);
  48.   pinMode(r2, OUTPUT);
  49.   pinMode(r3, OUTPUT);
  50.   pinMode(comum, OUTPUT);
  51.   digitalWrite(r0, LOW);
  52.   digitalWrite(r1, LOW);
  53.   digitalWrite(r2, LOW);
  54.   digitalWrite(r3, LOW);
  55.   digitalWrite(comum, LOW);
  56.  
  57.   Serial.begin(9600);
  58. }
  59.  
  60. void loop() {
  61.    for(int i =0; i<16; i++){
  62.     acender(matriz[i]);
  63.     escreve(i);
  64.    }
  65. }
  66.  
  67. void acender( int m[] ) {
  68.     digitalWrite(r0, m[0]);
  69.     digitalWrite(r1, m[1]);
  70.     digitalWrite(r2, m[2]);
  71.     digitalWrite(r3, m[3]);
  72. }
  73.  
  74. void escreve(int led ) {
  75.   digitalWrite(comum, HIGH);   // turn the LED on (HIGH is the voltage level)
  76.   {
  77.     ///Serial.print("Led ativo: ");
  78.     //Serial.print(led);
  79.     Serial.print(matriz[led][0]);
  80.     Serial.print(matriz[led][1]);
  81.     Serial.print(matriz[led][2]);
  82.     Serial.print(matriz[led][3]);        
  83.     Serial.println(".");
  84.  
  85.     lcd.setCursor(0,0);
  86.     lcd.print("Led ativo:");
  87.     lcd.setCursor(0,1);
  88.     lcd.print(led);
  89.     lcd.print(".");
  90.   }
  91.   delay(Taceso);              // wait for a second
  92.   digitalWrite(comum, LOW);    // turn the LED off by making the voltage LOW
  93.   delay(Tapagado);
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement