Você está na página 1de 75

TALLER DE ARDUINO

 ¿QUÉ ES ARDUINO?
 ¿PARA QUÉ SIRVE?
 ¿CONCEPTOS BÁSICOS?
 HERRAMIENTAS DOCENTES
 EJEMPLO DOMÓTICA
¿Qué es Arduino?
 Plataforma de desarrollo de productos
electrónicos.
 Abstracción del hardware.
 Multiplataforma (Linux, Mac y Windows)
 Al alcance de todos los usuarios: estudiantes,
artistas, publicistas, ingenieros, etc
 El microcontrolador en la placa Arduino se
programa mediante el lenguaje de
programación Arduino (basado en Wiring)
 El entorno de desarrollo Arduino está basado
en Processing


¿Para qué sirve Arduino?
 Desarrollar programas que interactúan con el
mundo
 Redes de sensores
 Robótica sencilla
 Alarmas
 Sistemas de comunicaciones
Arduino UNO Arduino LyliPad Arduino Mega 2560

Arduino FIO Arduino PRO Arduino Mega ADK


Arduino Ethernet Arduino Mega 2560

Arduino Nano Arduino Mega ADK


Arduino Uno
• Microcontrolador ATMega328
• Funcionamiento 5V
• Voltaje Entrada de voltaje (recomendado) 7-12V
• Límites de voltaje 6-20V
• Digital I / O Pins 14 (de los cuales 6 proporcionar una salida
PWM)
• 6 pines de entrada analógica DC
• Corriente de pines I / O 40 mA
• Memoria Flash de 32 KB (ATMega328) de los cuales 0,5 KB
utilizado por el gestor de arranque
• SRAM 2KB (ATMega328)
• EEPROM 1KB (ATMega328)
• Velocidad del reloj de 16 MHz
Shields
 Un Shield es una placa que permite expandir
funcionalidades a Arduino.
Conceptos básicos
 Seleccionar tarjeta correcta:
 Tools/Board >> Arduino Uno
 Seleccionar puerto serie:(Virtual)
 Depende del sistema operativo.
 Serial port >> tty.xxx
 Serial port >> COMx
 Si todo está correcto el led I/O 13 parpadea
Se ejecuta
una sola vez

Se ejecuta
Infinitamente

Mensajes y
errores
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:


// initialize the digital pin as an output.
void setup() {
pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:


void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins


LiquidCrystal lcd(0, 1, 2, 3, 4, 5);

void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("hello, world!");
}

void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print(millis()/1000);
}
#include "Ultrasonic.h"

Ultrasonic ultrasonic(11,10);//(Trig,Echo)

void setup() {
Serial.begin(9600);
}

void loop()
{
//output the distance in cm
Serial.println(ultrasonic.Ranging(CM));
delay(100);
}
Taller Scratch for Arduino
S4A es una modificación de Scratch que permite
programar la plataforma de hardware libre Arduino de
una forma sencilla.

Proporciona bloques nuevos para tratar con sensores y


actuadores conectados a una placa Arduino (que se
trata como un tipo especial de sprite).

Los componentes deben conectarse de forma


determinada. OJO!!!!!
Taller Arduino
Funciones digitales

digitalRead() digitalWrite()

• Leer un pin digital • Escribir un pin


(0 ó 1) digital con 1 ó 0
• digitalWrite(pin,esta
• digitalRead(pin)
do)

int a = digitalRead digitalWrite (13,HIGH);


(13); digitalWrite (13,LOW);
Funciones análogas

analogRead() analogWrite() —> PWM

• Leer un valor • Escribir un valor


análogo 0 a 1023 análogo 0 a 255
• analogRead(pin) • analogWrite(pin,v
alor de PWM)
int a = analogRead
(A0); analogWrite (9,
134);
Librerías
• EEPROM - leer y escribir
• Ethernet - conectarse a Internet
• Cristal líquido - control de LCD
• SD - lectura y escritura de tarjetas SD
• Servo - control de servomotores
• SPI - comunicación por el bus SPI
• Paso a paso - control de motores
• Wire - enviar y recibir datos TWI/I2C
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:


// initialize the digital pin as an output.
void setup() {
pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:


void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
int pinLDR = 0;
int valorLDR = 0;

void setup() {

Serial.begin(9600);

void loop() {

valorLDR = analogRead(pinLDR);
Serial.println(valorLDR);

}
if(valorLDR >= 612)
{
digitalWrite(pinLed1, HIGH);
}

else
{
digitalWrite(pinLed1, LOW);

}
else if((valorLDR >= 223) & (valorLDR < 623))
{
digitalWrite(pinLed1, HIGH);

}
Herramientas docentes
123D Circuits es un programa libre online
de simulación de circuitos que incluye placas
ARDUINO. Permite introducir el código y evaluar
funcionamiento del mismo.
FRITZING es un programa libre de
automatización de diseño electrónico que busca
ayudar a diseñadores y artistas para que puedan
pasar de prototipos (usando placas de pruebas por
ejemplo) a productos finales.
Processing es un lenguaje de programación y
entorno de desarrollo integrado de código abierto
basado en Java, de fácil utilización, y que sirve como
medio para la enseñanza y producción de proyectos
multimedia e interactivos de diseño digital.
ArduBlock es una aplicación ligera que te
proporciona un sencillo entorno de programación
visual para la plataforma Arduino.

Puedes utilizarla para insertar diferentes elementos en


la configuración de Arduino.

Transforma la programación en un juego de bloques


tipo TETRIS.
ardublock
 ARDUINO
 http://arduino.cc/
 SCRACTH FOR ARDUINO
 www.s4a.cat
 ARDUBLOCK
 http://blog.ardublock.com/
 FRITZING
 http://fritzing.org/home/
 PROCESSING
 http://www.processing.org/

 PROYECTOS
 http://www.arduteka.com/
 http://castilla.verkstad.cc
 CONTACTO:
 ESCUELA POLITÉCNICA DE CUENCA
 www.epc.uclm.es
 Tlf: 969179124
 Mail: politecnica.cu@uclm.es

 http://www.peysanet.com/

Você também pode gostar