Advertisement
Guest User

Charlieplexing Arduino

a guest
Mar 22nd, 2012
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.19 KB | None | 0 0
  1. #include <stdlib.h>
  2.  
  3. byte tempChar = 0;
  4.  
  5. void setup()
  6. {
  7.   Serial.begin(9600);
  8.  
  9. }
  10.  
  11.  
  12. void loop()
  13. {
  14.  
  15.   if(Serial.available() > 0)
  16.   {
  17.     tempChar = 0;
  18.    
  19.       char temp = char(Serial.read());
  20.      
  21.       tempChar = atoi(&temp);
  22.    
  23.     Serial.println(tempChar, DEC);
  24.   }
  25.  
  26.   Range(tempChar);
  27.  
  28. }
  29.  
  30. void Range(byte input)
  31. {
  32.  
  33.   if(input == 1)
  34.  {
  35.    Charlie(1);
  36.    
  37.  }
  38.  else if(input == 2)
  39.  {
  40.    for(byte i = 1; i < 3; i++)
  41.    {
  42.      Charlie(i);
  43.    }
  44.    
  45.  }
  46.  else if(input == 3)
  47.  {
  48.    
  49.    for(byte i = 1; i < 4; i++)
  50.    {
  51.      Charlie(i);
  52.      delay(4);
  53.    }
  54.    
  55.  }
  56.  else if(input == 4)
  57.  {
  58.    for(byte i = 1; i < 5; i++)
  59.    {
  60.      Charlie(i);
  61.      delay(4);
  62.    }
  63.    
  64.  }
  65.  else if(input == 5)
  66.  {
  67.    for(byte i = 1; i < 6; i++)
  68.    {
  69.      Charlie(i);
  70.      delay(0);
  71.    }
  72.    
  73.  }
  74.  else if(input == 6)
  75.  {
  76.    for(byte i = 1; i < 7; i++)
  77.    {
  78.      Charlie(i);
  79.      delay(0);
  80.    }
  81.    
  82.  }
  83.  else
  84.  {
  85.    Charlie(0);
  86.  }
  87.  
  88.  
  89. }
  90.  
  91.  
  92.  
  93.  
  94. void Charlie(byte input)
  95. {
  96.  
  97.  if(input == 1)
  98.  {
  99.    pinMode(2, OUTPUT);
  100.    pinMode(3, OUTPUT);
  101.    pinMode(4, INPUT);
  102.    
  103.    digitalWrite(2, 1);
  104.    digitalWrite(3, 0);
  105.    digitalWrite(4, 0);
  106.    
  107.  }
  108.  else if(input == 2)
  109.  {
  110.    pinMode(2, OUTPUT);
  111.    pinMode(3, OUTPUT);
  112.    pinMode(4, INPUT);
  113.    
  114.    digitalWrite(2, 0);
  115.    digitalWrite(3, 1);
  116.    digitalWrite(4, 0);
  117.    
  118.  }
  119.  else if(input == 3)
  120.  {
  121.    pinMode(2, OUTPUT);
  122.    pinMode(3, INPUT);
  123.    pinMode(4, OUTPUT);
  124.    
  125.    digitalWrite(2, 0);
  126.    digitalWrite(3, 0);
  127.    digitalWrite(4, 1);
  128.    
  129.  }
  130.  else if(input == 4)
  131.  {
  132.    pinMode(2, OUTPUT);
  133.    pinMode(3, INPUT);
  134.    pinMode(4, OUTPUT);
  135.    
  136.    digitalWrite(2, 1);
  137.    digitalWrite(3, 0);
  138.    digitalWrite(4, 0);
  139.    
  140.  }
  141.  else if(input == 5)
  142.  {
  143.    pinMode(2, INPUT);
  144.    pinMode(3, OUTPUT);
  145.    pinMode(4, OUTPUT);
  146.    
  147.    digitalWrite(2, 0);
  148.    digitalWrite(3, 1);
  149.    digitalWrite(4, 0);
  150.    
  151.  }
  152.  else if(input == 6)
  153.  {
  154.    pinMode(2, INPUT);
  155.    pinMode(3, OUTPUT);
  156.    pinMode(4, OUTPUT);
  157.    
  158.    digitalWrite(2, 0);
  159.    digitalWrite(3, 0);
  160.    digitalWrite(4, 1);
  161.    
  162.  }
  163.  else
  164.  {
  165.    digitalWrite(2, 0);
  166.    digitalWrite(3, 0);
  167.    digitalWrite(4, 0);
  168.  }
  169.  
  170.  
  171. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement