Actualizado el 21 de Marzo del 2018 (Publicado el 10 de Enero del 2018)
4.811 visualizaciones desde el 10 de Enero del 2018
1,4 MB
73 paginas
Creado hace 15a (23/08/2008)
Prácticas con Arduino Nivel I
Prácticas con Arduino Nivel I
José Manuel Ruiz Gutiérrez
1
Prácticas con Arduino Nivel I
Índice de Aplicaciones practicas
1. Intermitente
2. Alarma-1
3. Secuencia Básica de 3 LEDs
4. Lectura de un pulsador
5. Lectura de un sensor de inclinación
6. Potenciómetro: Lectura de señal Analógica
7. El coche fantástico
8. Estrella fugaz
9. Contador
10. Contador de 0 a 10
11. Entrada Analógica
12. Simulación de la luz de una vela
13. Construcción de un indicador de nivel (vumetro con diodos led)
14. Encendido y apagado de una luz de manera analógica
15. Control de la iluminación de una lámpara.
16. Sensor de Luz o LDR (Light Dependent Resistor):
17. Sensor de temperatura o NTC
18. Sensor de Fuerza.
19. Generador de notas musicales
20. Toca tonos desde el puerto serial
2
Prácticas con Arduino Nivel I
21. Timbre de llamada
22. Enciende y apaga un número de veces un LED
23. Control de un motor de cc con un transistor
24. Control de un motor de cc con el driver L293D
25. Control de un motor: velocidad variable y sentido de giro variable
26. Control de un motor: velocidad variable y sentido de giro variable (2ª
opción)
27. Utiliza un relé para encender dispositivos de 220V
Nota: Los materiales recogidos en este documento, listados de código y algunos textos
explicativos han sido recogidos en la pagina Web oficial de Arduino
(http://www.arduino.cc/es/ y http://www.arduino.cc), correspondiendo al autor de este
documento la labor de compilación, traducción e incorporación de imágenes,
organigramas y esquemas de funcionamiento.
3
Prácticas con Arduino Nivel I
Intermitente
1.
Se trata de realizar un ejercicio básico que consiste en encender y a pagar un led que
conectamos en el PIN 13 de Arduino que lo configuramos como salida. El tiempo de
encendido y apagado es de 1 segundo.
Organigrama y Esquema
Organigrama y esquema de conexionado con la tarjeta Arduino
Obsérvese que se ha colocado el diodo led sin resistencia en serie dado que el PIN13 de
Arduino ya lleva incorporada una resistencia interior, en el caso de colocar el diodo
LED en otra salida deberíamos colocar una resistencia de al entre 220 y 500 ohmios
dependiendo del consumo de corriente del diodo
4
Prácticas con Arduino Nivel I
Conexionado a realizar en el caso de realizar la salida por el PIN 10
Programa
/*
* Intermitente
*
* Ejemplo básico con Arduino. Encendido y apagado de un led
* con una cadencia de 1 sg. usando el PIN 13 como salida
* no es necesario usar una resistencia para el led
* la salida 13 de Arduino la lleva incorporada.
*
* http://www.arduino.cc/en/Tutorial/Blink
*/
int ledPin = 13;
void setup()
{
pinMode(ledPin, OUTPUT); // designa la salida digital al PIN 13
}
void loop()
{
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}
// activa el LED
// espera 1 seg. (tiempo encendido)
// desactiva el LED
// espera 1 seg. (tiempo apagado)
// Definición de la salida en el PIN 13
//Configuración
// bucle de funcionamiento
5
Prácticas con Arduino Nivel I
2. Alarma-1
Cuando se pulsa el pulsador (entrada5 a “0”) se enciende y se apaga de forma
intermitente la salida 13
LED
10K
PIN 13 220 ohm
+5V
PIN5
Intermitente
Configuración E/S
SD PIN13
ED PIN 5
Boleana val=0
Leer
val=PIN 5
si
val=HIGH
no
Activa Salida
PIN 13=HIGH
Desactiva Salida
PIN 13=LOW
Delay (200 ms)
Desactivar Salida
PIN13=LOW
Delay (200 ms)
Funcionamiento:
Cuando la E5 = 1 Entonces S13 = 0
Cuando la E5 = 0 Entonces S13 = 0-1 (Intermitente 200,200 ms)
6
Prácticas con Arduino Nivel I
Programa:
int ledPin= 13; // choose the pin for the LED
int inPin= 5; // choose the input pin (for a pushbutton)
int val= 0; // variable for reading the pin status
void setup() {
pinMode(ledPin, OUTPUT); // declare LED as output
pinMode(inPin, INPUT); // declare pushbutton as input
}
void loop(){
val= digitalRead(inPin); // lee valor de entrada
if(val== HIGH) { // chequea si el valor leído es “1” (botón presionado)
digitalWrite(ledPin, LOW); // pone el LED en OFF
} else{
digitalWrite(ledPin, LOW); // parpadea el LED
delay(200);
digitalWrite(ledPin, HIGH);
delay(200);
}
}
7
Prácticas con Arduino Nivel I
3. Secuencia Básica de 3 LEDs
Se trata de encender y apagar 3 LEDs colocados en las salidas 6, 7 y 8 (PIN6, PIN7 y
PIN8) con una cadencia de 200 ms. Las variables asignadas a cada led son ledPin1,
ledPin2 y ledPin3
ledPin1
Intermitente
Configuración E/S
SD PIN 6 ledPin1
SD PIN 7 ledPin2
SD PIN 8 ledPin3
PIN 6 220 ohm
ledPin2
PIN 7 220 ohm
ledPin3
PIN 8 220 ohm
Activa ledPin1
PIN6=HIGH
Activa ledPin2
PIN7=HIGH
Delay (200 ms)
Delay (200 ms)
Desactivar ledPin1
Desactivar ledPin2
PIN6=LOW
PIN7=LOW
Delay (200 ms)
Delay (200 ms)
Activa ledPin3
PIN8=HIGH
Delay (200 ms)
Desactivar ledPin3
PIN8=LOW
Delay (200 ms)
Programa
// 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);
8
Prácticas con Arduino Nivel I
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 cada 200 ms
delay(200);
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, HIGH);
delay(200);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, HIGH);
delay(200);
digitalWrite(ledPin3, LOW);
}
Montaje con la tarjeta Arduino
9
Prácticas con Arduino Nivel I
4. Lectura de un pulsador
Descripción del ejercicio
El pulsador es un componente que conecta dos puntos de un circuito cuando es
presionado.
Para generar una señal de tensión con el pulsador, se necesita un divisor de tensión.
Ejemplo:
La resistencia Rabajo(pull-down) en el primer circuito fuerza a Vout, llegando a nivel
CERO, hasta que se acciona el pulsador. Este circuito entrega una tensión alta, cuando
se presiona el pulsador. Un valor para la resistencia de 10 k es adecuada.
En el segundo circuito, la resistencia Rarriba (pull-up) fuerza a nivel ALTO a Vout,
mientras no se actúe sobre el pulsador. Al presionar el pulsador, se conecta Vout
directamente con 0 V. Es decir, este circuito entrega un nivel BAJO cuando se presiona
el pulsador.
Elementos necesarios:
• Un resistencia de 1K Ohmios.
• Un pulsador.
• Un diodo LED
• Cables para realizar las conexiones.
10
Prácticas con Arduino Nivel I
Se utiliza una resistencia pull-dowm, junto con un pulsador, para conectarla a un pin de
entrada digital, y de esta forma, poder saber cuando el pulsador es presionado. Si el
pulsador está presionado, el valor del pin 10 será de 0 voltios (LOW) en caso contrario
será de + 5 voltios (HIGH).
En una placa protoboard debe haber una resistencia de 10K conectada entre el pin de
entrada y tierra como se ve el esquema y foto inferiores.
LED
10K
PIN 13
Botón
+5V
PIN10
Lectura
Pulsador
Configuración E/S
SD PIN 13 LED
ED PIN 10 Pulsador
value=0 (estado Pulsador)
Hacer que
value=Pulsador
Hacer que
LED=valor
Esquema
11
Prácticas con Arduino Nivel I
Código fuente
/* Pulsador
* --------
*
* Detecta si el botón ha sido presionado o no
* y enciende el LED en consecuencia.
*
* Massimo Banzi
*
*/
int ledPin = 13; // PIN del LED
int inPin = 10; // PIN del pulsador
int value = 0; // Valor del pulsador
void setup() {
pinMode(ledPin, OUTPUT); // Inicializa el pin 13 como salida digital
pinMode(inPin, INPUT); // Inicializa el pin 10 como entrada digital
}
void loop() {
value = digitalRead(inPin); // Lee el valor de la entrada digital
digitalWrite(ledPin, value);
}
12
Prácticas con Arduino Nivel I
5. Lectura de un sensor de inclinación
Descripción del ejercicio
El sensor de inclinación es un componente que puede detectar la inclinación de un
objeto. Sin embargo, no deja de ser un pulsador activado por un mecanismo físico
diferente. Este tipo de sensor es la versión ecológica de un interruptor de mercurio.
Contiene una bola metálica en su interior que conmuta los dos pines del dispositivo de
encendido a apagado, y viceversa, si el sensor llega a un cierto ángulo.
Lectura
Sensor
Configuración E/S
SD PIN 13 LED
ED PIN 7 Sensor Posiciónr
value=0 (estado Sensor)
PIN 13
LED
10K
+5V
Sensor
10 K
PIN7
Hacer que
value=Sensor
Hacer que
LED=valor
El código de ejemplo es el mismo que se empleó para el ejemplo del pulsador, pero
sustituyendo este último por el sensor de inclinación. Usamos una resistencia de pull-up
(de esta manera usamos la "activación a nivel bajo" para activar los pines) y conectamos
el sensor al pin de entrada digital que leeremos cuando lo necesitemos.
Se ha utilizado una resistencia de 1K para montar la resistencia de pull-up y el sensor.
Hemos elegido un sensor de inclinación de Assemtech.
Elementos necesarios:
• Una resistencia de 10K Ohmios.
• Un sensor de inclinación Assemtech.
• Un diodo LED.
• Cables para realizar las conexiones.
13
Prácticas con Arduino Nivel I
El esquema es el mismo que en el del ejemplo del pulsador
Código f
Comentarios de: Practicas con Arduino Nivel I (0)
No hay comentarios