SlideShare una empresa de Scribd logo
http://SolEpcc.unex.es 
@mlinaje 
Marino Linaje
http://SolEpcc.unex.es 
@mlinaje 
• ¿Qué es Arduino? 
– Intro 
– DIY, Open Hardware… 
– Arduino Uno 
• Formas de prototipado 
• Programación 
– Intro 
– Ejemplos
Plataformas Prototipado HW (microcontrontrolador) 
http://SolEpcc.unex.es 
@mlinaje 
openPicus 
Arduino 
Seeeduino 
Netduino 
IOIO 
Raspberry Pi 
LilyPad 
Etc. 
3
• Multiplatforma (Windows, Linux, Mac) 
• Energía via USB o externo 
– (Adaptador AC/DC o batería) 
http://SolEpcc.unex.es 
@mlinaje 
• Muchas alternativas 
Intro 
Arduino Mega 2560 
Arduino Ethernet 
Arduino Pro Mini 328 
http://www.arduino.cc/
Open Hardware, DIY 
http://SolEpcc.unex.es 
@mlinaje 
5 
Arduino IDE 
Arduino board
http://SolEpcc.unex.es 
@mlinaje 
Arduino Uno 
Digital I/O Pins 14 (6 PWM) 
Analog Input Pins 6 
Flash Memory 32 KB 
SRAM 2 KB 
EEPROM 1 KB 
Voltaje 5V 
Cost ~$30.00 
• Flash memory 
– Almacena el sketch 
• SRAM 
Arduino Uno 
– Donde el sketch crea y manipula 
las variables 
• EEPROM 
– Memoria no volátil donde 
almacenar información
http://SolEpcc.unex.es 
@mlinaje 
ArduinoUno 
PWM: modulación por ancho 
de pulsos (Pulse-Width 
Modulation) 
E.g., control de motores, ADCs
http://SolEpcc.unex.es 
@mlinaje 
Directa
Breadboard (Tablero de circuitos) 
http://SolEpcc.unex.es 
@mlinaje
Problemas: Requiere ciertosconocimientos y habilidades 
http://SolEpcc.unex.es 
@mlinaje
http://SolEpcc.unex.es 
@mlinaje 
Módulos
• Lenguaje propio basado en “wiring” 
http://arduino.cc/es/Reference/HomePage 
http://www.tinkerkit.com/reference/ 
http://SolEpcc.unex.es 
@mlinaje 
– (similar a C) 
• Ejemplos de comandos: 
– digitalWrite(pin#, HIGH or LOW); 
– digitalRead(pin#); 
– Serial.println(“hola”); 
• Estructura del código: 
Intro 
– setup{ //código que se corre una vez al inicio } 
– void loop{ //código principal }
http://SolEpcc.unex.es 
@mlinaje 
Conectar 
Arduino 
mediante 
USB 
Instalar 
driver 
• Se encuentra 
en la carpeta 
del IDE 
Abrir IDE 
• Herramientas 
-> Tarjeta -> 
Arduino UNO 
• Herramientas 
-> Puerto 
Serie -> 
COM# 
Intro 
13
SOLO PARA THINKERKIT!!! 
http://SolEpcc.unex.es 
@mlinaje 
• #define O0 11 
• #define O1 10 
• #define O2 9 
• #define O3 6 
• #define O4 5 
• #define O5 3 
• #define I0 A0 
• #define I1 A1 
• #define I2 A2 
• #define I3 A3 
• #define I4 A4 
• #define I5 A5 
Definición de los pines 
14
http://SolEpcc.unex.es 
@mlinaje 
• Hacer que un LED se 
encienda y apague 
continuamente 
• Conectar un LED al output 
O0. 
• Los zócalos se conectan 
con sensores/actuadores 
del mismo color. 
• pinMode 
– INPUT 
– OUTPUT 
• digitalWrite 
– HIGH 
– LOW 
• delay 
#define O0 11 
void setup() { 
pinMode(O0, OUTPUT); 
} 
void loop() { 
digitalWrite(O0, HIGH); 
delay(1000); 
digitalWrite(O0, LOW); 
delay(1000); 
} 
Ejemplo 1 
15
http://SolEpcc.unex.es 
@mlinaje 
• Hacer que el LED se 
encienda cuando 
toquemos un 
pulsador 
• Conectar el pulsador 
o el sensor táctil a I0 
(#define I0 A0) 
• digitalRead 
– True 
– False 
#define O0 11 
#define I0 A0 
void setup() { 
pinMode(O0,OUTPUT); 
pinMode(I0,INPUT); 
} 
void loop() { 
if(digitalRead(I0)){ 
digitalWrite(O0, HIGH); 
}else{ 
digitalWrite(O0, LOW); 
} 
delay(10); 
} 
Ejemplo 2 
16
http://SolEpcc.unex.es 
@mlinaje 
• Controlar la potencia de luz de 
un LED con un eje de un 
joystick 
• Conectar a I0 uno de los 
zócalos del joystick 
• analogRead 
• map 
– Re-mapea un número de un 
rango a otro 
– y=map(x,1,150,0,20); 
– 1,150rango original de x 
– 0,20rango destino de y 
• analogWrite 
#define O0 11 
#define I0 A0 
int analogInputValue = 0; 
int analogOutputValue = 0; 
void setup() { 
pinMode(O0,OUTPUT); 
pinMode(I0,INPUT); 
} 
void loop() { 
analogInputValue = analogRead(I0); 
analogOutputValue = 
map(analogInputValue,0,1023,0,255); 
analogWrite(O0,analogOutputValue); 
delay(10); 
} 
Ejemplo 3 
17
http://SolEpcc.unex.es 
@mlinaje 
• Para hacer un debug 
muy básico 
int valorSensor=20; 
Serial print 
void setup() { 
// initializa comm. serie a 9600bps 
Serial.begin(9600); 
} 
void loop() { 
Serial.print("t valor = " ); 
Serial.print(valorSensor); 
delay(10); 
}
http://SolEpcc.unex.es 
@mlinaje 
• Controlar la potencia de 
luz de dos LEDs con los 
dos ejes de un joystick 
• Pines O0 y O1 
configurados como 
salidas analógicas 
(conectar dos LEDs) 
• Pines I0 e I1 
configurados como 
entradas analógicas 
(conectar los dos zócalos 
del joystick) 
• Mapear las entradas con 
las salidas 
• #define O0 11 
• #define O1 10 
• #define O2 9 
• #define O3 6 
• #define O4 5 
• #define O5 3 
• #define I0 A0 
• #define I1 A1 
• #define I2 A2 
• #define I3 A3 
• #define I4 A4 
• #define I5 A5 
Ejemplo 4 
19
http://SolEpcc.unex.es 
@mlinaje 
#define O0 11 
#define O1 10 
#define I0 A0 
#define I1 A1 
int analogSensorValue1 = 0; 
int analogSensorValue2 = 0; 
int analogOutputValue1 = 0; 
int analogOutputValue2 = 0; 
int digitalOutputValue1 = LOW; 
void setup() { 
Serial.begin(9600); 
pinMode(O0,OUTPUT); 
pinMode(O1,OUTPUT); 
pinMode(I0, INPUT); 
pinMode(I1,INPUT); 
} 
void loop() { 
analogSensorValue1 = analogRead(I0); 
analogSensorValue2 = analogRead(I1); 
analogOutputValue1 = 
map(analogSensorValue1, 0, 1023, 0, 255); 
analogOutputValue2 = 
map(analogSensorValue2, 0, 1023, 0, 255); 
analogWrite(O0, analogOutputValue1); 
analogWrite(O1, analogOutputValue2); 
Serial.print("sensor = " ); 
Serial.print(analogSensorValue1); 
Serial.print("t output = "); 
Serial.println(analogOutputValue1); 
delay(10); 
} 
Ejemplo 4 
20

Más contenido relacionado

La actualidad más candente

Clase 2 - Taller de Intrucción a la robótica con Arduino
Clase 2 - Taller de Intrucción a la robótica con ArduinoClase 2 - Taller de Intrucción a la robótica con Arduino
Clase 2 - Taller de Intrucción a la robótica con Arduino
Activo 2.0
 
Arduino - Ejercicios Básicos
Arduino - Ejercicios BásicosArduino - Ejercicios Básicos
Arduino - Ejercicios Básicos
Mario José Platero Villatoro
 
Apuntes arduino nivel_pardillo
Apuntes arduino nivel_pardilloApuntes arduino nivel_pardillo
Apuntes arduino nivel_pardillo
xampa
 
Programacion basica en Arduino
Programacion basica en ArduinoProgramacion basica en Arduino
Programacion basica en Arduino
Alberto Labarga
 
Curso Arduino Nivel 3: Mueve cosas con Arduino. Tenerife Maker Space
Curso Arduino Nivel 3: Mueve cosas con Arduino. Tenerife Maker SpaceCurso Arduino Nivel 3: Mueve cosas con Arduino. Tenerife Maker Space
Curso Arduino Nivel 3: Mueve cosas con Arduino. Tenerife Maker Space
Tenerife Maker Space
 
6147260
61472606147260
6147260
san jaramillo
 
62962340 manual-arduino-uno
62962340 manual-arduino-uno62962340 manual-arduino-uno
62962340 manual-arduino-uno
Angelik Hdez
 
6.funcion nor
6.funcion nor6.funcion nor
6.funcion nor
cantabrobots30
 
1.arduino
1.arduino1.arduino
1.arduino
cantabrobots30
 
Manual programacion arduino
Manual programacion arduinoManual programacion arduino
Manual programacion arduino
Akhilesh Bhavanam
 
Tutorial arduino 03 programación
Tutorial arduino 03   programaciónTutorial arduino 03   programación
Tutorial arduino 03 programación
Rubén Loredo
 
Cargando el primer programa de arduino
Cargando el primer programa de arduinoCargando el primer programa de arduino
Cargando el primer programa de arduino
Luis Torreño Peromingo
 
Arduino comic es
Arduino comic esArduino comic es
Arduino comic es
arduikee
 
Guia 2
Guia 2Guia 2
Guia 2
Jorge Niño
 
Arduino práctico servos
Arduino práctico   servosArduino práctico   servos
Arduino práctico servos
Jose Antonio Vacas
 
Practicas
PracticasPracticas
Práctica05.Interrupciones en Arduino
Práctica05.Interrupciones en ArduinoPráctica05.Interrupciones en Arduino
Práctica05.Interrupciones en Arduino
Jonathan Ruiz de Garibay
 

La actualidad más candente (17)

Clase 2 - Taller de Intrucción a la robótica con Arduino
Clase 2 - Taller de Intrucción a la robótica con ArduinoClase 2 - Taller de Intrucción a la robótica con Arduino
Clase 2 - Taller de Intrucción a la robótica con Arduino
 
Arduino - Ejercicios Básicos
Arduino - Ejercicios BásicosArduino - Ejercicios Básicos
Arduino - Ejercicios Básicos
 
Apuntes arduino nivel_pardillo
Apuntes arduino nivel_pardilloApuntes arduino nivel_pardillo
Apuntes arduino nivel_pardillo
 
Programacion basica en Arduino
Programacion basica en ArduinoProgramacion basica en Arduino
Programacion basica en Arduino
 
Curso Arduino Nivel 3: Mueve cosas con Arduino. Tenerife Maker Space
Curso Arduino Nivel 3: Mueve cosas con Arduino. Tenerife Maker SpaceCurso Arduino Nivel 3: Mueve cosas con Arduino. Tenerife Maker Space
Curso Arduino Nivel 3: Mueve cosas con Arduino. Tenerife Maker Space
 
6147260
61472606147260
6147260
 
62962340 manual-arduino-uno
62962340 manual-arduino-uno62962340 manual-arduino-uno
62962340 manual-arduino-uno
 
6.funcion nor
6.funcion nor6.funcion nor
6.funcion nor
 
1.arduino
1.arduino1.arduino
1.arduino
 
Manual programacion arduino
Manual programacion arduinoManual programacion arduino
Manual programacion arduino
 
Tutorial arduino 03 programación
Tutorial arduino 03   programaciónTutorial arduino 03   programación
Tutorial arduino 03 programación
 
Cargando el primer programa de arduino
Cargando el primer programa de arduinoCargando el primer programa de arduino
Cargando el primer programa de arduino
 
Arduino comic es
Arduino comic esArduino comic es
Arduino comic es
 
Guia 2
Guia 2Guia 2
Guia 2
 
Arduino práctico servos
Arduino práctico   servosArduino práctico   servos
Arduino práctico servos
 
Practicas
PracticasPracticas
Practicas
 
Práctica05.Interrupciones en Arduino
Práctica05.Interrupciones en ArduinoPráctica05.Interrupciones en Arduino
Práctica05.Interrupciones en Arduino
 

Similar a Introducción a plataformas de prototipado: Arduino (rev. 2)

Intro arduino r3
Intro arduino r3Intro arduino r3
Intro arduino r3
Marino Linaje Trigueros
 
Introduccion a arduino circuitos basicos de entrada y salida
Introduccion a arduino circuitos basicos de entrada y salidaIntroduccion a arduino circuitos basicos de entrada y salida
Introduccion a arduino circuitos basicos de entrada y salida
Moises Nuñez Silva
 
arduino 2.pptx
arduino 2.pptxarduino 2.pptx
arduino 2.pptx
FreddyEspejo3
 
Arduino uno
Arduino unoArduino uno
Arduino uno
nahim pari
 
Presentación ARDUINO
Presentación ARDUINO Presentación ARDUINO
Presentación ARDUINO
GabrielMijangosHernn
 
Seminario de arduino DeustoTech
Seminario de arduino DeustoTechSeminario de arduino DeustoTech
Seminario de arduino DeustoTech
Adolfo García
 
Taller Iniciacion Arduino Camara Comercio
Taller Iniciacion Arduino Camara ComercioTaller Iniciacion Arduino Camara Comercio
Taller Iniciacion Arduino Camara Comercio
José Pujol Pérez
 
sesion1.pptx
sesion1.pptxsesion1.pptx
sesion1.pptx
juancamilopatioarang
 
Interfaz java y arduino
Interfaz java y arduinoInterfaz java y arduino
Interfaz java y arduino
Ángel Acaymo M. G.
 
CONCEPTOS BASICOS DE ARDUINO EN ELECTRICIDAD
CONCEPTOS BASICOS DE ARDUINO EN ELECTRICIDADCONCEPTOS BASICOS DE ARDUINO EN ELECTRICIDAD
CONCEPTOS BASICOS DE ARDUINO EN ELECTRICIDAD
MaestroMatematicas
 
Seminario de Arduino
Seminario de ArduinoSeminario de Arduino
Seminario de Arduino
Adolfo García
 
Interfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduinoInterfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduino
Quique villasur
 
Interfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduinoInterfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduino
Ángel Acaymo M. G.
 
Introducción a Arduino (TLP2014)
Introducción a Arduino (TLP2014)Introducción a Arduino (TLP2014)
Introducción a Arduino (TLP2014)
Tenerife Maker Space
 
Lenguaje arduinointrodeluismi
Lenguaje arduinointrodeluismiLenguaje arduinointrodeluismi
Lenguaje arduinointrodeluismi
arturoalbacete
 
Presentacion
PresentacionPresentacion
Presentacion
mmunozgarces
 
P01: Kiwibot Basic Shield: Empezamos con Arduino
P01: Kiwibot Basic Shield: Empezamos con ArduinoP01: Kiwibot Basic Shield: Empezamos con Arduino
P01: Kiwibot Basic Shield: Empezamos con Arduino
José Pujol Pérez
 
Tutorial arduino 03 programacin
Tutorial arduino 03   programacinTutorial arduino 03   programacin
Tutorial arduino 03 programacin
Angel Nava Pluma
 
Tutorial arduino 03 programacin
Tutorial arduino 03   programacinTutorial arduino 03   programacin
Tutorial arduino 03 programacin
Don Andrew
 
Mini Proyecto Arduino
Mini Proyecto ArduinoMini Proyecto Arduino
Mini Proyecto Arduino
Jorge Isai Alvarez
 

Similar a Introducción a plataformas de prototipado: Arduino (rev. 2) (20)

Intro arduino r3
Intro arduino r3Intro arduino r3
Intro arduino r3
 
Introduccion a arduino circuitos basicos de entrada y salida
Introduccion a arduino circuitos basicos de entrada y salidaIntroduccion a arduino circuitos basicos de entrada y salida
Introduccion a arduino circuitos basicos de entrada y salida
 
arduino 2.pptx
arduino 2.pptxarduino 2.pptx
arduino 2.pptx
 
Arduino uno
Arduino unoArduino uno
Arduino uno
 
Presentación ARDUINO
Presentación ARDUINO Presentación ARDUINO
Presentación ARDUINO
 
Seminario de arduino DeustoTech
Seminario de arduino DeustoTechSeminario de arduino DeustoTech
Seminario de arduino DeustoTech
 
Taller Iniciacion Arduino Camara Comercio
Taller Iniciacion Arduino Camara ComercioTaller Iniciacion Arduino Camara Comercio
Taller Iniciacion Arduino Camara Comercio
 
sesion1.pptx
sesion1.pptxsesion1.pptx
sesion1.pptx
 
Interfaz java y arduino
Interfaz java y arduinoInterfaz java y arduino
Interfaz java y arduino
 
CONCEPTOS BASICOS DE ARDUINO EN ELECTRICIDAD
CONCEPTOS BASICOS DE ARDUINO EN ELECTRICIDADCONCEPTOS BASICOS DE ARDUINO EN ELECTRICIDAD
CONCEPTOS BASICOS DE ARDUINO EN ELECTRICIDAD
 
Seminario de Arduino
Seminario de ArduinoSeminario de Arduino
Seminario de Arduino
 
Interfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduinoInterfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduino
 
Interfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduinoInterfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduino
 
Introducción a Arduino (TLP2014)
Introducción a Arduino (TLP2014)Introducción a Arduino (TLP2014)
Introducción a Arduino (TLP2014)
 
Lenguaje arduinointrodeluismi
Lenguaje arduinointrodeluismiLenguaje arduinointrodeluismi
Lenguaje arduinointrodeluismi
 
Presentacion
PresentacionPresentacion
Presentacion
 
P01: Kiwibot Basic Shield: Empezamos con Arduino
P01: Kiwibot Basic Shield: Empezamos con ArduinoP01: Kiwibot Basic Shield: Empezamos con Arduino
P01: Kiwibot Basic Shield: Empezamos con Arduino
 
Tutorial arduino 03 programacin
Tutorial arduino 03   programacinTutorial arduino 03   programacin
Tutorial arduino 03 programacin
 
Tutorial arduino 03 programacin
Tutorial arduino 03   programacinTutorial arduino 03   programacin
Tutorial arduino 03 programacin
 
Mini Proyecto Arduino
Mini Proyecto ArduinoMini Proyecto Arduino
Mini Proyecto Arduino
 

Último

ESTUDIANTES-CT-SESIÓN 5 -BI-.pdf SECUNDARIA 2024
ESTUDIANTES-CT-SESIÓN 5 -BI-.pdf SECUNDARIA 2024ESTUDIANTES-CT-SESIÓN 5 -BI-.pdf SECUNDARIA 2024
ESTUDIANTES-CT-SESIÓN 5 -BI-.pdf SECUNDARIA 2024
SelenyCubas
 
Presentacion Arduino 2024 implementando tinkercad.pptx
Presentacion Arduino 2024 implementando tinkercad.pptxPresentacion Arduino 2024 implementando tinkercad.pptx
Presentacion Arduino 2024 implementando tinkercad.pptx
Andrea713958
 
mi hermoso sector victor raul ,calle san jose
mi hermoso sector victor raul ,calle san josemi hermoso sector victor raul ,calle san jose
mi hermoso sector victor raul ,calle san jose
Ariana yglesias azañero
 
Unidad Central de Procesamiento (CPU): El Procesador
Unidad Central de Procesamiento (CPU): El ProcesadorUnidad Central de Procesamiento (CPU): El Procesador
Unidad Central de Procesamiento (CPU): El Procesador
castilloaldair788
 
Manual Soporte y mantenimiento de computo.pdf
Manual Soporte y mantenimiento de computo.pdfManual Soporte y mantenimiento de computo.pdf
Manual Soporte y mantenimiento de computo.pdf
rmurillojesus
 
Manual de mantenimiento hadware xperts pdf
Manual de mantenimiento hadware xperts pdfManual de mantenimiento hadware xperts pdf
Manual de mantenimiento hadware xperts pdf
cbtistechserv
 
Qué es el oficio simple 1.1.pptx diapositivas
Qué es el oficio simple 1.1.pptx  diapositivasQué es el oficio simple 1.1.pptx  diapositivas
Qué es el oficio simple 1.1.pptx diapositivas
OsvelAndrBriceoGuerr
 
Modelos de Teclados ergonómicos y Pantallas táctiles.pptx
Modelos de Teclados ergonómicos y Pantallas táctiles.pptxModelos de Teclados ergonómicos y Pantallas táctiles.pptx
Modelos de Teclados ergonómicos y Pantallas táctiles.pptx
ambargarc7
 
trabajo de mantenimiento de equipos ....
trabajo de mantenimiento de equipos ....trabajo de mantenimiento de equipos ....
trabajo de mantenimiento de equipos ....
luzmilalopez043tamar
 

Último (9)

ESTUDIANTES-CT-SESIÓN 5 -BI-.pdf SECUNDARIA 2024
ESTUDIANTES-CT-SESIÓN 5 -BI-.pdf SECUNDARIA 2024ESTUDIANTES-CT-SESIÓN 5 -BI-.pdf SECUNDARIA 2024
ESTUDIANTES-CT-SESIÓN 5 -BI-.pdf SECUNDARIA 2024
 
Presentacion Arduino 2024 implementando tinkercad.pptx
Presentacion Arduino 2024 implementando tinkercad.pptxPresentacion Arduino 2024 implementando tinkercad.pptx
Presentacion Arduino 2024 implementando tinkercad.pptx
 
mi hermoso sector victor raul ,calle san jose
mi hermoso sector victor raul ,calle san josemi hermoso sector victor raul ,calle san jose
mi hermoso sector victor raul ,calle san jose
 
Unidad Central de Procesamiento (CPU): El Procesador
Unidad Central de Procesamiento (CPU): El ProcesadorUnidad Central de Procesamiento (CPU): El Procesador
Unidad Central de Procesamiento (CPU): El Procesador
 
Manual Soporte y mantenimiento de computo.pdf
Manual Soporte y mantenimiento de computo.pdfManual Soporte y mantenimiento de computo.pdf
Manual Soporte y mantenimiento de computo.pdf
 
Manual de mantenimiento hadware xperts pdf
Manual de mantenimiento hadware xperts pdfManual de mantenimiento hadware xperts pdf
Manual de mantenimiento hadware xperts pdf
 
Qué es el oficio simple 1.1.pptx diapositivas
Qué es el oficio simple 1.1.pptx  diapositivasQué es el oficio simple 1.1.pptx  diapositivas
Qué es el oficio simple 1.1.pptx diapositivas
 
Modelos de Teclados ergonómicos y Pantallas táctiles.pptx
Modelos de Teclados ergonómicos y Pantallas táctiles.pptxModelos de Teclados ergonómicos y Pantallas táctiles.pptx
Modelos de Teclados ergonómicos y Pantallas táctiles.pptx
 
trabajo de mantenimiento de equipos ....
trabajo de mantenimiento de equipos ....trabajo de mantenimiento de equipos ....
trabajo de mantenimiento de equipos ....
 

Introducción a plataformas de prototipado: Arduino (rev. 2)

  • 2. http://SolEpcc.unex.es @mlinaje • ¿Qué es Arduino? – Intro – DIY, Open Hardware… – Arduino Uno • Formas de prototipado • Programación – Intro – Ejemplos
  • 3. Plataformas Prototipado HW (microcontrontrolador) http://SolEpcc.unex.es @mlinaje openPicus Arduino Seeeduino Netduino IOIO Raspberry Pi LilyPad Etc. 3
  • 4. • Multiplatforma (Windows, Linux, Mac) • Energía via USB o externo – (Adaptador AC/DC o batería) http://SolEpcc.unex.es @mlinaje • Muchas alternativas Intro Arduino Mega 2560 Arduino Ethernet Arduino Pro Mini 328 http://www.arduino.cc/
  • 5. Open Hardware, DIY http://SolEpcc.unex.es @mlinaje 5 Arduino IDE Arduino board
  • 6. http://SolEpcc.unex.es @mlinaje Arduino Uno Digital I/O Pins 14 (6 PWM) Analog Input Pins 6 Flash Memory 32 KB SRAM 2 KB EEPROM 1 KB Voltaje 5V Cost ~$30.00 • Flash memory – Almacena el sketch • SRAM Arduino Uno – Donde el sketch crea y manipula las variables • EEPROM – Memoria no volátil donde almacenar información
  • 7. http://SolEpcc.unex.es @mlinaje ArduinoUno PWM: modulación por ancho de pulsos (Pulse-Width Modulation) E.g., control de motores, ADCs
  • 9. Breadboard (Tablero de circuitos) http://SolEpcc.unex.es @mlinaje
  • 10. Problemas: Requiere ciertosconocimientos y habilidades http://SolEpcc.unex.es @mlinaje
  • 12. • Lenguaje propio basado en “wiring” http://arduino.cc/es/Reference/HomePage http://www.tinkerkit.com/reference/ http://SolEpcc.unex.es @mlinaje – (similar a C) • Ejemplos de comandos: – digitalWrite(pin#, HIGH or LOW); – digitalRead(pin#); – Serial.println(“hola”); • Estructura del código: Intro – setup{ //código que se corre una vez al inicio } – void loop{ //código principal }
  • 13. http://SolEpcc.unex.es @mlinaje Conectar Arduino mediante USB Instalar driver • Se encuentra en la carpeta del IDE Abrir IDE • Herramientas -> Tarjeta -> Arduino UNO • Herramientas -> Puerto Serie -> COM# Intro 13
  • 14. SOLO PARA THINKERKIT!!! http://SolEpcc.unex.es @mlinaje • #define O0 11 • #define O1 10 • #define O2 9 • #define O3 6 • #define O4 5 • #define O5 3 • #define I0 A0 • #define I1 A1 • #define I2 A2 • #define I3 A3 • #define I4 A4 • #define I5 A5 Definición de los pines 14
  • 15. http://SolEpcc.unex.es @mlinaje • Hacer que un LED se encienda y apague continuamente • Conectar un LED al output O0. • Los zócalos se conectan con sensores/actuadores del mismo color. • pinMode – INPUT – OUTPUT • digitalWrite – HIGH – LOW • delay #define O0 11 void setup() { pinMode(O0, OUTPUT); } void loop() { digitalWrite(O0, HIGH); delay(1000); digitalWrite(O0, LOW); delay(1000); } Ejemplo 1 15
  • 16. http://SolEpcc.unex.es @mlinaje • Hacer que el LED se encienda cuando toquemos un pulsador • Conectar el pulsador o el sensor táctil a I0 (#define I0 A0) • digitalRead – True – False #define O0 11 #define I0 A0 void setup() { pinMode(O0,OUTPUT); pinMode(I0,INPUT); } void loop() { if(digitalRead(I0)){ digitalWrite(O0, HIGH); }else{ digitalWrite(O0, LOW); } delay(10); } Ejemplo 2 16
  • 17. http://SolEpcc.unex.es @mlinaje • Controlar la potencia de luz de un LED con un eje de un joystick • Conectar a I0 uno de los zócalos del joystick • analogRead • map – Re-mapea un número de un rango a otro – y=map(x,1,150,0,20); – 1,150rango original de x – 0,20rango destino de y • analogWrite #define O0 11 #define I0 A0 int analogInputValue = 0; int analogOutputValue = 0; void setup() { pinMode(O0,OUTPUT); pinMode(I0,INPUT); } void loop() { analogInputValue = analogRead(I0); analogOutputValue = map(analogInputValue,0,1023,0,255); analogWrite(O0,analogOutputValue); delay(10); } Ejemplo 3 17
  • 18. http://SolEpcc.unex.es @mlinaje • Para hacer un debug muy básico int valorSensor=20; Serial print void setup() { // initializa comm. serie a 9600bps Serial.begin(9600); } void loop() { Serial.print("t valor = " ); Serial.print(valorSensor); delay(10); }
  • 19. http://SolEpcc.unex.es @mlinaje • Controlar la potencia de luz de dos LEDs con los dos ejes de un joystick • Pines O0 y O1 configurados como salidas analógicas (conectar dos LEDs) • Pines I0 e I1 configurados como entradas analógicas (conectar los dos zócalos del joystick) • Mapear las entradas con las salidas • #define O0 11 • #define O1 10 • #define O2 9 • #define O3 6 • #define O4 5 • #define O5 3 • #define I0 A0 • #define I1 A1 • #define I2 A2 • #define I3 A3 • #define I4 A4 • #define I5 A5 Ejemplo 4 19
  • 20. http://SolEpcc.unex.es @mlinaje #define O0 11 #define O1 10 #define I0 A0 #define I1 A1 int analogSensorValue1 = 0; int analogSensorValue2 = 0; int analogOutputValue1 = 0; int analogOutputValue2 = 0; int digitalOutputValue1 = LOW; void setup() { Serial.begin(9600); pinMode(O0,OUTPUT); pinMode(O1,OUTPUT); pinMode(I0, INPUT); pinMode(I1,INPUT); } void loop() { analogSensorValue1 = analogRead(I0); analogSensorValue2 = analogRead(I1); analogOutputValue1 = map(analogSensorValue1, 0, 1023, 0, 255); analogOutputValue2 = map(analogSensorValue2, 0, 1023, 0, 255); analogWrite(O0, analogOutputValue1); analogWrite(O1, analogOutputValue2); Serial.print("sensor = " ); Serial.print(analogSensorValue1); Serial.print("t output = "); Serial.println(analogOutputValue1); delay(10); } Ejemplo 4 20

Notas del editor

  1. DESCARGAR IDE
  2. Pictures. Potentiometer motor speed controller simple example.
  3. Serial -> es para la comunicación serie con otros dispositivos, pero si arduino está comunicado por serie al pc, no se puede usar este pin. PWM -> AnalogWrite TWI -> Se utiliza para la conexión I2C con otros dispositivos, si se usa esta conexión no se pueden utilizar los pines 4 y 5 analógicos.
  4. cite pictures. Simpler