martes, 16 de agosto de 2016

Desplazamiento de luces Led Arduino - Práctica 03

Desplazamiento de luces Led con Arduino

Programa:

/*
  Luces desplazamiento de registro "By Frank-Tattoo"
  Enciende un diodo LED durante un segundo, despues lo apaga un segundo encendiendo el siguiente.
 */

// Encendido y apagado de 6 LEDs

int ledPin1 = 12; // Define las salidas de los LED´s

int ledPin2 = 11;

int ledPin3 = 10;

int ledPin4 = 9;

int ledPin5 = 8;

int ledPin6 = 7;

void setup() { // Configura las SALIDAS

pinMode(ledPin1, OUTPUT); // declarar LEDs como SALIDAS

pinMode(ledPin2, OUTPUT);

pinMode(ledPin3, OUTPUT);

pinMode(ledPin4, OUTPUT);

pinMode(ledPin5, OUTPUT);

pinMode(ledPin6, OUTPUT);

digitalWrite(ledPin1, LOW); // Apaga los LEDs

digitalWrite(ledPin2, LOW);

digitalWrite(ledPin3, LOW);

digitalWrite(ledPin4, LOW);

digitalWrite(ledPin5, LOW);

digitalWrite(ledPin6, LOW);

}

void loop(){ //Bucle de Funcionamiento

digitalWrite(ledPin1, HIGH); // Apaga y enciende los leds el tiempo configurado

delay(1000);

digitalWrite(ledPin1, LOW);

delay(1000);

digitalWrite(ledPin2, HIGH);

delay(1000);

digitalWrite(ledPin2, LOW);

delay(1000);

digitalWrite(ledPin3, HIGH);

delay(1000);

digitalWrite(ledPin3, LOW);

delay(1000);

digitalWrite(ledPin4, HIGH);

delay(1000);

digitalWrite(ledPin4, LOW);

delay(1000);

digitalWrite(ledPin5, HIGH);

delay(1000);

digitalWrite(ledPin5, LOW);

delay(1000);

digitalWrite(ledPin6, HIGH);

delay(1000);

digitalWrite(ledPin6, LOW);

delay(1000);

}



Podemos quitar el tiempo de apagado, así según se apaga una luz, se enciende otra. El programa sería el siguiente:

Programa:

/*
  Luces desplazamiento de registro "By Frank-Tattoo"
  Enciende un diodo LED durante un segundo, despues lo apaga un segundo encendiendo el siguiente.
 */

// Encendido y apagado de 6 LEDs

int ledPin1 = 12; // Define las salidas de los LED´s

int ledPin2 = 11;

int ledPin3 = 10;

int ledPin4 = 9;

int ledPin5 = 8;

int ledPin6 = 7;

void setup() { // Configura las SALIDAS

pinMode(ledPin1, OUTPUT); // declarar LEDs como SALIDAS

pinMode(ledPin2, OUTPUT);

pinMode(ledPin3, OUTPUT);

pinMode(ledPin4, OUTPUT);

pinMode(ledPin5, OUTPUT);

pinMode(ledPin6, OUTPUT);

digitalWrite(ledPin1, LOW); // Apaga los LEDs

digitalWrite(ledPin2, LOW);

digitalWrite(ledPin3, LOW);

digitalWrite(ledPin4, LOW);

digitalWrite(ledPin5, LOW);

digitalWrite(ledPin6, LOW);

}

void loop(){ //Bucle de Funcionamiento

digitalWrite(ledPin1, HIGH); // Apaga y enciende los leds el tiempo configurado

delay(1000);

digitalWrite(ledPin1, LOW);

digitalWrite(ledPin2, HIGH);

delay(1000);

digitalWrite(ledPin2, LOW);

digitalWrite(ledPin3, HIGH);

delay(1000);

digitalWrite(ledPin3, LOW);

digitalWrite(ledPin4, HIGH);

delay(1000);

digitalWrite(ledPin4, LOW);

digitalWrite(ledPin5, HIGH);

delay(1000);

digitalWrite(ledPin5, LOW);

digitalWrite(ledPin6, HIGH);

delay(1000);

digitalWrite(ledPin6, LOW);

}


Frank.

lunes, 15 de agosto de 2016

Luz intermitente con resistencia en Arduino - Practica 02

Luz intermitente con resistencia en Arduino - Practica 02

Programa:

/*
  Luz Intermitente con resistencia "By Frank-Tattoo"
  Enciende un diodo LED durante un segundo, despues lo apaga un segundo.
 */

// asignamos el Pin 12, tiene un LED conectado en el pin 12 con una resistencia.

int led = 12;


void setup() {               
  // inicializamos el pin digital como salida.
  pinMode(led, OUTPUT);    
}

// loop realiza la rutina de reiniciar y finalizar continumente el proceso:
void loop() {
  digitalWrite(led, HIGH);   // Conecta el diodeo LED encendido (nivel de voltage alto)
  delay(1000);               // espera un segundo
  digitalWrite(led, LOW);    // desconecta el diodo LED turn the LED (nivel de voltage bajo)
  delay(1000);               // espera un segundo
}




 Modificando el programa de la siguiente forma (delay) conseguimos que el diodo led se encienda y se apague durante 3 segundos. (se puede apreciar al final del vídeo.

Programa:

/*
  Luz Intermitente con resistencia "By Frank-Tattoo"
  Enciende un diodo LED durante tres segundos, después lo apaga tres segundos.
 */

// asignamos el Pin 12, tiene un LED conectado en el pin 12 con una resistencia.

int led = 12;


void setup() {               
  // inicializamos el pin digital como salida.
  pinMode(led, OUTPUT);    
}

// loop realiza la rutina de reiniciar y finalizar continumente el proceso:
void loop() {
  digitalWrite(led, HIGH);   // Conecta el diodeo LED encendido (nivel de voltage alto)
  delay(3000);               // espera tres segundo
  digitalWrite(led, LOW);    // desconecta el diodo LED turn the LED (nivel de voltage bajo)
  delay(3000);               // espera tres segundo
}

Frank.

Luz intermitente con Arduino - Practica 01

Luz intermitente con Arduino

Programa:

/*
  Luz Intermitente "By Frank-Tattoo"
  Enciende un diodo LED durante un segundo, despues lo apaga un segundo.
 */

// asignamos el Pin 13, tiene un LED conectado en el pin 13 con una resistencia.

int led = 13;


void setup() {               
  // inicializamos el pin digital como salida.
  pinMode(led, OUTPUT);    
}

// loop realiza la rutina de reiniciar y finalizar continumente el proceso:
void loop() {
  digitalWrite(led, HIGH);   // Conecta el diodeo LED encendido (nivel de voltage alto)
  delay(1000);               // espera un segundo
  digitalWrite(led, LOW);    // desconecta el diodo LED turn the LED (nivel de voltage bajo)
  delay(1000);               // espera un segundo
}



Frank.

domingo, 20 de marzo de 2016

Sensor de ultrasonidos HC-SR04

El sensor de ultrasonidos HC-SR04 es uno de los sensores que se utilizan para medir 

distancias o superar obstáculos, entre otras funciones.

Para esta práctica vamos a utilizarlo para la medición de distancias. El sensor funciona enviando un ultrasonido a través de uno de la pareja de cilindros que compone el sensor (un transductor) y espera a que dicho sonido rebote sobre un objeto y vuelva, retorno captado por el otro cilindro.
El sensor HC-SR04 tiene un rango de distancias sensible entre 3cm y 3m con una precisión de 3mm.


El sensor consta de 4 pines: "VCC" conectado a la salida de 5V de la placa, "Trig" conectado al pin digital de la placa encargado de enviar el pulso ultrasónico, "Echo" al pin de entrada digital que recibirá el eco de dicho pulso y "GND" a tierra.


Programa:

/*
  Medidor de sistancia Ultrasonidos HC-SR04 "By Frank-Tattoo"
 */
const int EchoPin = 5;
const int TriggerPin = 6;
const int LedPin = 13;

void setup() {
    Serial.begin(9600);
    pinMode(LedPin, OUTPUT);
    pinMode(TriggerPin, OUTPUT);
    pinMode(EchoPin, INPUT);
}

void loop() {
    int cm = ping(TriggerPin, EchoPin);
    Serial.print("Distancia: ");
    Serial.println(cm);
    delay(1000);
}

int ping(int TriggerPin, int EchoPin) {
    long duration, distanceCm;
  
    digitalWrite(TriggerPin, LOW);  //para generar un pulso limpio ponemos a LOW 4us
    delayMicroseconds(4);
    digitalWrite(TriggerPin, HIGH);  //generamos Trigger (disparo) de 10us
    delayMicroseconds(10);
    digitalWrite(TriggerPin, LOW);
  
    duration = pulseIn(EchoPin, HIGH);  //medimos el tiempo entre pulsos, en microsegundos
  
    distanceCm = duration * 10 / 292/ 2;   //convertimos a distancia, en cm
    return distanceCm;
}

 
Esto es lo que se monitorizaría en el monitor Serie: 
 


Frank.


viernes, 15 de enero de 2016

Secuencia de las luces de un semaforo

Se trata de encender y apagar 3 LEDs colocados en las salidas 6, 7 y 8 (PIN6, PIN7 y PIN8) con una cadencia que configuramos. Las variables asignadas a cada led son ledPin1, ledPin2 y ledPin3.

El circuito de instalación sería el siguiente:



El programa sería el siguiente:

// Encendido y apagado de 3 LEDs
int ledPin1 = 6; // Define las salidas de los LED´s
int ledPin2 = 7;
int ledPin3 = 8;
void setup() { // Configura las SALIDAS
pinMode(ledPin1, OUTPUT); // declarar LEDs como SALIDAS
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
digitalWrite(ledPin1, LOW); // Apaga los LEDs
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
}
void loop(){ //Bucle de Funcionamiento
digitalWrite(ledPin1, HIGH); // Apaga y enciende los leds el tiempo configurado
delay(16000);
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, HIGH);
delay(200);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, HIGH);
delay(16000);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin2, HIGH);
delay(200);
digitalWrite(ledPin2, LOW);
}

En el siguiente vídeo se puede apreciar el montaje de la práctica y la muestra del funcionamiento en placa Prto-Board.





Frank