Arduino

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.

http://fritzing.org/download/

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>

* http://arduino.berlios.de

*

* 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);

}

}