Descripción
En este laboratorio vamos a leer datos de 2 potenciómetros. Estos datos los usaremos como tiempo de encendido y el tiempo de apagado para una secuencia de 8 LEDs, que se moverá de izquierda a derecha, y viceversa.
Materiales 
- Computador (con el IDE de Arduino, y el driver adecuado instalados)
 
- Tarjeta Arduino (cualquier modelo, debe corresponder al driver instalado)
 
- Cable USB (según el conector de la tarjeta Arduino)
 
- Protoboard
 
- 8 LEDs + Resistencias 220Ω
 
- 2 Potenciómetro 10KΩ
 
- Cables macho-macho
 
DIAGRAMAS
PROTOBOARD
CÓDIGO
- /********** Proyecto **********
 - * Laboratorio 02: 8 LEDs en linea controlados con Potenciometros
 - * Autor: Kevin Quintero Ramirez
 - * Descripcion:
 - * Mover un LED encendido de Izquierda a Derecha y viceversa
 - * con tiempos controlados por potenciometros
 - * Conexiones:
 - * 8 LEDs + resistencias a los pines D2 .. D9
 - * 2 Potenciometros a los pines A0 y A1
 - * Version: 1
 - */
 - /********** Librerias **********/
 - // ninguna
 - /********** Constantes **********/
 - #define POT1 A0
 - #define POT2 A1
 - #define TOTLED 8 // Total LEDs
 - /********** Objetos **********/
 - // ninguno
 - /********** Variables **********/
 - int led[TOTLED] = {
 - 2, 3, 4, 5, 6, 7, 8, 9};
 - /********** Configuracion **********/
 - void setup() {
 - int pos=0;
 - while (pos < TOTLED){
 - pinMode(led[pos], OUTPUT);
 - pos=pos+1;
 - }
 - pinMode(POT1, INPUT);
 - pinMode(POT2, INPUT);
 - } // end setup()
 - /********** Ciclo Principal **********/
 - void loop() {
 - // Sensores
 - int t_encendido = analogRead(POT1);
 - int t_apagado = analogRead(POT2);
 - // Acciones
 - for (int pos = 0; pos < TOTLED; pos++) {
 - on(led[pos], t_encendido);
 - off(led[pos], t_apagado);
 - }
 - for (int pos = TOTLED-2; pos > 0; pos--) {
 - on(led[pos], t_encendido);
 - off(led[pos], t_apagado);
 - }
 - } // end loop()
 - /********** Funciones **********/
 - // Pone en +5V el pin indicado, durante tantos milisegundos
 - void on(int pin, int ms){
 - digitalWrite(pin, HIGH);
 - delay(ms);
 - } // end on()
 - // Pone en GND el pin indicado, durante tantos milisegundos
 - void off(int pin, int ms){
 - digitalWrite(pin, LOW);
 - delay(ms);
 - } // end off()
 - /********** Fin ***********/
 












No hay comentarios.:
Publicar un comentario