Arduino
(Material que seguiremos en clase.)
http://es.wikipedia.org/wiki/Arduino
https://elsotanodemem.wordpress.com/
http://jcb70.jimdo.com/arduino/
ARDUINO
Enlaces de mas manuales:
Libro oficial:
https://www.facebook.com/Arduinoenespanol/posts/863453187032087
Universidades
Cordoba:
Descargar manual en PDF de Arduino en Español - BricoGeek.com
Cadiz
Video Tutorial Arduino: Primeros pasos (Parte 1/2)
Arduino es una plataforma de hadware libre basada en una sencilla placa de entradas y salidas simple y un entorno de desarrollo que implementa el lenguaje de programación Processing /Wiring. Arduino se puede utilizar para desarrollar objetos interactivos autónomos o puede ser conectado a software del ordenador
Existen varias versiones de Arduino, en función de nuestro interes .
Arduino es capaz de recibir datos del exterior a través de sensores y efectuar una respuesta luminosa, encender motores, etc. Todo ello gracias a que se puede controlar usando un lenguaje de programación propio
Los diseños de Arduino son libres. Esto significa que cualquier persona puede fabricarse su placa de circuito impreso y montarse un Arduino a partir de los esquemas publicados en la Web. Si no tienes los conocimientos necesarios para hacerlo, o no quieres perder el tiempo en ello, los creadores tienen placas fabricadas y montadas industrialmente, que venden a muy bajo precio.
RESUMEN
Es una sencilla plataforma con entradas y salidas analógicas y digitales en un entorno de desarrollo
Se puede usar para el desarrollo de un objeto interactivo o puede conectarse al PC , tiene muchas posibilidades para realizar desarrollos.
Hay varias versiones de arduino:
-Placas serie -Placa serie de una capa -Placa USB
-Placa de prototipos -Bluetooth -Autónoma
Estas placa nos permiten interactuar con muchos elementos:
-Pines analógicos -Pines de alimentación y tierra
-Pines digitales -Entrada del circuito del programador serie
Video Tutorial Arduino: Primeros pasos (Parte 2/2)
Video Tutorial Arduino: Led RGB y Pulsadores.
Simuladores Gratuitos.
FRITZING
"this image was created with Fritzing."
FRITZING es un programa de código abierto, gratuito que se puede utilizar en cualquier entorno, podemos simular circuitos en modo real y automáticamente te crea el esquema electrónico y la placa. No necesita instalación, solo tienes que buscar el ejecutable y crear un acceso directo. Si quieres publicar tus circuitos, solo tiene que tener la imagen acompañada del siguiente texto "this image was created with Fritzing." en español "Esta imagen ha sido creada con Fritzing."
Para descargar cualquier versión pincha en el siguiente enlace, si lo que quieres es utilizarlo en los ordenadores del instituto, descargalo al final de la pagina.
Enlaces de interes:
1- Actividad
LED PARPADEANTE
a) Sigue las directrices del profesor para el montaje de un diodo y su resistencia, conecta la placa arduino al ordenador, arranca el programa del entorno de desarrollo de arduino que se encuentra en Aplicaciones/Educación/Tecnología/ (Recuerda que tienes que decirle al programa que tarjeta es y el tipo de conexión) copia y pega el programa que esta mas abajo.
b) Juega con el comando DELAY cambiando el valor y observando lo que ocurre
Actividades Resueltas
https://docs.google.com/View?id=ddbjpftq_152g4ncb3gk&pli=1
Ejercicio 1
diodo leds parpadeante.
Código fuente
/* LED PARPADEANTE
* ---------------
*
* Enciende y Apaga un LED (Diodo Emisor de Luz) conectado a un pin
* digital en intervalos de 2 segundos. Usamos el pin 13 de la placa
* Arduino ya que este usa una resistencia que nos permite conectar
* un LED directamente.
*
* Creado Junio, 1 2005
* copyleft 2005 DojoDave <http://www.0j0.org>
*
* basado en un orginal de H. Barragan para la placa Wiring i/o board
*/
int ledPin = 13; // LED conectado al pin 13
void setup() {
pinMode(ledPin, OUTPUT); // asigna el pin digital pin como output (salida)
}
void loop() {
digitalWrite(ledPin, HIGH); // enciende el LED (on)
delay(1000); // espera por un segundo
digitalWrite(ledPin, LOW); // apaga el LED (off)
delay(1000); // espera por un segundo
}
2- Actividad
EL COCHE FANTASTICO
a) Sigue las directrices del profesor para el montaje de seis diodos y sus resistencias (de 100ohm a 300 ohm), conecta la placa arduino al ordenador, arranca el programa del entorno de desarrollo de arduino que se encuentra en Aplicaciones/Educación/Tecnología/ (Recuerda que tienes que decirle al programa que tarjeta es y el tipo de conexión) copia y pega el programa que esta mas abajo.
b) Repite la actividad con los dos ejemplos mas de programación (hacen lo mismo pero están programando de diferente forma). Estudia las diferencias entre los programas.
c) Juega con uno de los programas para que las luces varíen tal como te indique el profesor
d)Publica en tu pagina web en una sección nueva la experiencia de las dos practicas.
Simulación con FRITZING (foto y archivo)
Fotografías propias del montaje.
Explicación de la practica.
programa utilizado.
Ejercicio 2
Código fuente
Ejemplo 1
/* El coche fantástico 1
* ---------------------
*
* Basicamente una extensión del LED parpadeante.
*
*
* (cleft) 2005 K3, Malmo University
* @author: David Cuartielles
* @hardware: David Cuartielles, Aaron Hallborg
*/
int pin2 = 2; // PIN-es de los LED
int pin3 = 3;
int pin4 = 4;
int pin5 = 5;
int pin6 = 6;
int pin7 = 7;
int timer = 100; // Temporizador
void setup(){
pinMode(pin2, OUTPUT); // Configuración de los PIN-es como salida
pinMode(pin3, OUTPUT);
pinMode(pin4, OUTPUT);
pinMode(pin5, OUTPUT);
pinMode(pin6, OUTPUT);
pinMode(pin7, OUTPUT);
}
void loop() {
digitalWrite(pin2, HIGH); // Enciende y apaga secuencialmente los LED-s
delay(timer);
digitalWrite(pin2, LOW);
delay(timer);
digitalWrite(pin3, HIGH);
delay(timer);
digitalWrite(pin3, LOW);
delay(timer);
digitalWrite(pin4, HIGH);
delay(timer);
digitalWrite(pin4, LOW);
delay(timer);
digitalWrite(pin5, HIGH);
delay(timer);
digitalWrite(pin5, LOW);
delay(timer);
digitalWrite(pin6, HIGH);
delay(timer);
digitalWrite(pin6, LOW);
delay(timer);
digitalWrite(pin7, HIGH);
delay(timer);
digitalWrite(pin7, LOW);
delay(timer);
digitalWrite(pin6, HIGH);
delay(timer);
digitalWrite(pin6, LOW);
delay(timer);
digitalWrite(pin5, HIGH);
delay(timer);
digitalWrite(pin5, LOW);
delay(timer);
digitalWrite(pin4, HIGH);
delay(timer);
digitalWrite(pin4, LOW);
delay(timer);
digitalWrite(pin3, HIGH);
delay(timer);
digitalWrite(pin3, LOW);
delay(timer);
}
Ejemplo 2
/* El coche fantástico 2
* ---------------------
*
* Reduciendo las líneas de código usando un for(;;).
*
*
* (cleft) 2005 K3, Malmo University
* @author: David Cuartielles
* @hardware: David Cuartielles, Aaron Hallborg
*/
int pinArray[] = {2, 3, 4, 5, 6, 7}; // Define el array de pines
int count = 0; // Contador
int timer = 100; // Temporizador
void setup(){
for (count=0;count<6;count++) { // Configuramos todas los PIN-es de golpe
pinMode(pinArray[count], OUTPUT);
}
}
void loop() { // Enciende y apaga secuencialmente los LED-s
for (count=0;count<6;count++) { // utilinzado la secuencia de control for(;;)
digitalWrite(pinArray[count], HIGH); // Recorrido de ida
delay(timer);
digitalWrite(pinArray[count], LOW);
delay(timer);
}
for (count=5;count>=0;count--) {
digitalWrite(pinArray[count], HIGH); // Recorrido de vuelta
delay(timer);
digitalWrite(pinArray[count], LOW);
delay(timer);
}
}
Ejemplo 3
/* El coche fantástico 3
* ---------------------
*
* Este ejemplo se centra en el efecto visual.
*
*
* (cleft) 2005 K3, Malmo University
* @author: David Cuartielles
* @hardware: David Cuartielles, Aaron Hallborg
*/
int pinArray[] = {2, 3, 4, 5, 6, 7}; // PIN-es
int count = 0; // Contador
int timer = 30; // Temporizador
void setup(){
for (count=0;count<6;count++) { // Configuramos todas los PIN-es de golpe
pinMode(pinArray[count], OUTPUT);
}
}
void loop() {
for (count=0;count<5;count++) { // Enciende los LED creando una estela visual
digitalWrite(pinArray[count], HIGH);
delay(timer);
digitalWrite(pinArray[count + 1], HIGH);
delay(timer);
digitalWrite(pinArray[count], LOW);
delay(timer*2);
}
for (count=5;count>0;count--) {
digitalWrite(pinArray[count], HIGH);
delay(timer);
digitalWrite(pinArray[count - 1], HIGH);
delay(timer);
digitalWrite(pinArray[count], LOW);
delay(timer*2);
}
}