Advertisement
Guest User

Untitled

a guest
Nov 26th, 2015
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.61 KB | None | 0 0
  1. ///********** Proyecto **********
  2. //Lab 8: Controlar desde el Arduino, dos barras LED
  3. //(8 rojos, 4 amarillos, 4 verdes) con 2 IC 74HC595,
  4. //para mostrar el nivel de iluminación capturado con una
  5. //fotocelda
  6. ////* Autor: WILLIAM CASTILLO
  7.  
  8. // incliur libreria
  9. //Asignación de funciones para los pines 9,8 y 10 , respectivamente
  10. //y a su vez asugnar los pines análogos y la conexión de los LEDs
  11. int DataPin = 9;       //pin 9 conectado a DataIn
  12. int ClockPin = 10;     //pin 10 conectado a CLK
  13. int LatchPIN = 8;      //pin 8 conectado a LOAD/CS
  14. int POT1 = A0;         //A0 Potenciometro
  15. int t1, pos = 0;
  16. int Leds[16] = {1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65531};
  17. byte parte1, parte2;
  18.  
  19. void setup() {
  20.   /* el MAX7219 esta en modo Power-saving cuando se
  21.    inicia, se debe sacar de ese estado*/
  22.   pinMode(POT1, INPUT);
  23.   pinMode(LatchPIN, OUTPUT);
  24.   pinMode(DataPin, OUTPUT);
  25.   pinMode(ClockPin, OUTPUT);
  26.   Serial.begin(9600);
  27. }
  28.  
  29. void loop()
  30. {
  31.   //Ejecucion del programa
  32.   t1 = analogRead(POT1);
  33.   pos = map(t1, 0, 700, 0, 15) % 15;
  34.   envio();
  35. }
  36. //Envio de datos
  37. //Establecen paremetros opcionales
  38. void envio() {
  39.   parte1 = Leds[pos] & 0x00FF;
  40.   parte2 = (Leds[pos] & 0xFF00) >> 8;
  41.   Serial.print(Leds[pos]);
  42.   Serial.print(" ");
  43.   Serial.print(parte1);
  44.   Serial.print(" ");
  45.   Serial.println(parte2);
  46.   digitalWrite(LatchPIN, 0);
  47.   //Permiten la variación en la intensidad de la luz
  48.   //De acuerdo a dicho nivel , prenden los LEDs
  49.   shiftOut(DataPin, ClockPin, MSBFIRST, parte2);
  50.   shiftOut(DataPin, ClockPin, MSBFIRST, parte1);
  51.   digitalWrite(LatchPIN, 1);
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement