Advertisement
tiodocomputador

Multiplexador 4067

Jun 13th, 2014
283
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.53 KB | None | 0 0
  1. #include <LiquidCrystal.h>
  2. #include <Wire.h>
  3. //LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
  4. //Estes valores quando trabalhar na protoboard
  5. LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
  6. //Estes valores quando trabalhar no proteus
  7.  
  8.  
  9. //Mux control pins
  10. int r0 = 2;
  11. int r1 = 3;
  12. int r2 = 4;
  13. int r3 = 5;
  14.  
  15. int comum = 6;
  16.  
  17. int led;
  18.  
  19. int fator = 1;
  20. int Taceso = 250;
  21. int Tapagado = Taceso/fator;
  22.  
  23.  
  24. void setup()
  25.  
  26. {
  27.   pinMode(r0, OUTPUT);
  28.   pinMode(r1, OUTPUT);
  29.   pinMode(r2, OUTPUT);
  30.   pinMode(r3, OUTPUT);
  31.  
  32.   pinMode(comum, OUTPUT);
  33.  
  34.   digitalWrite(r0, LOW);
  35.   digitalWrite(r1, LOW);
  36.   digitalWrite(r2, LOW);
  37.   digitalWrite(r3, LOW);
  38.     digitalWrite(comum, LOW);
  39.  
  40.   Serial.begin(9600);
  41. }
  42.  
  43. void loop()
  44.  
  45. {
  46.   for (led=1; led<17; led++)
  47.   {
  48.     switch (led)
  49.     {
  50.     case 1:
  51.       {
  52.         digitalWrite(r0, LOW);
  53.         digitalWrite(r1, LOW);
  54.         digitalWrite(r2, LOW);
  55.         digitalWrite(r3, LOW);  
  56.         //0000      
  57.       }
  58.       break;
  59.     case 2:
  60.       {
  61.         digitalWrite(r0, HIGH);
  62.         digitalWrite(r1, LOW);
  63.         digitalWrite(r2, LOW);
  64.         digitalWrite(r3, LOW);
  65.         //0001    
  66.       }
  67.       break;
  68.     case 3:  
  69.       {
  70.         digitalWrite(r0, LOW);
  71.         digitalWrite(r1, HIGH);
  72.         digitalWrite(r2, LOW);
  73.         digitalWrite(r3, LOW);
  74.         //0010      
  75.       }
  76.       break;
  77.     case 4:
  78.       {
  79.         digitalWrite(r0, HIGH);
  80.         digitalWrite(r1, HIGH);
  81.         digitalWrite(r2, LOW);
  82.         digitalWrite(r3, LOW);
  83.         //0011    
  84.       }
  85.       break;
  86.     case 5:
  87.       {
  88.         digitalWrite(r0, LOW);
  89.         digitalWrite(r1, LOW);
  90.         digitalWrite(r2, HIGH);
  91.         digitalWrite(r3, LOW);
  92.         //0100      
  93.       }
  94.       break;
  95.     case 6:
  96.       {
  97.         digitalWrite(r0, HIGH);
  98.         digitalWrite(r1, LOW);
  99.         digitalWrite(r2, HIGH);
  100.         digitalWrite(r3, LOW);  
  101.         //0101      
  102.       }
  103.       break;
  104.     case 7:
  105.       {
  106.         digitalWrite(r0, LOW);
  107.         digitalWrite(r1, HIGH);
  108.         digitalWrite(r2, HIGH);
  109.         digitalWrite(r3, LOW);  
  110.         //0110    
  111.       }
  112.       break;
  113.     case 8:
  114.       {
  115.         digitalWrite(r0, HIGH);
  116.         digitalWrite(r1, HIGH);
  117.         digitalWrite(r2, HIGH);
  118.         digitalWrite(r3, LOW);
  119.         //0111    
  120.       }
  121.     case 9:
  122.       {
  123.         digitalWrite(r0, LOW);
  124.         digitalWrite(r1, LOW);
  125.         digitalWrite(r2, LOW);
  126.         digitalWrite(r3, HIGH);
  127.         //1000      
  128.       }
  129.     case 10:
  130.       {
  131.         digitalWrite(r0, HIGH);
  132.         digitalWrite(r1, LOW);
  133.         digitalWrite(r2, LOW);
  134.         digitalWrite(r3, HIGH);
  135.         //1001      
  136.       }
  137.     case 11:
  138.       {
  139.         digitalWrite(r0, LOW);
  140.         digitalWrite(r1, HIGH);
  141.         digitalWrite(r2, LOW);
  142.         digitalWrite(r3, HIGH);
  143.         //1010    
  144.       }
  145.     case 12:
  146.       {
  147.         digitalWrite(r0, HIGH);
  148.         digitalWrite(r1, HIGH);
  149.         digitalWrite(r2, LOW);
  150.         digitalWrite(r3, HIGH);
  151.         //1011    
  152.       }
  153.     case 13:
  154.       {
  155.         digitalWrite(r0, LOW);
  156.         digitalWrite(r1, LOW);
  157.         digitalWrite(r2, HIGH);
  158.         digitalWrite(r3, HIGH);  
  159.         //1100    
  160.       }
  161.     case 14:
  162.       {
  163.         digitalWrite(r0, HIGH);
  164.         digitalWrite(r1, LOW);
  165.         digitalWrite(r2, HIGH);
  166.         digitalWrite(r3, HIGH);  
  167.         //1101    
  168.       }
  169.     case 15:
  170.       {
  171.         digitalWrite(r0, LOW);
  172.         digitalWrite(r1, HIGH);
  173.         digitalWrite(r2, HIGH);
  174.         digitalWrite(r3, HIGH);
  175.         //1110    
  176.       }
  177.     case 16:
  178.       {
  179.         digitalWrite(r0, HIGH);
  180.         digitalWrite(r1, HIGH);
  181.         digitalWrite(r2, HIGH);
  182.         digitalWrite(r3, HIGH);  
  183.         //1111    
  184.       }
  185.       break;
  186.     }
  187.     escreve();
  188.   }
  189. }
  190.  
  191.  
  192. void escreve()
  193. {
  194.   digitalWrite(comum, HIGH);   // turn the LED on (HIGH is the voltage level)
  195.   {
  196.     Serial.print("Led ativo: ");
  197.     Serial.print(led);
  198.     Serial.println(".");
  199.  
  200.     lcd.setCursor(0,0);
  201.     lcd.print("Led ativo:");
  202.     lcd.setCursor(0,1);
  203.     lcd.print(led);
  204.     lcd.print(".");
  205.   }
  206.   delay(Taceso);              // wait for a second
  207.   digitalWrite(comum, LOW);    // turn the LED off by making the voltage LOW
  208.   delay(Tapagado);
  209. }
  210.  
  211. //void escreve()
  212. //{
  213. //  {
  214. //    Serial.print("Led ativo: ");
  215. //    Serial.print(led);
  216. //    Serial.println(".");
  217.  
  218. //    lcd.setCursor(0,0);
  219. //    lcd.print("Led ativo:");
  220. //    lcd.setCursor(1,0);
  221. //    lcd.print(led);
  222. //    lcd.print(".");
  223. //  }
  224. //}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement