SlideShare une entreprise Scribd logo
1  sur  48
Télécharger pour lire hors ligne
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA 
ARDUINO 
PRACTICA 2 
PRO 
2014 © ARDUINO PRACTICA 2: 
LEXGRAJEDA@GMAIL.COM 
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES 1
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
PREFACIO 
La finalidad del documento es demostrar respecto a uno de los nuevos avances en tecnología respecto al Hardware y Software. Su finalidad es enseñar al lector acerca de la plataforma Arduino. En una cultura en la cual estas tecnologías aún se muestran aun prematuras, también ha de ser un nuevo impulso para los avances a controlar lo que nos rodea con este pequeño micro controlador. 
Pero la dificultad del aprendizaje para el lenguaje, si no se tienen conocimientos básicos de programación, no deben inducir a que se abstenga uno de tratar de conocer esta plataforma. A fin de evitar complicaciones innecesarias se ha procurado tratar de explicar, en la mayor medida posible, los datos más relevantes para los cuales apoyarse para tener un conocimiento verdadero de esta plataforma.
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
ÍNDICE 
PREFACIO ............................................................................................................................................ 2 
ÍNDICE ................................................................................................................................................. 3 
INTRODUCCIÓN .................................................................................................................................. 6 
OBJETIVO GENERAL ............................................................................................................................ 7 
OBJETIVOS ESPECIFICOS .................................................................................................................. 7 
JUSTIFICACION .................................................................................................................................... 8 
INSTALACION ...................................................................................................................................... 9 
CONFIGURACION .............................................................................................................................. 12 
TIPOS DE ARDUINO........................................................................................................................... 16 
ARDUINO ONE ............................................................................................................................... 16 
ARDUINO LEONARDO .................................................................................................................... 16 
ARDUINO YÚN ............................................................................................................................... 16 
ARDUINO ROBOT ........................................................................................................................... 17 
ARDUINO ESPLORA ....................................................................................................................... 17 
ARDUINO ETHERNET ..................................................................................................................... 18 
ARDUINO MINI .............................................................................................................................. 18 
ARDUINO NANO ............................................................................................................................ 18 
ARDUINO PRO MINI ...................................................................................................................... 19 
ARDUINO MICRO ........................................................................................................................... 19 
LILYPAD ARDUINO USB.................................................................................................................. 19 
PARTES DE UN ARDUINO .................................................................................................................. 20 
HISTORIA ........................................................................................................................................... 21 
CURIOSIDADES .............................................................................................................................. 21 
PROYECTOS CON ARDUINO ........................................................................................................... 22 
FUNCIONES PRINCIPALES ................................................................................................................. 24 
ESTRUCTURA DEL LENGUAJE ............................................................................................................ 26 
ESTRUCTURA BÁSICA .................................................................................................................... 26 
OPERADORES ARITMETICOS ..................................................................................................... 26 
OPERADORES DE COMPARACION ............................................................................................. 27
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
OPERADORES BOOLEANOS ....................................................................................................... 27 
IF, IF…ELSE ................................................................................................................................. 27 
FOR ............................................................................................................................................ 27 
SWITCH CASE ............................................................................................................................. 28 
WHILE ........................................................................................................................................ 28 
VARIABLES .................................................................................................................................... 28 
CONSTANTES ............................................................................................................................. 28 
TIPOS DE DATOS ........................................................................................................................ 28 
CONVERSIONES ......................................................................................................................... 29 
AMBIENTE DE LAS VARIABLES ................................................................................................... 29 
FUNCIONES ................................................................................................................................... 29 
I/O DIGITALES ............................................................................................................................ 29 
I/O ANALOGICOS ....................................................................................................................... 29 
I/O AVANZADOS ........................................................................................................................ 29 
TIEMPO ...................................................................................................................................... 30 
MATEMATICAS .......................................................................................................................... 30 
TRIGONOMETRICAS................................................................................................................... 30 
NUMEROS ALEATORIOS ............................................................................................................ 30 
BITS Y BYTES .............................................................................................................................. 31 
INTERRUPCIONES EXTERNAS..................................................................................................... 31 
INTERRUPCIONES ...................................................................................................................... 31 
COMUNICACIÓN ........................................................................................................................ 31 
EJEMPLOS .......................................................................................................................................... 32 
ENCENDIDO Y APAGADO DE TRES LEDS ........................................................................................ 32 
CODIGO ..................................................................................................................................... 32 
LECTURA DE UN PULSADOR .......................................................................................................... 33 
CODIGO ..................................................................................................................................... 33 
POTENCIOMETRO: LECTURA DE UNA SEÑAL ANALOGICA ............................................................ 34 
CODIGO ..................................................................................................................................... 34 
CONTADOR DE 0 A 10 ................................................................................................................... 35 
CODIGO ..................................................................................................................................... 36 
GENERADOR DE NOTAS MUSICALES ............................................................................................. 37 
CODIGO ..................................................................................................................................... 38
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
ERRORES COMUNES ......................................................................................................................... 39 
¿Por qué tardan el software Arduino y/o el menú Herramientas mucho tiempo en abrir (en Windows)? .................................................................................................................................... 39 
¿Por qué no puedo subir mis programas a la placa Arduino? ...................................................... 39 
¿Por qué aparece un java.lang.StackOverflowErrorcuando intento compilar mi programa? ...... 40 
¿Qué pasa si mi tarjeta no se enciende (el LED verde no se enciende)? ...................................... 40 
¿Qué pasa con el error “No se pudo encontrar la clase principal.”? ............................................ 41 
¿Por qué se congela Arduino cuando intento cargar un programa? (En Windows)? ................... 41 
¿Por qué no me no aparece mi placa en el menú Tools | Serial Port? ......................................... 41 
¿Qué debo hacer si me da un error al lanzar “arduino.exe” en Windows?.................................. 41 
PREGUNTAS FRECUENTES ................................................................................................................ 43 
¿Qué quiere usted decir con hardware de código abierto? ......................................................... 43 ¿Cómo puedo obtener una placa Arduino? .................................................................................. 43 
¿Cuáles son las palcas oficiales de Arduino?................................................................................. 43 
¿Puedo programar el Arduino en C? ............................................................................................. 43 
¿Puedo usar un IDE diferente para programar la placa Arduino? ................................................ 44 
CONCLUSIONES ................................................................................................................................. 45 
RECOMENDACIONES ........................................................................................................................ 46 
BIBLIOGRAFIA ................................................................................................................................... 47 
ARDUINO WEBSITE ........................................................................................................................ 47 
ENLACES DE AYUDA .......................................................................................................................... 48
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
INTRODUCCIÓN 
Arduino es una herramienta para la toma de los equipos que pueden detectar y controlar más del mundo físico del ordenador de sobremesa. Es una plataforma de computación física de código abierto basado en una placa electrónica simple, y un entorno de desarrollo para escribir software para la placa. 
Arduino se puede utilizar para desarrollar objetos interactivos, teniendo las entradas de una variedad de interruptores o sensores, y el control de una variedad de luces, motores y otras salidas físicas. Los proyectos de Arduino pueden ser autónomos, o pueden comunicarse con el software que se ejecuta en la computadora (por ejemplo, Flash, Processing, MaxMSP) Las tablas se pueden montar a mano o comprados pre-ensamblada. 
El IDE de código abierto se puede descargar de forma gratuita, el lenguaje de programación de Arduino es una implementación de cableado, una plataforma que se basa en el entorno de programación multimedia de procesamiento.
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
OBJETIVO GENERAL 
 Dar a conocer aspectos importantes sobre configuración, instalación y programación de la plataforma Arduino. 
OBJETIVOS ESPECIFICOS 
 Aprender los conceptos básicos de un micro controlador 
 Realizar programas sencillos para el aprendizaje de esta plataforma 
 Conocer los tipos de Arduino y las partes que lo componen
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
JUSTIFICACION 
Hay muchos otros micro controladores y plataformas de micro controladores disponibles para la computación física. Arduino simplifica el proceso de trabajar con micro controladores, pero ofrece algunas ventajas para los profesores, estudiantes y aficionados interesados sobre otros sistemas. 
Asequible: Las placas Arduino son relativamente baratas en comparación con otras plataformas de micro controladores. 
Multiplataforma: Se ejecuta en los sistemas operativos Windows, Macintosh OSX y Linux. La mayoría de los sistemas de micro controladores están limitados a Windows. 
Entorno de programación simple, claro. 
El software está publicado como código abierto, disponible para la extensión por programadores experimentados. El idioma se puede ampliar a través de las bibliotecas C ++. 
Los planes para los módulos están publicados bajo una licencia de Creative Commons, por lo que los diseñadores de circuitos con experiencia pueden hacer su propia versión del módulo, ampliándolo y mejorándolo. Incluso los usuarios con poca experiencia pueden construir la versión tablero del módulo con el fin de entender cómo funciona y ahorrar dinero.
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
INSTALACION 
Primero lo que se debe realizar, es descargar el software oficial de la página de Arduino, como se puede observar es multiplataforma: 
Se debe colocar el Arduino conectado con el cable usb al equipo, en Windows con Arduino One, aparece la siguiente ventana: 
Posteriormente se debe ejecutar el Programa de Instalación, para este caso Windows y la versión 1.0.6 de Arduino:
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
Nos aparecerán los términos de licencia, los cuales debemos aceptar “I Agree” para poder continuar con la instalación: 
Durante la instalación se mostrara los componentes a instalar, en anteriores versiones como Windows XP, se instalaban los drives por aparte, en esta nueva versión todo se instala automática:
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
Aparece la ventana respecto al controlador usb para el Arduino, aquí se da clic en “Instalar” 
En el Administrador de Dispositivos se podrá observar de que ya está reconocido el Arduino Uno para el puerto COM3:
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
CONFIGURACION 
Al terminar la instalación y ejecutar la aplicación se debe de configurar el tipo de Arduino sobre el cual se estará trabajando, se navega desde el menú de “Herramientas”, “Tarjeta” y se seleccionar en este caso “Arduino Uno”:
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
Posteriormente se verifica el puerto por el cual se trabaja con el Arduino One en “Herramientas”, “Puerto Serial”, “COM3”: 
La plataforma, cuenta con una gran gama de ejemplos, de los cuales el más común es el “Blink”; se navega desde el menú “Archivo”, “Ejemplos”, “01.Basics”, “Blink”:
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
Ya cargado el código de “Blink” se procede a compilarlo y cargarlo hacia el Arduino, para ello se debe dar clic al botón que indica la flecha hacia el lado derecho: 
Cuando se ha terminado de transferir el programa compilado hacia el Arduino, se detalla un mensaje en la parte de debajo de la aplicación, la cual se ve de la siguiente forma:
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
Lo que hace el Blink, es mandar un tren de pulsos constantes, similar a un reloj, los cuales se reflejan sobre el arduino
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
TIPOS DE ARDUINO 
ARDUINO ONE 
Microcontrolador: ATmega328 
Voltaje de funcionamiento: 5 V 
Pines I/O digitales: 14 (de los cuales 6 proveen salida PWM) 
Pines de entradas análogas: 6 
Corriente DC por cada pin I/O: 40 mA 
Corriente DC en el pin de 3.3 V: 50 mA 
Memoria Flash: 32 KB (ATmega328) de los cuales 0.5 KB son utilizados por el bootloader 
SRAM: 2 KB (ATmega328) 
EEPROM: 1 KB (ATmega328) 
Velocidad de reloj: 16 MHz 
ARDUINO LEONARDO 
Microcontrolador: ATmega32u4 
Voltaje de funcionamiento: 5 V 
Pines I/O digitales: 20 
Pines de entradas análogas: 12 
Corriente DC por cada pin I/O: 40 mA 
Corriente DC en el pin de 3.3 V: 50 mA 
Memoria Flash: 32 KB (ATmega32u4) de los cuales 4 KB son utilizados por el bootloader 
SRAM: 2 KB (ATmega32u4) 
EEPROM: 1 KB (ATmega328) 
Velocidad de reloj: 16 MHz 
ARDUINO YÚN 
Microcontrolador: ATmega32u4 
Voltaje de funcionamiento: 5 V 
Pines I/O digitales: 20 
Pines de entradas análogas: 12 
Corriente DC por cada pin I/O: 40 mA 
Corriente DC en el pin de 3.3 V: 50 mA 
Memoria Flash: 32 KB (ATmega328) de los cuales 4 KB son utilizados por el bootloader 
SRAM: 2.5 KB (ATmega328) 
EEPROM: 1 KB (ATmega328) 
Velocidad de reloj: 16 MHz
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
ARDUINO ROBOT 
Microcontrolador: ATmega32u4 
Voltaje de funcionamiento: 5 V 
Pines I/O digitales: 5 
Canales PWM: 6 
Canales de entradas análogas: 4 (de los pines digitales I/O) 
Canales (multiplexados) de entradas análogas: 8 
Corriente DC por cada pin I/O: 40 mA 
Memoria Flash: 32 KB (ATmega32u4) de los cuales 4 KB son utilizados por el bootloader 
SRAM: 2 KB (ATmega32u4) 
EEPROM (interno): 1 KB (ATmega32u4) 
EEPROM (externo): 512 KB (I2C) 
Velocidad de reloj: 16 MHz 
Teclado: 5 teclas 
Perilla: Potenciómetro conectado a un pin análogo 
LCD a color: Comunicación SPI 
Lector de tarjetas SD: Para tarjetas formateadas FAT16 
Altavoz: 8 Ohms 
Compás digital: Proporciona la desviación desde el norte geográfico en grados 
Áreas de prototipado: 4 
ARDUINO ESPLORA 
Microcontrolador: ATmega32u4 
Voltaje de funcionamiento: 5 V 
Memoria Flash: 32 KB de los cuales 4 KB son utilizados por el bootloader 
SRAM: 2.5 KB 
EEPROM: 1 KB 
Velocidad de reloj: 16 MHz 
4 Push bottons 
Joystick análoga con un push botton central 
Potenciómetro lineal 
Micrófono 
Fotorresistor 
Sensor de temperatura 
Acelerómetro de 3 ejes 
Buzzer 
Led RGB 
Conector para LCD
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
ARDUINO ETHERNET 
Microcontrolador: ATmega328 
Voltaje de funcionamiento: 5 V 
Pines I/O digitales: 14 (de los cuales 4 proveen salida PWM) 
Pines de entradas análogas: 6 
Corriente DC por cada pin I/O: 40 mA 
Corriente DC en el pin de 3.3 V: 50 mA 
Memoria Flash: 32 KB (ATmega328) de los cuales 0.5 KB son utilizados por el bootloader 
SRAM: 2 KB (ATmega328) 
EEPROM: 1 KB (ATmega328) 
Velocidad de reloj: 16 MHz 
Controlador embebido Ethernet W5100 TCP/IP 
Tarjeta MicroSD, con adaptadores activos de voltaje 
ARDUINO MINI 
Microcontrolador: ATmega328 
Voltaje de funcionamiento: 5 V 
Pines I/O digitales: 14 (de los cuales 6 proveen salida PWM) 
Pines de entradas análogas: 8 
Corriente DC por cada pin I/O: 40 mA 
Memoria Flash: 32 KB de los cuales 2 KB son utilizados por el bootloader 
SRAM: 2 KB 
EEPROM: 1 KB 
Velocidad de reloj: 16 MHz 
ARDUINO NANO 
Microcontrolador: ATmega168 
Voltaje de funcionamiento: 5 V 
Pines I/O digitales: 14 (de los cuales 6 proveen salida PWM) 
Pines de entradas análogas: 8 
Corriente DC por cada pin I/O: 40 mA 
Memoria Flash: 16 KB de los cuales 2 KB son utilizados por el bootloader 
SRAM: 1 KB 
EEPROM: 512 bytes 
Velocidad de reloj: 16 MHz
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
ARDUINO PRO MINI 
Microcontrolador: ATmega168 
Voltaje de funcionamiento: 3.3 V 
Pines I/O digitales: 14 (de los cuales 6 proveen salida PWM) 
Pines de entradas análogas: 8 
Corriente DC por cada pin I/O: 40 mA 
Memoria Flash: 16 KB de los cuales 2 KB son utilizados por el bootloader 
SRAM: 1 KB 
EEPROM: 512 bytes 
Velocidad de reloj: 8 MHz 
ARDUINO MICRO 
Microcontrolador: ATmega32u4 
Voltaje de funcionamiento: 5 V 
Pines I/O digitales: 20 
Canales PWM: 7 
Pines de entradas análogas: 12 
Corriente DC por cada pin I/O: 40 mA 
Corriente DC en el pin de 3.3 V: 50 mA 
Memoria Flash: 32 KB (ATmega32u4) de los cuales 4 KB son utilizados por el bootloader 
SRAM: 2.5 KB (ATmega32u4) 
EEPROM: 1 KB (ATmega32u4) 
Velocidad de reloj: 16 MHz 
LILYPAD ARDUINO USB 
Microcontrolador: ATmega32u4 
Voltaje de funcionamiento: 3.3 V 
Pines I/O digitales: 9 
Canales PWM: 4 
Pines de entradas análogas: 4 
Corriente DC por cada pin I/O: 40 mA 
Memoria Flash: 32 KB de los cuales 4 KB son utilizados por el bootloader 
SRAM: 2.5 KB 
EEPROM: 1 KB 
Velocidad de reloj: 8 MHz
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
PARTES DE UN ARDUINO
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
HISTORIA 
Fue inventado en el año 2005 por el entonces estudiante del instituto IVRAE Massimo Banzi, quien, en un principio, pensaba en hacer Arduino por una necesidad de aprendizaje para los estudiantes de computación y electrónica del mismo instituto, ya que en ese entonces, adquirir una placa de micro controladores eran bastante caro y no ofrecían el soporte adecuado; no obstante, nunca se imaginó que esta herramienta se llegaría a convertir en años más adelante en el líder mundial de tecnologías DIY (Do It Yourself). Inicialmente fue un proyecto creado no solo para economizar la creación de proyectos escolares dentro del instituto, sino que además, Banzi tenía la intención de ayudar a su escuela a evitar la quiebra de la misma con las ganancias que produciría vendiendo sus placas dentro del campus a un precio accesible (1 euro por unidad). 
El primer prototipo de Arduino fue fabricado en el instituto IVRAE. Inicialmente estaba basado en una simple placa de circuitos eléctricos, donde estaban conectados; un micro controlador simple junto con resistencias de voltaje, además de que únicamente podían conectarse sensores simples como leds u otras resistencias, y es más, aún no contaba con el soporte de algún lenguaje de programación para manipularla. 
CURIOSIDADES 
 Su nombre viene del nombre del bar Bar di Re Arduino donde Massimo Banzi pasaba algunas horas, el cual a su vez viene del nombre de un antiguo rey europeo allá por el año 1002. 
 A la fecha se han vendido más de 250 mil placas en todo el mundo sin contar las versiones clones y compatibles. 
 Google ha apostado por el proyecto y ha colaborado en el Android ADK (Accesory Development Kit), una placa Arduino capaz de comunicarse directamente con smartphones Android para obtener las funcionalidades del teléfono (GPS, acelerómetros,
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
GSM, abases de datos) y viceversa para que el teléfono controle luces, motores y sensores conectados de Arduino. 
 El primer prototipo fue desarrollado en el instituto IVRAE pero aún no se llamaba Arduino. 
 Para la producción en serie de la primera versión se tomaron en cuenta algunas consideraciones: Economía (no > a 30 Euros), debía ser Plug and Play, utilizaron el color azul para marcar una diferencia con las placas convencionales, trabajar en todas las plataformas (Mac, Windows y Linux). 
 En la feria Maker Fair del 2011 se presentó la primera placa Arduino de 32 Bit para trabajar tareas más pesadas. Entre ellas se presentó la impresora en 3D de MakerBot capaz de imprimir en resina cualquier modelo en 3D. 
PROYECTOS CON ARDUINO 
Se han trabajado variedad de proyectos con Arduino, dentro de los cuales se citan algunos ejemplos: 
 Un carro inalámbrico, controlado con un control remoto vía bluetooth y con el Arduino como receptor con un sensor bluetooth
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
 Un juego con pantalla touch incorporada en el Arduino 
 El trabajar con otros dispositivos electrónicos, como el Keypad, como dispositivo de entrada hacia el Arduino
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
FUNCIONES PRINCIPALES 
BASICO 
E/S DIGITALES 
COMUNICACIÓN CON PC 
ESTRUCTURAS DE CONTROL 
ARDUINO BÁSICO: LECTURA SERIAL DIGITAL 
ARDUINO DIGITAL: PULSADOR
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
ARDUINO DIGITAL: REPRODUCCIÓN DE TONOS CON DISTINTAS SALIDAS 
ARDUINO COMUNICACIÓN: ATENUADOR DE BRILLO
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
ESTRUCTURA DEL LENGUAJE 
ESTRUCTURA BÁSICA void setup() { // acá el código de setup, para que corra una vez: } void loop() { // acá el código principal para que corra repetidamente: } 
EJEMPLO const int buttonPin = 3; // setup initializes serial and the button pin void setup() { Serial.begin(9600); pinMode(buttonPin, INPUT); } // loop checks the button pin each time, // and will send serial if it is pressed void loop() { if (digitalRead(buttonPin) == HIGH) Serial.write('H'); else Serial.write('L'); delay(1000); } 
OPERADORES ARITMETICOS 
= (Operador de Asignación) 
+ (Adición) 
- (Sustracción) 
* (Multiplicación) 
/ (División) 
% (modulo)
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
OPERADORES DE COMPARACION 
== (Igual a) 
!= (No igual a) 
< (Menor que) 
> (Mayor que) 
<= (Menor o igual a) 
>= (Mayor o igual a) 
OPERADORES BOOLEANOS 
&& (And) 
|| (Or) 
! (Not) 
IF, IF…ELSE if (pinFiveInput < 500) 
{ 
// do Thing A 
} else if (pinFiveInput >= 1000) 
{ 
// do Thing B 
} else 
{ 
// do Thing C 
} 
FOR 
// Dim an LED using a PWM pin 
int PWMpin = 10; // LED in series with 470 ohm resistor on pin 10 
void setup() 
{ 
// no setup needed 
} 
void loop() 
{ for (int i=0; i <= 255; i++){ 
analogWrite(PWMpin, i); 
delay(10); 
}
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
} 
SWITCH CASE switch (var) { 
case 1: 
//do something when var equals 1 
break; 
case 2: 
//do something when var equals 2 
break; 
default: 
// if nothing else matches, do the default 
// default is optional 
} 
WHILE 
var = 0; while(var < 200){ // do something repetitive 200 times var++; } 
VARIABLES 
CONSTANTES HIGH | LOW INPUT | OUTPUT | INPUT_PULLUP LED_BUILTIN INTEGER CONSTANTS FLOATING POINT CONSTANTS 
TIPOS DE DATOS 
void 
boolean 
char 
unsigned char 
byte 
int 
unsigned int 
word 
long
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
unsigned long 
short 
float 
double 
string - char array 
String - object 
array 
CONVERSIONES 
char() 
byte() 
int() 
word() 
long() 
float() 
AMBIENTE DE LAS VARIABLES 
variable scope 
static 
volatile 
const 
FUNCIONES 
I/O DIGITALES 
pinMode() 
digitalWrite() 
digitalRead() 
I/O ANALOGICOS 
analogReference() 
analogRead() 
analogWrite() - PWM 
I/O AVANZADOS 
tone()
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
noTone() 
shiftOut() 
shiftIn() 
pulseIn() 
TIEMPO 
millis() 
micros() 
delay() 
delayMicroseconds() 
MATEMATICAS 
min() 
max() 
abs() 
constrain() 
map() 
pow() 
sqrt() 
TRIGONOMETRICAS 
sin() 
cos() 
tan() 
NUMEROS ALEATORIOS 
randomSeed() 
random()
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
BITS Y BYTES 
lowByte() 
highByte() 
bitRead() 
bitWrite() 
bitSet() 
bitClear() 
bit() 
INTERRUPCIONES EXTERNAS 
attachInterrupt() 
detachInterrupt() 
INTERRUPCIONES 
interrupts() 
noInterrupts() 
COMUNICACIÓN 
Serial 
Stream
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
EJEMPLOS 
ENCENDIDO Y APAGADO DE TRES 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. 
CODIGO 
// 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); 
pinMode(ledPin3, OUTPUT); 
digitalWrite(ledPin1, LOW); // Apaga los LEDs 
digitalWrite(ledPin2, LOW); 
digitalWrite(ledPin3, LOW); 
} 
void loop(){ //Bucle de Funcionamiento
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
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); 
} 
LECTURA DE UN PULSADOR 
Se utiliza una resistencia pull-dowm, junto con un pulsador, para conectarla a un pin de entrada digital, y de esta forma, poder saber cuándo 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. 
CODIGO 
/* Pulsador 
* -------- 
* Detecta si el botón ha sido presionado o no 
* y enciende el LED en consecuencia. 
*
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
*/ 
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); 
} 
POTENCIOMETRO: LECTURA DE UNA SEÑAL ANALOGICA 
Se conectan tres cables a la tarjeta Arduino. El primero va a tierra desde el terminal 1 del potenciómetro. El terminal 3 va a la salida de 5 voltios. El terminal 2 va desde la entrada analógica #2 hasta el terminal interno del potenciómetro. 
Girando el dial o ajustando el potenciómetro, cambiamos el valor de la resistencia variable. Esto produce oscilaciones dentro del rango de 5 y 0 voltios, que son capturados por la entrada analógica. 
CODIGO 
/* Potenciómetro 
* ------------------
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
* enciende y apaga un LED conectado al pin digital #13; 
* La cantidad de tiempo que el LED parpadeará depende del 
* valor obtenido mediante analogRead(). En este caso al pin 2 * 
* 
*/ 
int potPin = 2; // seleccionar el pin de entrada analógico para el potenciómetro 
int ledPin = 13; // seleccionar el pin de salida digital para el LED 
int val = 0; // variable para almacenar el valor capturado desde el sensor 
void setup() { 
pinMode(ledPin, OUTPUT); // declara el ledPin en modo salida 
} 
void loop() { 
val = analogRead(potPin); // lee el valor del sensor 
digitalWrite(ledPin, HIGH); // enciende LED 
delay(val); // detiene el programa por un tiempo “val” 
digitalWrite(ledPin, LOW); // apaga el LED 
delay(val); // detiene el programa por un tiempo “val” 
} 
CONTADOR DE 0 A 10 
Se trata de realizar una variación sobre el ejemplo anterior de tal manera que cuando el valor del contador llegue a 10 se ponga a cero y comience de nuevo.
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
CODIGO 
/* Programa Contador de 0 a 10 
* ----------- 
* Detecta si el botón conectado a la entrada 7 ha sido presionado y enciende el LED 
* Envía al PC el valor de la variable de cuenta ""Contador" vía puerto serie. 
* 
*/ 
int LED = 13; 
int Boton = 7; 
int valor = 0; 
int contador = 0; 
int estadoanteriorboton = 0; 
id setup() 
{ 
beginSerial(9600); // Configura velocidad de transmisión a 9600 
pinMode(LED, OUTPUT); // inicializa como salida digital el pin 13 
pinMode(Boton, INPUT); // inicializa como entrada digital el 7 
} 
void loop() 
{ 
valor = digitalRead(Boton); // lee el valor de la entrad digital pin 7 
digitalWrite(LED, valor); 
if(valor != estadoanteriorboton) 
{ 
if(valor == 1) 
{ 
contador++; 
printInteger(contador);
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
serialWrite(10); 
serialWrite(13); 
if (contador==10) { // Limita la cuenta al valor 10 
contador=0; 
} 
} 
} 
estadoanteriorboton = valor; 
} 
GENERADOR DE NOTAS MUSICALES 
Se trata de generar hasta 8 notas musicales por una de las salidas analógicas de Arduino –PIN10- 
Se debe crear un array (vector) de datos compuesto por los valores correspondientes a las 8 notas que se pretende sacar: 
int notas[] = {1915, 1700, 1519, 1432, 1275, 1136, 1014, 956} 
Se deben definir también el tiempo de pausa entre nota y nota y el tiempo de pausa de fin de secuencia de notas: 
int tnota=100; 
int pausa=100; 
Las iteraciones para el recorrido de las 8 notas se realizan con una instrucción de tipo for: 
for(n=0;n<8;n++) 
El tiempo de activado y desactivado de la salida del zumbador también se resuelve con un bucle for: 
for(m=0;m<=tnota;m++)
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
CODIGO 
// Generador de Notas Musicales 
int piezo=10; 
int notas[] = {1915, 1700, 1519, 1432, 1275, 1136, 1014, 956}; //cadena con los tiempos que corresponden a las distintas notas 
int n=0; 
int m= 0; 
int tnota=100; //nº de repeticiones del pulso. Nos da la duración de la nota 
int pausa=100; 
void setup() { 
pinMode(piezo,OUTPUT); 
} 
void loop(){ 
for(n=0;n<8;n++) 
{ //iteración que recorre la lista con las duraciones de los pulsos de cada nota 
for(m=0;m<=tnota;m++) 
{ 
digitalWrite(piezo,HIGH); 
delayMicroseconds(notas[n]); //Tiempo en microsegundos que está a 5V la 
salida del piezoeléctrico 
digitalWrite(piezo,LOW); 
delayMicroseconds(notas[n]); //Tiempo en microsegundos que está a 0V la 
salida del piezoeléctrico 
} 
delay(pausa); //tiempo en silencio entre escalas 
} 
}
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
ERRORES COMUNES 
¿Por qué tardan el software Arduino y/o el menú Herramientas mucho tiempo en abrir (en Windows)? 
 Si el software Arduino tarda mucho tiempo en ponerse en marcha y parece bloquearse al intentar abrir el menú Herramientas, existe un conflicto con otro dispositivo en su sistema. El software de Arduino, al arrancar y al abrir el menú Tools, trata de obtener una lista de todos los puertos COM de tu ordenador. Es posible que un puerto COM creado por uno de los dispositivos de tu equipo ralentice este proceso. Echa un vistazo en el Administrador de dispositivos. Intenta desactivar los dispositivos que usan los otros puertos COM (por ejemplo, dispositivos Bluetooth). 
¿Por qué no puedo subir mis programas a la placa Arduino? 
 En primer lugar asegurarse de que la placa está encendida (el LED verde está encendido) y conectada al ordenador. 
 A continuación, comprueba que el puerto correcto se ha seleccionado en el menú Tools > Serial Port (si el puerto no aparece, reinicia el IDE con la placa conectada al ordenador). 
 Asegúrate de que tiene el item correcto seleccionado en el menú Tools>Board. En particular, las nuevas placas Arduino Duemilanove vienen con un ATmega328, mientras que las antiguas tienen un ATmega168. Para comprobarlo, lee el texto impreso sobre el microcontrolador (el chip más grande) en tu placa Arduino. Para obtener más información sobre los ítems del menú Board, consulta la Guía para el entorno Arduino. 
 Desconecta los pines digitales 0 y 1, mientras que secarga el firmware (pueden conectarse y utilizarse después de que el código se haya subido). 
 Trata de cargar con nada más conectado a la placa (aparte del cable USB, por supuesto). 
 Asegúrate que la placa no toca nada metálico o conductor. 
 Comprueba que no estás ejecutando ningún programa que escanee todos los puertos serie, como aplicaciones de sincronización de PDA, Bluetooth, controladores USB (por ejemplo, BlueSoleil), Virtual Daemon Tools, etc 
 Asegúrate de que no tienes un software de firewall que bloquee el acceso al puerto serie (por ejemplo ZoneAlarm). 
 Es posible que debas salir de Processing, PD, vvvv, etc, si los estás utilizando para leer datos a través de la conexión USB o serie a la placa Arduino. 
 Si tienes una placa que no es compatible con auto-reset, asegúrate de que reinicias la placa un par de segundos antes de cargar. (Arduino Diecimila, Duemilanove, Mega, y Nano soportan auto-reset al igual que LilyPad, Pro y Pro Mini con conector de programación de 6-pines). 
 Sin embargo, ten en cuenta que algunos Diecimila fueron programados accidentalmente con el bootloader incorrecto y tal vez requieran volver a presionar el botón de reset físico antes de cargar, ver más sobre esta cuestión más adelante.
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
 Sin embargo, en algunos equipos, es posible que tengas que pulsar el botón de reset en la placa después de clicar el botón de descarga en el entorno Arduino. Pruebe diferentes intervalos de tiempo entre los dos, hasta 10 segundos o más. Ésto sucede con ordenadores antiguos o que ejecutan muchos procesos en paralelo. 
 Si recibes este error: [VP 1] device is not responding correctly. Intenta cargar el programa otra vez (es decir, resetea la placa y pulse el botón de descarga por segunda vez). 
 Asegúrate de que hay un bootloader en la placa Arduino. Para comprobarlo, conectar un LED al pin 13 (Arduino Duemilanove, Diecmila y Mega tienen un LED marcado con L que ya está conectado al pin 13) y resetea la placa. El LED debe parpadear. Si no es así, consulta la página del bootloader para obtener instrucciones sobre la grabación de un bootloader en la placa. 
 Si tienes una placa Arduino muy antigua, puede que tengas que cambiar la velocidad de transmisión de carga de sketches a 9.600 (19.200 es lo normal, o 57.600 para Arduino Mega). Tendrás que cambiar la velocidad en el archivo preferences directamente. Ver la página sobre el fichero de preferencias para obtener instrucciones sobre cómo encontrarlo. Búscalo en tu equipo y cambia la propiedad serial.download_rate para que coincida con la de tu placa. Lo dicho, si tu placa es muy antigua (Arduino NG o anterior), se recomienda que actualices al último bootloader (que funciona a 19.200 baudios). Esto se puede hacer con el menú Tools > Burn Bootloader por medio de un programador de hardware externo. 
¿Por qué aparece un java.lang.StackOverflowErrorcuando intento compilar mi programa? 
El entorno de desarrollo hace algunas transformaciones en el sketch de Arduino manipulando el código utilizando expresiones regulares. Esto a veces se confunde con ciertas cadenas de texto. Si aparece un error como: 
 java.lang.StackOverflowError 
 at java.util.Vector.addElement(Unknown Source) 
 at java.util.Stack.push(Unknown Source) 
 at com.oroinc.text.regex.Perl5Matcher._pushState(Perl5Matcher.java) 
Esto es lo que está pasando. Puedes buscar secuencias inusuales que supongan “comillas dobles”, “comilla simple”, las barras invertidas , comentarios, etc, en particular la secuencia ‘ “‘ parece ser la causa problemas, se recomienda el uso de ‘”‘ en su lugar. 
¿Qué pasa si mi tarjeta no se enciende (el LED verde no se enciende)? 
Si estás utilizando una tarjeta USB Diecimila o NG, asegúrate de que el puente (pieza de plástico pequeña cerca del conector USB) es en los pines correctos. Si tienes la certeza que tu placa recibe alimentación al usar una fuente de alimentación externa (conectado a la clavija de red), el puente debe ser más cercano a los dos pines para el cable de alimentación. Si, por el contrario, alimentas tu placa a través del puerto USB, el puente debe estar en los dos pines más cercanos a los conectores USB. Esta foto muestra la disposición para la alimentación de la placa del puerto USB.
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
¿Qué pasa con el error “No se pudo encontrar la clase principal.”? 
Si recibe este error al lanzar Arduino: 
 @ @ JJava Virtual Machine Launcher: Could not find the main class. Program will exit. @@ 
Asegúrate de que descomprimiste correctamente el contenido del fichero Arduino.zip - en particular, que el directorio libestá dentro del directorio Arduino y contiene el archivo pde.jar. 
¿Por qué se congela Arduino cuando intento cargar un programa? (En Windows)? 
Esto podría ser causado por un conflicto con el proceso de Logitech LVPrcSrv.exe, que es un programa residente en tu ordenador. Abre el Administrador de tareas y comprueba si este programa se está ejecutando, y si es así, cierra ese proceso antes de intentar subir más datos a la placa. 
¿Por qué no me no aparece mi placa en el menú Tools | Serial Port? 
 Si estás usando una placa USB Arduino, asegúrate de instalar los drivers FTDI (véase el link de instalación para instrucciones). Si estás utilizando un adaptador de USB a serie con una placa serie, asegúrate de instalar los drivers correspondientes. 
 Asegúrate de que la tarjeta está conectada: el menú del puerto serie se actualiza cada vez que abres la casilla Tools del menú, así que si acabas de desenchufar la placa, no estará en el menú. 
 Comprueba que no estás ejecutando ningún programa que escanea todos los puertos serie, como aplicaciones de sincronización de PDA, Bluetooth controladores USB (por ejemplo, BlueSoleil), etc 
 En Windows, el puerto COM asignado a la placa puede ser uno de código muy alto. En ocasiones se recomienda probar a cambiar el número asignado al chip FTDI por uno más bajo. Tal y cómo comenta Zeveland: 
o “Tuve un montón de puertos virtuales COM creados para Bluetooth por lo que la placa estaba configurada para utilizarCOM17. El IDE no fue capaz de encontrarla de modo que suprimí los otros puertos virtuales en el Panel de control (en XP) y trasladó el puerto asignado al chip FTDI de Arduino a otro más bajo, en concreto el COM2. Asegúrate de configurar el IDE de Arduino para utilizar el nuevo puerto y buena suerte. ” 
 En Mac, si tienes una versión antigua de los controladores de FTDI, puede ser necesario borrarlos y reinstalar la última versión. 
¿Qué debo hacer si me da un error al lanzar “arduino.exe” en Windows? 
Si obtienes un error al hacer doble click en el ejecutable arduino.exe en Windows, por ejemplo: 
@ @ Arduino has encountered a problem and needs to close. @ @
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
Tendrás que poner en marcha Arduino utilizando el archivo run.bat situado en la misma carpeta. Por favor, ten paciencia, el entorno Arduino puede tomar algún tiempo para abrir según la configuración de tu ordenador.
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
PREGUNTAS FRECUENTES 
¿Qué quiere usted decir con hardware de código abierto? 
Acciones de hardware de código abierto tanto de los principios y de aproximación del software libre y de código abierto. En particular, creemos que la gente debería ser capaz de estudiar nuestro hardware para entender cómo funciona, realizar cambios en él, y compartir esos cambios. Para facilitar esto, liberamos todos los archivos originales de diseño (CAD) de Eagle para el hardware Arduino. Estos archivos están licenciados bajo una licencia Creative Commons Atribución-Compartir igual, lo que permite, tanto para trabajos derivados personales y comerciales, siempre que acreditan Arduino y liberan sus diseños bajo la misma licencia. El software de Arduino es también de código abierto. El código fuente para el entorno Java es liberado bajo la GPL y la C / C ++ bibliotecas microcontroladores están bajo la LGPL. 
¿Cómo puedo obtener una placa Arduino? 
Usted puede comprar una placa Arduino desde la tienda oficial en línea o de uno de los distribuidores que se relacionan en la compra de la página. Si prefiere construir su propio, consulte la tabla de Serial-Sided Individual Arduino, que puede ser grabado y montado fácilmente. 
¿Cuáles son las palcas oficiales de Arduino? 
Los tablones de anuncios oficiales de Arduino son los que aparecen en la página de hardware. Estas son tablas cuyos fabricantes trabajar con el equipo de Arduino para asegurar una buena experiencia de usuario, compatibilidad con el software de Arduino, y un producto de calidad. A cambio de su condición de juntas oficiales, los fabricantes pagan una cuota de licencia al equipo de Arduino para apoyar el desarrollo del proyecto. 
En general, se restringe el uso del nombre "Arduino" a las tablas oficiales. Si usted encuentra un producto con un nombre diferente, pero describió como "Arduino compatible", probablemente no es un consejo oficial y no financia el trabajo continuado en el proyecto. 
¿Puedo programar el Arduino en C? 
De hecho, ya está; el lenguaje de Arduino es simplemente un conjunto de funciones C / C ++ que se puede llamar desde el código. Su boceto sufre cambios menores (por ejemplo, generación automática de prototipos de funciones) y luego se pasa directamente a un / C ++ compilador C (avr-g ++). Todas las construcciones estándar de C y C ++ con el apoyo de avr-g ++ deben trabajar en Arduino.
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
¿Puedo usar un IDE diferente para programar la placa Arduino? 
Es posible compilar programas de Arduino utilizando otras herramientas de construcción (por ejemplo Makefiles y / o AVR Studio). Tendrá que configurar estos para enlazar con los archivos correspondientes en las bibliotecas del núcleo de Arduino.
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
CONCLUSIONES 
 Arduino es una plataforma de código abierto que permite el poder simplificar el proceso de trabajar con micro controladores  Es una herramienta para la toma de los equipos que pueden detectar y controlar más del mundo físico como sensores, luces, motores.  La configuración e instalación son pasos muy fáciles para poder desarrollar sobre el Arduino.  La variedad de tipos de Arduino, permiten el poder disponer de una gran variedad de ejemplos y posibilidades de aplicar en el mundo actual  La programación es similar a los lenguajes de alto nivel conocidos en la actualidad, por lo que el aprendizaje de la sintaxis no es compleja
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
RECOMENDACIONES 
 No desconectar bruscamente el cable usb, mientas se está cargando el programa hacia al Arduino desde la pc. 
 Si se está aprendiendo el lenguaje de programación, empezar por los conceptos básicos de estructura, comparadores y tipos de datos. 
 Si se trabajan con protoboard como agente de entrada o salida con el Arduino, no utilizar más de 5 voltios, esto que en cualquier caso no se llegara a dañar ningún puerto del Arduino. 
 Descargar el software original, directamente de la página oficial. 
 Visualizar y aplicar la variedad de ejemplos con los que disponible el software de programación del Arduino.
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
BIBLIOGRAFIA 
ARDUINO WEBSITE 
 http://arduino.cc/ 
 http://arduino.cc/en/pmwiki.php?n=Guide/Windows 
 http://arduino.cc/en/pmwiki.php?n=Reference/HomePage 
 http://arduino.cc/en/Main/FAQ 
 http://forum.arduino.cc/ 
 http://arduino.cc/en/Main/Software
ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 
ENLACES DE AYUDA 
 http://hacedores.com/cuantos-tipos-diferentes-de-arduino-hay/ 
 https://paruro.pe/aprende/arduino/funciones-principales 
 https://www.google.com/url?q=http://www.abcelectronica.net/app/download/5713008019/instalacionarduinoLEONARDO.pdf%3Ft%3D1352324153&sa=U&ei=FcByVO- 5HYKYgwSq3YOgCA&ved=0CAYQFjAB&client=internal-uds-cse&usg=AFQjCNH- vIBZ7m5Cepy0xeaC_tV4klngEQ

Contenu connexe

Tendances

Informe motor paso a paso
Informe motor paso a pasoInforme motor paso a paso
Informe motor paso a pasoAlicia Terrones
 
ELEMENTOS PRIMARIOS DE CONTROL
ELEMENTOS PRIMARIOS DE CONTROLELEMENTOS PRIMARIOS DE CONTROL
ELEMENTOS PRIMARIOS DE CONTROLEquipoSCADA
 
Neumatica informe terminado
Neumatica informe terminadoNeumatica informe terminado
Neumatica informe terminadoELVIS ORTEGA
 
Proyecto seguidor de línea
Proyecto seguidor de líneaProyecto seguidor de línea
Proyecto seguidor de líneaDuvan Aguilera
 
Cade simu
Cade simuCade simu
Cade simuRamixf
 
PLC y Electroneumática: Controles y automatismos eléctricos
PLC y Electroneumática: Controles y automatismos eléctricosPLC y Electroneumática: Controles y automatismos eléctricos
PLC y Electroneumática: Controles y automatismos eléctricosSANTIAGO PABLO ALBERTO
 
MI PROYECTO SENATI 2023.docx
MI PROYECTO SENATI 2023.docxMI PROYECTO SENATI 2023.docx
MI PROYECTO SENATI 2023.docxBethDuranCisneros
 
Sistema control onoff
Sistema control onoffSistema control onoff
Sistema control onoffSalvador-UNSA
 
Informe Seguidor De Linea
Informe Seguidor De LineaInforme Seguidor De Linea
Informe Seguidor De Lineacristi9908
 
Controladores (teoria de control)
Controladores (teoria de control)Controladores (teoria de control)
Controladores (teoria de control)martinezeduardo
 
Criterios de seleccion de sensores
Criterios de seleccion de sensores Criterios de seleccion de sensores
Criterios de seleccion de sensores Kevin Caballero
 
Máquina de llenado y tapado de Botellas - PPT
Máquina de llenado y tapado de Botellas - PPTMáquina de llenado y tapado de Botellas - PPT
Máquina de llenado y tapado de Botellas - PPTVicente De Moura
 

Tendances (20)

Sensores capacitivos
Sensores capacitivosSensores capacitivos
Sensores capacitivos
 
Informe motor paso a paso
Informe motor paso a pasoInforme motor paso a paso
Informe motor paso a paso
 
ELEMENTOS PRIMARIOS DE CONTROL
ELEMENTOS PRIMARIOS DE CONTROLELEMENTOS PRIMARIOS DE CONTROL
ELEMENTOS PRIMARIOS DE CONTROL
 
Tutorial cadesimu
Tutorial cadesimuTutorial cadesimu
Tutorial cadesimu
 
Neumatica informe terminado
Neumatica informe terminadoNeumatica informe terminado
Neumatica informe terminado
 
Proyecto seguidor de línea
Proyecto seguidor de líneaProyecto seguidor de línea
Proyecto seguidor de línea
 
Cade simu
Cade simuCade simu
Cade simu
 
Aparatos de Mando. Regulación y Control. Relés
Aparatos de Mando.  Regulación y Control.  RelésAparatos de Mando.  Regulación y Control.  Relés
Aparatos de Mando. Regulación y Control. Relés
 
PLC y Electroneumática: Controles y automatismos eléctricos
PLC y Electroneumática: Controles y automatismos eléctricosPLC y Electroneumática: Controles y automatismos eléctricos
PLC y Electroneumática: Controles y automatismos eléctricos
 
MI PROYECTO SENATI 2023.docx
MI PROYECTO SENATI 2023.docxMI PROYECTO SENATI 2023.docx
MI PROYECTO SENATI 2023.docx
 
8 2 convertidor-analogico_-digital
8 2 convertidor-analogico_-digital8 2 convertidor-analogico_-digital
8 2 convertidor-analogico_-digital
 
Sistema control onoff
Sistema control onoffSistema control onoff
Sistema control onoff
 
Sensores de Presión
Sensores de PresiónSensores de Presión
Sensores de Presión
 
Informe Seguidor De Linea
Informe Seguidor De LineaInforme Seguidor De Linea
Informe Seguidor De Linea
 
Controladores (teoria de control)
Controladores (teoria de control)Controladores (teoria de control)
Controladores (teoria de control)
 
Manual etiquetadora
Manual etiquetadoraManual etiquetadora
Manual etiquetadora
 
Presentacion sensores digitales y analogicos
Presentacion sensores digitales y analogicosPresentacion sensores digitales y analogicos
Presentacion sensores digitales y analogicos
 
Reporte compuertas logicas
Reporte compuertas logicas Reporte compuertas logicas
Reporte compuertas logicas
 
Criterios de seleccion de sensores
Criterios de seleccion de sensores Criterios de seleccion de sensores
Criterios de seleccion de sensores
 
Máquina de llenado y tapado de Botellas - PPT
Máquina de llenado y tapado de Botellas - PPTMáquina de llenado y tapado de Botellas - PPT
Máquina de llenado y tapado de Botellas - PPT
 

En vedette

Proyecto Arduino
Proyecto Arduino Proyecto Arduino
Proyecto Arduino Criz Azuara
 
ITT 18 Practicas Basicas de Arduino
ITT 18 Practicas Basicas de Arduino ITT 18 Practicas Basicas de Arduino
ITT 18 Practicas Basicas de Arduino El Gfe Davidson
 
Arduino Full Tutorial
Arduino Full TutorialArduino Full Tutorial
Arduino Full TutorialAkshay Sharma
 
Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...
Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...
Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...Tino Fernández
 
Arduino // Tarea 1 // Taller Representación
Arduino // Tarea 1 // Taller RepresentaciónArduino // Tarea 1 // Taller Representación
Arduino // Tarea 1 // Taller RepresentaciónComunidad Negocios
 
Tutorial Básico Arduino
Tutorial Básico ArduinoTutorial Básico Arduino
Tutorial Básico ArduinoElio Alvarado
 
Accelerating OpenERP accounting: Precalculated period sums
Accelerating OpenERP accounting: Precalculated period sumsAccelerating OpenERP accounting: Precalculated period sums
Accelerating OpenERP accounting: Precalculated period sumsBorja López
 
Bienaventuranzasdelhombreactual
BienaventuranzasdelhombreactualBienaventuranzasdelhombreactual
Bienaventuranzasdelhombreactualsalvadortorresm
 
How To Get The Most Of Your Employees' Efforts
How To Get The Most Of Your Employees' EffortsHow To Get The Most Of Your Employees' Efforts
How To Get The Most Of Your Employees' EffortsAniisu K Verghese
 
Sintesis informativa 30 04 2013
Sintesis informativa 30 04 2013Sintesis informativa 30 04 2013
Sintesis informativa 30 04 2013megaradioexpress
 

En vedette (20)

Proyecto arduino "discoteca"
Proyecto arduino "discoteca"Proyecto arduino "discoteca"
Proyecto arduino "discoteca"
 
Proyecto Arduino
Proyecto Arduino Proyecto Arduino
Proyecto Arduino
 
ITT 18 Practicas Basicas de Arduino
ITT 18 Practicas Basicas de Arduino ITT 18 Practicas Basicas de Arduino
ITT 18 Practicas Basicas de Arduino
 
PROYECTO ARDUINO
PROYECTO ARDUINOPROYECTO ARDUINO
PROYECTO ARDUINO
 
Reporte de Practica Arduino
Reporte de Practica ArduinoReporte de Practica Arduino
Reporte de Practica Arduino
 
Arduino Full Tutorial
Arduino Full TutorialArduino Full Tutorial
Arduino Full Tutorial
 
Proyecto de arduino
Proyecto de arduinoProyecto de arduino
Proyecto de arduino
 
Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...
Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...
Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...
 
Introducción a Arduino
Introducción a ArduinoIntroducción a Arduino
Introducción a Arduino
 
Arduino // Tarea 1 // Taller Representación
Arduino // Tarea 1 // Taller RepresentaciónArduino // Tarea 1 // Taller Representación
Arduino // Tarea 1 // Taller Representación
 
Arduino2
Arduino2Arduino2
Arduino2
 
Brazo Robótico
Brazo RobóticoBrazo Robótico
Brazo Robótico
 
Mini proyecto usando arduino
Mini proyecto usando arduinoMini proyecto usando arduino
Mini proyecto usando arduino
 
Proyecto Arduino
Proyecto ArduinoProyecto Arduino
Proyecto Arduino
 
Tutorial Básico Arduino
Tutorial Básico ArduinoTutorial Básico Arduino
Tutorial Básico Arduino
 
Helping Teens Drive Safer Around Large Commercial Vehicles
Helping Teens Drive Safer Around Large Commercial VehiclesHelping Teens Drive Safer Around Large Commercial Vehicles
Helping Teens Drive Safer Around Large Commercial Vehicles
 
Accelerating OpenERP accounting: Precalculated period sums
Accelerating OpenERP accounting: Precalculated period sumsAccelerating OpenERP accounting: Precalculated period sums
Accelerating OpenERP accounting: Precalculated period sums
 
Bienaventuranzasdelhombreactual
BienaventuranzasdelhombreactualBienaventuranzasdelhombreactual
Bienaventuranzasdelhombreactual
 
How To Get The Most Of Your Employees' Efforts
How To Get The Most Of Your Employees' EffortsHow To Get The Most Of Your Employees' Efforts
How To Get The Most Of Your Employees' Efforts
 
Sintesis informativa 30 04 2013
Sintesis informativa 30 04 2013Sintesis informativa 30 04 2013
Sintesis informativa 30 04 2013
 

Similaire à Arduino

TECNOLOGIA INDUSTRIAL CERTIFICADO.pdf
TECNOLOGIA INDUSTRIAL CERTIFICADO.pdfTECNOLOGIA INDUSTRIAL CERTIFICADO.pdf
TECNOLOGIA INDUSTRIAL CERTIFICADO.pdfogonzaloapaza
 
Valoracion-software-libre-2011
Valoracion-software-libre-2011Valoracion-software-libre-2011
Valoracion-software-libre-2011eusys
 
Valoración del software libre en la sociedad (2011)
Valoración del software libre en la sociedad (2011)Valoración del software libre en la sociedad (2011)
Valoración del software libre en la sociedad (2011)Benjamin Segura
 
Valoracion del software libre en la sociedad
Valoracion del software libre en la sociedadValoracion del software libre en la sociedad
Valoracion del software libre en la sociedadEnrique Ramos Ortiz
 
La evolucion de internet reducido
La evolucion de internet reducidoLa evolucion de internet reducido
La evolucion de internet reducidocpjk
 
trabajo escrito de Autodesk Infarworks - Garcia Arana y Solarte Gaitan.docx
trabajo escrito de Autodesk Infarworks - Garcia Arana y Solarte Gaitan.docxtrabajo escrito de Autodesk Infarworks - Garcia Arana y Solarte Gaitan.docx
trabajo escrito de Autodesk Infarworks - Garcia Arana y Solarte Gaitan.docxNICOLASFELIPESOLARTE
 
Baez interfaces
Baez interfacesBaez interfaces
Baez interfacescyeidi10
 
Trabajo del profe_de_comkputadpras_lmsauth_239ee32080e2c5c731afbf4bb266542f3b...
Trabajo del profe_de_comkputadpras_lmsauth_239ee32080e2c5c731afbf4bb266542f3b...Trabajo del profe_de_comkputadpras_lmsauth_239ee32080e2c5c731afbf4bb266542f3b...
Trabajo del profe_de_comkputadpras_lmsauth_239ee32080e2c5c731afbf4bb266542f3b...camivalen
 
Trabajo del profe_de_comkputadpras_lmsauth_239ee32080e2c5c731afbf4bb266542f3b...
Trabajo del profe_de_comkputadpras_lmsauth_239ee32080e2c5c731afbf4bb266542f3b...Trabajo del profe_de_comkputadpras_lmsauth_239ee32080e2c5c731afbf4bb266542f3b...
Trabajo del profe_de_comkputadpras_lmsauth_239ee32080e2c5c731afbf4bb266542f3b...camivalen
 

Similaire à Arduino (20)

TECNOLOGIA INDUSTRIAL CERTIFICADO.pdf
TECNOLOGIA INDUSTRIAL CERTIFICADO.pdfTECNOLOGIA INDUSTRIAL CERTIFICADO.pdf
TECNOLOGIA INDUSTRIAL CERTIFICADO.pdf
 
Apunte informática i
Apunte informática iApunte informática i
Apunte informática i
 
Valoracion-software-libre-2011
Valoracion-software-libre-2011Valoracion-software-libre-2011
Valoracion-software-libre-2011
 
VALORACIÓN DEL SOFTWARE LIBRE
VALORACIÓN DEL SOFTWARE LIBREVALORACIÓN DEL SOFTWARE LIBRE
VALORACIÓN DEL SOFTWARE LIBRE
 
Valoración del software libre en la sociedad (2011)
Valoración del software libre en la sociedad (2011)Valoración del software libre en la sociedad (2011)
Valoración del software libre en la sociedad (2011)
 
Valoracion del software libre en la sociedad
Valoracion del software libre en la sociedadValoracion del software libre en la sociedad
Valoracion del software libre en la sociedad
 
CDMIST120.pdf
CDMIST120.pdfCDMIST120.pdf
CDMIST120.pdf
 
La evolucion de internet reducido
La evolucion de internet reducidoLa evolucion de internet reducido
La evolucion de internet reducido
 
OpenGisSCADA
OpenGisSCADAOpenGisSCADA
OpenGisSCADA
 
trabajo escrito de Autodesk Infarworks - Garcia Arana y Solarte Gaitan.docx
trabajo escrito de Autodesk Infarworks - Garcia Arana y Solarte Gaitan.docxtrabajo escrito de Autodesk Infarworks - Garcia Arana y Solarte Gaitan.docx
trabajo escrito de Autodesk Infarworks - Garcia Arana y Solarte Gaitan.docx
 
Baez interfaces
Baez interfacesBaez interfaces
Baez interfaces
 
Open ERP Doc-06-tinyerp4.2
Open ERP Doc-06-tinyerp4.2Open ERP Doc-06-tinyerp4.2
Open ERP Doc-06-tinyerp4.2
 
DocOpenERP - Tiny erp4.2
DocOpenERP - Tiny erp4.2DocOpenERP - Tiny erp4.2
DocOpenERP - Tiny erp4.2
 
Unidad2
Unidad2Unidad2
Unidad2
 
Trabajo del profe_de_comkputadpras_lmsauth_239ee32080e2c5c731afbf4bb266542f3b...
Trabajo del profe_de_comkputadpras_lmsauth_239ee32080e2c5c731afbf4bb266542f3b...Trabajo del profe_de_comkputadpras_lmsauth_239ee32080e2c5c731afbf4bb266542f3b...
Trabajo del profe_de_comkputadpras_lmsauth_239ee32080e2c5c731afbf4bb266542f3b...
 
Trabajo del profe_de_comkputadpras_lmsauth_239ee32080e2c5c731afbf4bb266542f3b...
Trabajo del profe_de_comkputadpras_lmsauth_239ee32080e2c5c731afbf4bb266542f3b...Trabajo del profe_de_comkputadpras_lmsauth_239ee32080e2c5c731afbf4bb266542f3b...
Trabajo del profe_de_comkputadpras_lmsauth_239ee32080e2c5c731afbf4bb266542f3b...
 
Informe generacioninteractivaargentina
Informe generacioninteractivaargentinaInforme generacioninteractivaargentina
Informe generacioninteractivaargentina
 
Tp 2 la mejor pc.
Tp 2 la mejor pc.Tp 2 la mejor pc.
Tp 2 la mejor pc.
 
Web 2.0 y blog
Web 2.0 y blogWeb 2.0 y blog
Web 2.0 y blog
 
Redes
RedesRedes
Redes
 

Plus de Aleksander Grajeda

Plus de Aleksander Grajeda (11)

DHCP
DHCPDHCP
DHCP
 
Active directory
Active directoryActive directory
Active directory
 
Cómo conectarse a una red con windows con un teléfono o tablet con android
Cómo conectarse a una red con windows con un teléfono o tablet con androidCómo conectarse a una red con windows con un teléfono o tablet con android
Cómo conectarse a una red con windows con un teléfono o tablet con android
 
Escritorio remoto windows windows
Escritorio remoto windows windowsEscritorio remoto windows windows
Escritorio remoto windows windows
 
Virtualizar android
Virtualizar androidVirtualizar android
Virtualizar android
 
Compartir archivos entre ubuntu y windows y viceversa
Compartir archivos entre ubuntu y windows y viceversaCompartir archivos entre ubuntu y windows y viceversa
Compartir archivos entre ubuntu y windows y viceversa
 
Uso de maquina virtual e instalación de ubuntu
Uso de maquina virtual e instalación de ubuntuUso de maquina virtual e instalación de ubuntu
Uso de maquina virtual e instalación de ubuntu
 
Trifoliar
TrifoliarTrifoliar
Trifoliar
 
Machote
MachoteMachote
Machote
 
Manual de latex
Manual de latexManual de latex
Manual de latex
 
Como destapar una laptop
Como destapar una laptopComo destapar una laptop
Como destapar una laptop
 

Dernier

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilJuanGallardo438714
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxlosdiosesmanzaneros
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 

Dernier (15)

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 

Arduino

  • 1. UNIVERSIDAD DE SAN CARLOS DE GUATEMALA ARDUINO PRACTICA 2 PRO 2014 © ARDUINO PRACTICA 2: LEXGRAJEDA@GMAIL.COM ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES 1
  • 2. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 PREFACIO La finalidad del documento es demostrar respecto a uno de los nuevos avances en tecnología respecto al Hardware y Software. Su finalidad es enseñar al lector acerca de la plataforma Arduino. En una cultura en la cual estas tecnologías aún se muestran aun prematuras, también ha de ser un nuevo impulso para los avances a controlar lo que nos rodea con este pequeño micro controlador. Pero la dificultad del aprendizaje para el lenguaje, si no se tienen conocimientos básicos de programación, no deben inducir a que se abstenga uno de tratar de conocer esta plataforma. A fin de evitar complicaciones innecesarias se ha procurado tratar de explicar, en la mayor medida posible, los datos más relevantes para los cuales apoyarse para tener un conocimiento verdadero de esta plataforma.
  • 3. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 ÍNDICE PREFACIO ............................................................................................................................................ 2 ÍNDICE ................................................................................................................................................. 3 INTRODUCCIÓN .................................................................................................................................. 6 OBJETIVO GENERAL ............................................................................................................................ 7 OBJETIVOS ESPECIFICOS .................................................................................................................. 7 JUSTIFICACION .................................................................................................................................... 8 INSTALACION ...................................................................................................................................... 9 CONFIGURACION .............................................................................................................................. 12 TIPOS DE ARDUINO........................................................................................................................... 16 ARDUINO ONE ............................................................................................................................... 16 ARDUINO LEONARDO .................................................................................................................... 16 ARDUINO YÚN ............................................................................................................................... 16 ARDUINO ROBOT ........................................................................................................................... 17 ARDUINO ESPLORA ....................................................................................................................... 17 ARDUINO ETHERNET ..................................................................................................................... 18 ARDUINO MINI .............................................................................................................................. 18 ARDUINO NANO ............................................................................................................................ 18 ARDUINO PRO MINI ...................................................................................................................... 19 ARDUINO MICRO ........................................................................................................................... 19 LILYPAD ARDUINO USB.................................................................................................................. 19 PARTES DE UN ARDUINO .................................................................................................................. 20 HISTORIA ........................................................................................................................................... 21 CURIOSIDADES .............................................................................................................................. 21 PROYECTOS CON ARDUINO ........................................................................................................... 22 FUNCIONES PRINCIPALES ................................................................................................................. 24 ESTRUCTURA DEL LENGUAJE ............................................................................................................ 26 ESTRUCTURA BÁSICA .................................................................................................................... 26 OPERADORES ARITMETICOS ..................................................................................................... 26 OPERADORES DE COMPARACION ............................................................................................. 27
  • 4. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 OPERADORES BOOLEANOS ....................................................................................................... 27 IF, IF…ELSE ................................................................................................................................. 27 FOR ............................................................................................................................................ 27 SWITCH CASE ............................................................................................................................. 28 WHILE ........................................................................................................................................ 28 VARIABLES .................................................................................................................................... 28 CONSTANTES ............................................................................................................................. 28 TIPOS DE DATOS ........................................................................................................................ 28 CONVERSIONES ......................................................................................................................... 29 AMBIENTE DE LAS VARIABLES ................................................................................................... 29 FUNCIONES ................................................................................................................................... 29 I/O DIGITALES ............................................................................................................................ 29 I/O ANALOGICOS ....................................................................................................................... 29 I/O AVANZADOS ........................................................................................................................ 29 TIEMPO ...................................................................................................................................... 30 MATEMATICAS .......................................................................................................................... 30 TRIGONOMETRICAS................................................................................................................... 30 NUMEROS ALEATORIOS ............................................................................................................ 30 BITS Y BYTES .............................................................................................................................. 31 INTERRUPCIONES EXTERNAS..................................................................................................... 31 INTERRUPCIONES ...................................................................................................................... 31 COMUNICACIÓN ........................................................................................................................ 31 EJEMPLOS .......................................................................................................................................... 32 ENCENDIDO Y APAGADO DE TRES LEDS ........................................................................................ 32 CODIGO ..................................................................................................................................... 32 LECTURA DE UN PULSADOR .......................................................................................................... 33 CODIGO ..................................................................................................................................... 33 POTENCIOMETRO: LECTURA DE UNA SEÑAL ANALOGICA ............................................................ 34 CODIGO ..................................................................................................................................... 34 CONTADOR DE 0 A 10 ................................................................................................................... 35 CODIGO ..................................................................................................................................... 36 GENERADOR DE NOTAS MUSICALES ............................................................................................. 37 CODIGO ..................................................................................................................................... 38
  • 5. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 ERRORES COMUNES ......................................................................................................................... 39 ¿Por qué tardan el software Arduino y/o el menú Herramientas mucho tiempo en abrir (en Windows)? .................................................................................................................................... 39 ¿Por qué no puedo subir mis programas a la placa Arduino? ...................................................... 39 ¿Por qué aparece un java.lang.StackOverflowErrorcuando intento compilar mi programa? ...... 40 ¿Qué pasa si mi tarjeta no se enciende (el LED verde no se enciende)? ...................................... 40 ¿Qué pasa con el error “No se pudo encontrar la clase principal.”? ............................................ 41 ¿Por qué se congela Arduino cuando intento cargar un programa? (En Windows)? ................... 41 ¿Por qué no me no aparece mi placa en el menú Tools | Serial Port? ......................................... 41 ¿Qué debo hacer si me da un error al lanzar “arduino.exe” en Windows?.................................. 41 PREGUNTAS FRECUENTES ................................................................................................................ 43 ¿Qué quiere usted decir con hardware de código abierto? ......................................................... 43 ¿Cómo puedo obtener una placa Arduino? .................................................................................. 43 ¿Cuáles son las palcas oficiales de Arduino?................................................................................. 43 ¿Puedo programar el Arduino en C? ............................................................................................. 43 ¿Puedo usar un IDE diferente para programar la placa Arduino? ................................................ 44 CONCLUSIONES ................................................................................................................................. 45 RECOMENDACIONES ........................................................................................................................ 46 BIBLIOGRAFIA ................................................................................................................................... 47 ARDUINO WEBSITE ........................................................................................................................ 47 ENLACES DE AYUDA .......................................................................................................................... 48
  • 6. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 INTRODUCCIÓN Arduino es una herramienta para la toma de los equipos que pueden detectar y controlar más del mundo físico del ordenador de sobremesa. Es una plataforma de computación física de código abierto basado en una placa electrónica simple, y un entorno de desarrollo para escribir software para la placa. Arduino se puede utilizar para desarrollar objetos interactivos, teniendo las entradas de una variedad de interruptores o sensores, y el control de una variedad de luces, motores y otras salidas físicas. Los proyectos de Arduino pueden ser autónomos, o pueden comunicarse con el software que se ejecuta en la computadora (por ejemplo, Flash, Processing, MaxMSP) Las tablas se pueden montar a mano o comprados pre-ensamblada. El IDE de código abierto se puede descargar de forma gratuita, el lenguaje de programación de Arduino es una implementación de cableado, una plataforma que se basa en el entorno de programación multimedia de procesamiento.
  • 7. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 OBJETIVO GENERAL  Dar a conocer aspectos importantes sobre configuración, instalación y programación de la plataforma Arduino. OBJETIVOS ESPECIFICOS  Aprender los conceptos básicos de un micro controlador  Realizar programas sencillos para el aprendizaje de esta plataforma  Conocer los tipos de Arduino y las partes que lo componen
  • 8. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 JUSTIFICACION Hay muchos otros micro controladores y plataformas de micro controladores disponibles para la computación física. Arduino simplifica el proceso de trabajar con micro controladores, pero ofrece algunas ventajas para los profesores, estudiantes y aficionados interesados sobre otros sistemas. Asequible: Las placas Arduino son relativamente baratas en comparación con otras plataformas de micro controladores. Multiplataforma: Se ejecuta en los sistemas operativos Windows, Macintosh OSX y Linux. La mayoría de los sistemas de micro controladores están limitados a Windows. Entorno de programación simple, claro. El software está publicado como código abierto, disponible para la extensión por programadores experimentados. El idioma se puede ampliar a través de las bibliotecas C ++. Los planes para los módulos están publicados bajo una licencia de Creative Commons, por lo que los diseñadores de circuitos con experiencia pueden hacer su propia versión del módulo, ampliándolo y mejorándolo. Incluso los usuarios con poca experiencia pueden construir la versión tablero del módulo con el fin de entender cómo funciona y ahorrar dinero.
  • 9. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 INSTALACION Primero lo que se debe realizar, es descargar el software oficial de la página de Arduino, como se puede observar es multiplataforma: Se debe colocar el Arduino conectado con el cable usb al equipo, en Windows con Arduino One, aparece la siguiente ventana: Posteriormente se debe ejecutar el Programa de Instalación, para este caso Windows y la versión 1.0.6 de Arduino:
  • 10. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 Nos aparecerán los términos de licencia, los cuales debemos aceptar “I Agree” para poder continuar con la instalación: Durante la instalación se mostrara los componentes a instalar, en anteriores versiones como Windows XP, se instalaban los drives por aparte, en esta nueva versión todo se instala automática:
  • 11. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 Aparece la ventana respecto al controlador usb para el Arduino, aquí se da clic en “Instalar” En el Administrador de Dispositivos se podrá observar de que ya está reconocido el Arduino Uno para el puerto COM3:
  • 12. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 CONFIGURACION Al terminar la instalación y ejecutar la aplicación se debe de configurar el tipo de Arduino sobre el cual se estará trabajando, se navega desde el menú de “Herramientas”, “Tarjeta” y se seleccionar en este caso “Arduino Uno”:
  • 13. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 Posteriormente se verifica el puerto por el cual se trabaja con el Arduino One en “Herramientas”, “Puerto Serial”, “COM3”: La plataforma, cuenta con una gran gama de ejemplos, de los cuales el más común es el “Blink”; se navega desde el menú “Archivo”, “Ejemplos”, “01.Basics”, “Blink”:
  • 14. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 Ya cargado el código de “Blink” se procede a compilarlo y cargarlo hacia el Arduino, para ello se debe dar clic al botón que indica la flecha hacia el lado derecho: Cuando se ha terminado de transferir el programa compilado hacia el Arduino, se detalla un mensaje en la parte de debajo de la aplicación, la cual se ve de la siguiente forma:
  • 15. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 Lo que hace el Blink, es mandar un tren de pulsos constantes, similar a un reloj, los cuales se reflejan sobre el arduino
  • 16. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 TIPOS DE ARDUINO ARDUINO ONE Microcontrolador: ATmega328 Voltaje de funcionamiento: 5 V Pines I/O digitales: 14 (de los cuales 6 proveen salida PWM) Pines de entradas análogas: 6 Corriente DC por cada pin I/O: 40 mA Corriente DC en el pin de 3.3 V: 50 mA Memoria Flash: 32 KB (ATmega328) de los cuales 0.5 KB son utilizados por el bootloader SRAM: 2 KB (ATmega328) EEPROM: 1 KB (ATmega328) Velocidad de reloj: 16 MHz ARDUINO LEONARDO Microcontrolador: ATmega32u4 Voltaje de funcionamiento: 5 V Pines I/O digitales: 20 Pines de entradas análogas: 12 Corriente DC por cada pin I/O: 40 mA Corriente DC en el pin de 3.3 V: 50 mA Memoria Flash: 32 KB (ATmega32u4) de los cuales 4 KB son utilizados por el bootloader SRAM: 2 KB (ATmega32u4) EEPROM: 1 KB (ATmega328) Velocidad de reloj: 16 MHz ARDUINO YÚN Microcontrolador: ATmega32u4 Voltaje de funcionamiento: 5 V Pines I/O digitales: 20 Pines de entradas análogas: 12 Corriente DC por cada pin I/O: 40 mA Corriente DC en el pin de 3.3 V: 50 mA Memoria Flash: 32 KB (ATmega328) de los cuales 4 KB son utilizados por el bootloader SRAM: 2.5 KB (ATmega328) EEPROM: 1 KB (ATmega328) Velocidad de reloj: 16 MHz
  • 17. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 ARDUINO ROBOT Microcontrolador: ATmega32u4 Voltaje de funcionamiento: 5 V Pines I/O digitales: 5 Canales PWM: 6 Canales de entradas análogas: 4 (de los pines digitales I/O) Canales (multiplexados) de entradas análogas: 8 Corriente DC por cada pin I/O: 40 mA Memoria Flash: 32 KB (ATmega32u4) de los cuales 4 KB son utilizados por el bootloader SRAM: 2 KB (ATmega32u4) EEPROM (interno): 1 KB (ATmega32u4) EEPROM (externo): 512 KB (I2C) Velocidad de reloj: 16 MHz Teclado: 5 teclas Perilla: Potenciómetro conectado a un pin análogo LCD a color: Comunicación SPI Lector de tarjetas SD: Para tarjetas formateadas FAT16 Altavoz: 8 Ohms Compás digital: Proporciona la desviación desde el norte geográfico en grados Áreas de prototipado: 4 ARDUINO ESPLORA Microcontrolador: ATmega32u4 Voltaje de funcionamiento: 5 V Memoria Flash: 32 KB de los cuales 4 KB son utilizados por el bootloader SRAM: 2.5 KB EEPROM: 1 KB Velocidad de reloj: 16 MHz 4 Push bottons Joystick análoga con un push botton central Potenciómetro lineal Micrófono Fotorresistor Sensor de temperatura Acelerómetro de 3 ejes Buzzer Led RGB Conector para LCD
  • 18. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 ARDUINO ETHERNET Microcontrolador: ATmega328 Voltaje de funcionamiento: 5 V Pines I/O digitales: 14 (de los cuales 4 proveen salida PWM) Pines de entradas análogas: 6 Corriente DC por cada pin I/O: 40 mA Corriente DC en el pin de 3.3 V: 50 mA Memoria Flash: 32 KB (ATmega328) de los cuales 0.5 KB son utilizados por el bootloader SRAM: 2 KB (ATmega328) EEPROM: 1 KB (ATmega328) Velocidad de reloj: 16 MHz Controlador embebido Ethernet W5100 TCP/IP Tarjeta MicroSD, con adaptadores activos de voltaje ARDUINO MINI Microcontrolador: ATmega328 Voltaje de funcionamiento: 5 V Pines I/O digitales: 14 (de los cuales 6 proveen salida PWM) Pines de entradas análogas: 8 Corriente DC por cada pin I/O: 40 mA Memoria Flash: 32 KB de los cuales 2 KB son utilizados por el bootloader SRAM: 2 KB EEPROM: 1 KB Velocidad de reloj: 16 MHz ARDUINO NANO Microcontrolador: ATmega168 Voltaje de funcionamiento: 5 V Pines I/O digitales: 14 (de los cuales 6 proveen salida PWM) Pines de entradas análogas: 8 Corriente DC por cada pin I/O: 40 mA Memoria Flash: 16 KB de los cuales 2 KB son utilizados por el bootloader SRAM: 1 KB EEPROM: 512 bytes Velocidad de reloj: 16 MHz
  • 19. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 ARDUINO PRO MINI Microcontrolador: ATmega168 Voltaje de funcionamiento: 3.3 V Pines I/O digitales: 14 (de los cuales 6 proveen salida PWM) Pines de entradas análogas: 8 Corriente DC por cada pin I/O: 40 mA Memoria Flash: 16 KB de los cuales 2 KB son utilizados por el bootloader SRAM: 1 KB EEPROM: 512 bytes Velocidad de reloj: 8 MHz ARDUINO MICRO Microcontrolador: ATmega32u4 Voltaje de funcionamiento: 5 V Pines I/O digitales: 20 Canales PWM: 7 Pines de entradas análogas: 12 Corriente DC por cada pin I/O: 40 mA Corriente DC en el pin de 3.3 V: 50 mA Memoria Flash: 32 KB (ATmega32u4) de los cuales 4 KB son utilizados por el bootloader SRAM: 2.5 KB (ATmega32u4) EEPROM: 1 KB (ATmega32u4) Velocidad de reloj: 16 MHz LILYPAD ARDUINO USB Microcontrolador: ATmega32u4 Voltaje de funcionamiento: 3.3 V Pines I/O digitales: 9 Canales PWM: 4 Pines de entradas análogas: 4 Corriente DC por cada pin I/O: 40 mA Memoria Flash: 32 KB de los cuales 4 KB son utilizados por el bootloader SRAM: 2.5 KB EEPROM: 1 KB Velocidad de reloj: 8 MHz
  • 20. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 PARTES DE UN ARDUINO
  • 21. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 HISTORIA Fue inventado en el año 2005 por el entonces estudiante del instituto IVRAE Massimo Banzi, quien, en un principio, pensaba en hacer Arduino por una necesidad de aprendizaje para los estudiantes de computación y electrónica del mismo instituto, ya que en ese entonces, adquirir una placa de micro controladores eran bastante caro y no ofrecían el soporte adecuado; no obstante, nunca se imaginó que esta herramienta se llegaría a convertir en años más adelante en el líder mundial de tecnologías DIY (Do It Yourself). Inicialmente fue un proyecto creado no solo para economizar la creación de proyectos escolares dentro del instituto, sino que además, Banzi tenía la intención de ayudar a su escuela a evitar la quiebra de la misma con las ganancias que produciría vendiendo sus placas dentro del campus a un precio accesible (1 euro por unidad). El primer prototipo de Arduino fue fabricado en el instituto IVRAE. Inicialmente estaba basado en una simple placa de circuitos eléctricos, donde estaban conectados; un micro controlador simple junto con resistencias de voltaje, además de que únicamente podían conectarse sensores simples como leds u otras resistencias, y es más, aún no contaba con el soporte de algún lenguaje de programación para manipularla. CURIOSIDADES  Su nombre viene del nombre del bar Bar di Re Arduino donde Massimo Banzi pasaba algunas horas, el cual a su vez viene del nombre de un antiguo rey europeo allá por el año 1002.  A la fecha se han vendido más de 250 mil placas en todo el mundo sin contar las versiones clones y compatibles.  Google ha apostado por el proyecto y ha colaborado en el Android ADK (Accesory Development Kit), una placa Arduino capaz de comunicarse directamente con smartphones Android para obtener las funcionalidades del teléfono (GPS, acelerómetros,
  • 22. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 GSM, abases de datos) y viceversa para que el teléfono controle luces, motores y sensores conectados de Arduino.  El primer prototipo fue desarrollado en el instituto IVRAE pero aún no se llamaba Arduino.  Para la producción en serie de la primera versión se tomaron en cuenta algunas consideraciones: Economía (no > a 30 Euros), debía ser Plug and Play, utilizaron el color azul para marcar una diferencia con las placas convencionales, trabajar en todas las plataformas (Mac, Windows y Linux).  En la feria Maker Fair del 2011 se presentó la primera placa Arduino de 32 Bit para trabajar tareas más pesadas. Entre ellas se presentó la impresora en 3D de MakerBot capaz de imprimir en resina cualquier modelo en 3D. PROYECTOS CON ARDUINO Se han trabajado variedad de proyectos con Arduino, dentro de los cuales se citan algunos ejemplos:  Un carro inalámbrico, controlado con un control remoto vía bluetooth y con el Arduino como receptor con un sensor bluetooth
  • 23. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1  Un juego con pantalla touch incorporada en el Arduino  El trabajar con otros dispositivos electrónicos, como el Keypad, como dispositivo de entrada hacia el Arduino
  • 24. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 FUNCIONES PRINCIPALES BASICO E/S DIGITALES COMUNICACIÓN CON PC ESTRUCTURAS DE CONTROL ARDUINO BÁSICO: LECTURA SERIAL DIGITAL ARDUINO DIGITAL: PULSADOR
  • 25. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 ARDUINO DIGITAL: REPRODUCCIÓN DE TONOS CON DISTINTAS SALIDAS ARDUINO COMUNICACIÓN: ATENUADOR DE BRILLO
  • 26. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 ESTRUCTURA DEL LENGUAJE ESTRUCTURA BÁSICA void setup() { // acá el código de setup, para que corra una vez: } void loop() { // acá el código principal para que corra repetidamente: } EJEMPLO const int buttonPin = 3; // setup initializes serial and the button pin void setup() { Serial.begin(9600); pinMode(buttonPin, INPUT); } // loop checks the button pin each time, // and will send serial if it is pressed void loop() { if (digitalRead(buttonPin) == HIGH) Serial.write('H'); else Serial.write('L'); delay(1000); } OPERADORES ARITMETICOS = (Operador de Asignación) + (Adición) - (Sustracción) * (Multiplicación) / (División) % (modulo)
  • 27. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 OPERADORES DE COMPARACION == (Igual a) != (No igual a) < (Menor que) > (Mayor que) <= (Menor o igual a) >= (Mayor o igual a) OPERADORES BOOLEANOS && (And) || (Or) ! (Not) IF, IF…ELSE if (pinFiveInput < 500) { // do Thing A } else if (pinFiveInput >= 1000) { // do Thing B } else { // do Thing C } FOR // Dim an LED using a PWM pin int PWMpin = 10; // LED in series with 470 ohm resistor on pin 10 void setup() { // no setup needed } void loop() { for (int i=0; i <= 255; i++){ analogWrite(PWMpin, i); delay(10); }
  • 28. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 } SWITCH CASE switch (var) { case 1: //do something when var equals 1 break; case 2: //do something when var equals 2 break; default: // if nothing else matches, do the default // default is optional } WHILE var = 0; while(var < 200){ // do something repetitive 200 times var++; } VARIABLES CONSTANTES HIGH | LOW INPUT | OUTPUT | INPUT_PULLUP LED_BUILTIN INTEGER CONSTANTS FLOATING POINT CONSTANTS TIPOS DE DATOS void boolean char unsigned char byte int unsigned int word long
  • 29. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 unsigned long short float double string - char array String - object array CONVERSIONES char() byte() int() word() long() float() AMBIENTE DE LAS VARIABLES variable scope static volatile const FUNCIONES I/O DIGITALES pinMode() digitalWrite() digitalRead() I/O ANALOGICOS analogReference() analogRead() analogWrite() - PWM I/O AVANZADOS tone()
  • 30. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 noTone() shiftOut() shiftIn() pulseIn() TIEMPO millis() micros() delay() delayMicroseconds() MATEMATICAS min() max() abs() constrain() map() pow() sqrt() TRIGONOMETRICAS sin() cos() tan() NUMEROS ALEATORIOS randomSeed() random()
  • 31. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 BITS Y BYTES lowByte() highByte() bitRead() bitWrite() bitSet() bitClear() bit() INTERRUPCIONES EXTERNAS attachInterrupt() detachInterrupt() INTERRUPCIONES interrupts() noInterrupts() COMUNICACIÓN Serial Stream
  • 32. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 EJEMPLOS ENCENDIDO Y APAGADO DE TRES 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. CODIGO // 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); pinMode(ledPin3, OUTPUT); digitalWrite(ledPin1, LOW); // Apaga los LEDs digitalWrite(ledPin2, LOW); digitalWrite(ledPin3, LOW); } void loop(){ //Bucle de Funcionamiento
  • 33. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 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); } LECTURA DE UN PULSADOR Se utiliza una resistencia pull-dowm, junto con un pulsador, para conectarla a un pin de entrada digital, y de esta forma, poder saber cuándo 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. CODIGO /* Pulsador * -------- * Detecta si el botón ha sido presionado o no * y enciende el LED en consecuencia. *
  • 34. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 */ 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); } POTENCIOMETRO: LECTURA DE UNA SEÑAL ANALOGICA Se conectan tres cables a la tarjeta Arduino. El primero va a tierra desde el terminal 1 del potenciómetro. El terminal 3 va a la salida de 5 voltios. El terminal 2 va desde la entrada analógica #2 hasta el terminal interno del potenciómetro. Girando el dial o ajustando el potenciómetro, cambiamos el valor de la resistencia variable. Esto produce oscilaciones dentro del rango de 5 y 0 voltios, que son capturados por la entrada analógica. CODIGO /* Potenciómetro * ------------------
  • 35. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 * enciende y apaga un LED conectado al pin digital #13; * La cantidad de tiempo que el LED parpadeará depende del * valor obtenido mediante analogRead(). En este caso al pin 2 * * */ int potPin = 2; // seleccionar el pin de entrada analógico para el potenciómetro int ledPin = 13; // seleccionar el pin de salida digital para el LED int val = 0; // variable para almacenar el valor capturado desde el sensor void setup() { pinMode(ledPin, OUTPUT); // declara el ledPin en modo salida } void loop() { val = analogRead(potPin); // lee el valor del sensor digitalWrite(ledPin, HIGH); // enciende LED delay(val); // detiene el programa por un tiempo “val” digitalWrite(ledPin, LOW); // apaga el LED delay(val); // detiene el programa por un tiempo “val” } CONTADOR DE 0 A 10 Se trata de realizar una variación sobre el ejemplo anterior de tal manera que cuando el valor del contador llegue a 10 se ponga a cero y comience de nuevo.
  • 36. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 CODIGO /* Programa Contador de 0 a 10 * ----------- * Detecta si el botón conectado a la entrada 7 ha sido presionado y enciende el LED * Envía al PC el valor de la variable de cuenta ""Contador" vía puerto serie. * */ int LED = 13; int Boton = 7; int valor = 0; int contador = 0; int estadoanteriorboton = 0; id setup() { beginSerial(9600); // Configura velocidad de transmisión a 9600 pinMode(LED, OUTPUT); // inicializa como salida digital el pin 13 pinMode(Boton, INPUT); // inicializa como entrada digital el 7 } void loop() { valor = digitalRead(Boton); // lee el valor de la entrad digital pin 7 digitalWrite(LED, valor); if(valor != estadoanteriorboton) { if(valor == 1) { contador++; printInteger(contador);
  • 37. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 serialWrite(10); serialWrite(13); if (contador==10) { // Limita la cuenta al valor 10 contador=0; } } } estadoanteriorboton = valor; } GENERADOR DE NOTAS MUSICALES Se trata de generar hasta 8 notas musicales por una de las salidas analógicas de Arduino –PIN10- Se debe crear un array (vector) de datos compuesto por los valores correspondientes a las 8 notas que se pretende sacar: int notas[] = {1915, 1700, 1519, 1432, 1275, 1136, 1014, 956} Se deben definir también el tiempo de pausa entre nota y nota y el tiempo de pausa de fin de secuencia de notas: int tnota=100; int pausa=100; Las iteraciones para el recorrido de las 8 notas se realizan con una instrucción de tipo for: for(n=0;n<8;n++) El tiempo de activado y desactivado de la salida del zumbador también se resuelve con un bucle for: for(m=0;m<=tnota;m++)
  • 38. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 CODIGO // Generador de Notas Musicales int piezo=10; int notas[] = {1915, 1700, 1519, 1432, 1275, 1136, 1014, 956}; //cadena con los tiempos que corresponden a las distintas notas int n=0; int m= 0; int tnota=100; //nº de repeticiones del pulso. Nos da la duración de la nota int pausa=100; void setup() { pinMode(piezo,OUTPUT); } void loop(){ for(n=0;n<8;n++) { //iteración que recorre la lista con las duraciones de los pulsos de cada nota for(m=0;m<=tnota;m++) { digitalWrite(piezo,HIGH); delayMicroseconds(notas[n]); //Tiempo en microsegundos que está a 5V la salida del piezoeléctrico digitalWrite(piezo,LOW); delayMicroseconds(notas[n]); //Tiempo en microsegundos que está a 0V la salida del piezoeléctrico } delay(pausa); //tiempo en silencio entre escalas } }
  • 39. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 ERRORES COMUNES ¿Por qué tardan el software Arduino y/o el menú Herramientas mucho tiempo en abrir (en Windows)?  Si el software Arduino tarda mucho tiempo en ponerse en marcha y parece bloquearse al intentar abrir el menú Herramientas, existe un conflicto con otro dispositivo en su sistema. El software de Arduino, al arrancar y al abrir el menú Tools, trata de obtener una lista de todos los puertos COM de tu ordenador. Es posible que un puerto COM creado por uno de los dispositivos de tu equipo ralentice este proceso. Echa un vistazo en el Administrador de dispositivos. Intenta desactivar los dispositivos que usan los otros puertos COM (por ejemplo, dispositivos Bluetooth). ¿Por qué no puedo subir mis programas a la placa Arduino?  En primer lugar asegurarse de que la placa está encendida (el LED verde está encendido) y conectada al ordenador.  A continuación, comprueba que el puerto correcto se ha seleccionado en el menú Tools > Serial Port (si el puerto no aparece, reinicia el IDE con la placa conectada al ordenador).  Asegúrate de que tiene el item correcto seleccionado en el menú Tools>Board. En particular, las nuevas placas Arduino Duemilanove vienen con un ATmega328, mientras que las antiguas tienen un ATmega168. Para comprobarlo, lee el texto impreso sobre el microcontrolador (el chip más grande) en tu placa Arduino. Para obtener más información sobre los ítems del menú Board, consulta la Guía para el entorno Arduino.  Desconecta los pines digitales 0 y 1, mientras que secarga el firmware (pueden conectarse y utilizarse después de que el código se haya subido).  Trata de cargar con nada más conectado a la placa (aparte del cable USB, por supuesto).  Asegúrate que la placa no toca nada metálico o conductor.  Comprueba que no estás ejecutando ningún programa que escanee todos los puertos serie, como aplicaciones de sincronización de PDA, Bluetooth, controladores USB (por ejemplo, BlueSoleil), Virtual Daemon Tools, etc  Asegúrate de que no tienes un software de firewall que bloquee el acceso al puerto serie (por ejemplo ZoneAlarm).  Es posible que debas salir de Processing, PD, vvvv, etc, si los estás utilizando para leer datos a través de la conexión USB o serie a la placa Arduino.  Si tienes una placa que no es compatible con auto-reset, asegúrate de que reinicias la placa un par de segundos antes de cargar. (Arduino Diecimila, Duemilanove, Mega, y Nano soportan auto-reset al igual que LilyPad, Pro y Pro Mini con conector de programación de 6-pines).  Sin embargo, ten en cuenta que algunos Diecimila fueron programados accidentalmente con el bootloader incorrecto y tal vez requieran volver a presionar el botón de reset físico antes de cargar, ver más sobre esta cuestión más adelante.
  • 40. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1  Sin embargo, en algunos equipos, es posible que tengas que pulsar el botón de reset en la placa después de clicar el botón de descarga en el entorno Arduino. Pruebe diferentes intervalos de tiempo entre los dos, hasta 10 segundos o más. Ésto sucede con ordenadores antiguos o que ejecutan muchos procesos en paralelo.  Si recibes este error: [VP 1] device is not responding correctly. Intenta cargar el programa otra vez (es decir, resetea la placa y pulse el botón de descarga por segunda vez).  Asegúrate de que hay un bootloader en la placa Arduino. Para comprobarlo, conectar un LED al pin 13 (Arduino Duemilanove, Diecmila y Mega tienen un LED marcado con L que ya está conectado al pin 13) y resetea la placa. El LED debe parpadear. Si no es así, consulta la página del bootloader para obtener instrucciones sobre la grabación de un bootloader en la placa.  Si tienes una placa Arduino muy antigua, puede que tengas que cambiar la velocidad de transmisión de carga de sketches a 9.600 (19.200 es lo normal, o 57.600 para Arduino Mega). Tendrás que cambiar la velocidad en el archivo preferences directamente. Ver la página sobre el fichero de preferencias para obtener instrucciones sobre cómo encontrarlo. Búscalo en tu equipo y cambia la propiedad serial.download_rate para que coincida con la de tu placa. Lo dicho, si tu placa es muy antigua (Arduino NG o anterior), se recomienda que actualices al último bootloader (que funciona a 19.200 baudios). Esto se puede hacer con el menú Tools > Burn Bootloader por medio de un programador de hardware externo. ¿Por qué aparece un java.lang.StackOverflowErrorcuando intento compilar mi programa? El entorno de desarrollo hace algunas transformaciones en el sketch de Arduino manipulando el código utilizando expresiones regulares. Esto a veces se confunde con ciertas cadenas de texto. Si aparece un error como:  java.lang.StackOverflowError  at java.util.Vector.addElement(Unknown Source)  at java.util.Stack.push(Unknown Source)  at com.oroinc.text.regex.Perl5Matcher._pushState(Perl5Matcher.java) Esto es lo que está pasando. Puedes buscar secuencias inusuales que supongan “comillas dobles”, “comilla simple”, las barras invertidas , comentarios, etc, en particular la secuencia ‘ “‘ parece ser la causa problemas, se recomienda el uso de ‘”‘ en su lugar. ¿Qué pasa si mi tarjeta no se enciende (el LED verde no se enciende)? Si estás utilizando una tarjeta USB Diecimila o NG, asegúrate de que el puente (pieza de plástico pequeña cerca del conector USB) es en los pines correctos. Si tienes la certeza que tu placa recibe alimentación al usar una fuente de alimentación externa (conectado a la clavija de red), el puente debe ser más cercano a los dos pines para el cable de alimentación. Si, por el contrario, alimentas tu placa a través del puerto USB, el puente debe estar en los dos pines más cercanos a los conectores USB. Esta foto muestra la disposición para la alimentación de la placa del puerto USB.
  • 41. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 ¿Qué pasa con el error “No se pudo encontrar la clase principal.”? Si recibe este error al lanzar Arduino:  @ @ JJava Virtual Machine Launcher: Could not find the main class. Program will exit. @@ Asegúrate de que descomprimiste correctamente el contenido del fichero Arduino.zip - en particular, que el directorio libestá dentro del directorio Arduino y contiene el archivo pde.jar. ¿Por qué se congela Arduino cuando intento cargar un programa? (En Windows)? Esto podría ser causado por un conflicto con el proceso de Logitech LVPrcSrv.exe, que es un programa residente en tu ordenador. Abre el Administrador de tareas y comprueba si este programa se está ejecutando, y si es así, cierra ese proceso antes de intentar subir más datos a la placa. ¿Por qué no me no aparece mi placa en el menú Tools | Serial Port?  Si estás usando una placa USB Arduino, asegúrate de instalar los drivers FTDI (véase el link de instalación para instrucciones). Si estás utilizando un adaptador de USB a serie con una placa serie, asegúrate de instalar los drivers correspondientes.  Asegúrate de que la tarjeta está conectada: el menú del puerto serie se actualiza cada vez que abres la casilla Tools del menú, así que si acabas de desenchufar la placa, no estará en el menú.  Comprueba que no estás ejecutando ningún programa que escanea todos los puertos serie, como aplicaciones de sincronización de PDA, Bluetooth controladores USB (por ejemplo, BlueSoleil), etc  En Windows, el puerto COM asignado a la placa puede ser uno de código muy alto. En ocasiones se recomienda probar a cambiar el número asignado al chip FTDI por uno más bajo. Tal y cómo comenta Zeveland: o “Tuve un montón de puertos virtuales COM creados para Bluetooth por lo que la placa estaba configurada para utilizarCOM17. El IDE no fue capaz de encontrarla de modo que suprimí los otros puertos virtuales en el Panel de control (en XP) y trasladó el puerto asignado al chip FTDI de Arduino a otro más bajo, en concreto el COM2. Asegúrate de configurar el IDE de Arduino para utilizar el nuevo puerto y buena suerte. ”  En Mac, si tienes una versión antigua de los controladores de FTDI, puede ser necesario borrarlos y reinstalar la última versión. ¿Qué debo hacer si me da un error al lanzar “arduino.exe” en Windows? Si obtienes un error al hacer doble click en el ejecutable arduino.exe en Windows, por ejemplo: @ @ Arduino has encountered a problem and needs to close. @ @
  • 42. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 Tendrás que poner en marcha Arduino utilizando el archivo run.bat situado en la misma carpeta. Por favor, ten paciencia, el entorno Arduino puede tomar algún tiempo para abrir según la configuración de tu ordenador.
  • 43. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 PREGUNTAS FRECUENTES ¿Qué quiere usted decir con hardware de código abierto? Acciones de hardware de código abierto tanto de los principios y de aproximación del software libre y de código abierto. En particular, creemos que la gente debería ser capaz de estudiar nuestro hardware para entender cómo funciona, realizar cambios en él, y compartir esos cambios. Para facilitar esto, liberamos todos los archivos originales de diseño (CAD) de Eagle para el hardware Arduino. Estos archivos están licenciados bajo una licencia Creative Commons Atribución-Compartir igual, lo que permite, tanto para trabajos derivados personales y comerciales, siempre que acreditan Arduino y liberan sus diseños bajo la misma licencia. El software de Arduino es también de código abierto. El código fuente para el entorno Java es liberado bajo la GPL y la C / C ++ bibliotecas microcontroladores están bajo la LGPL. ¿Cómo puedo obtener una placa Arduino? Usted puede comprar una placa Arduino desde la tienda oficial en línea o de uno de los distribuidores que se relacionan en la compra de la página. Si prefiere construir su propio, consulte la tabla de Serial-Sided Individual Arduino, que puede ser grabado y montado fácilmente. ¿Cuáles son las palcas oficiales de Arduino? Los tablones de anuncios oficiales de Arduino son los que aparecen en la página de hardware. Estas son tablas cuyos fabricantes trabajar con el equipo de Arduino para asegurar una buena experiencia de usuario, compatibilidad con el software de Arduino, y un producto de calidad. A cambio de su condición de juntas oficiales, los fabricantes pagan una cuota de licencia al equipo de Arduino para apoyar el desarrollo del proyecto. En general, se restringe el uso del nombre "Arduino" a las tablas oficiales. Si usted encuentra un producto con un nombre diferente, pero describió como "Arduino compatible", probablemente no es un consejo oficial y no financia el trabajo continuado en el proyecto. ¿Puedo programar el Arduino en C? De hecho, ya está; el lenguaje de Arduino es simplemente un conjunto de funciones C / C ++ que se puede llamar desde el código. Su boceto sufre cambios menores (por ejemplo, generación automática de prototipos de funciones) y luego se pasa directamente a un / C ++ compilador C (avr-g ++). Todas las construcciones estándar de C y C ++ con el apoyo de avr-g ++ deben trabajar en Arduino.
  • 44. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 ¿Puedo usar un IDE diferente para programar la placa Arduino? Es posible compilar programas de Arduino utilizando otras herramientas de construcción (por ejemplo Makefiles y / o AVR Studio). Tendrá que configurar estos para enlazar con los archivos correspondientes en las bibliotecas del núcleo de Arduino.
  • 45. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 CONCLUSIONES  Arduino es una plataforma de código abierto que permite el poder simplificar el proceso de trabajar con micro controladores  Es una herramienta para la toma de los equipos que pueden detectar y controlar más del mundo físico como sensores, luces, motores.  La configuración e instalación son pasos muy fáciles para poder desarrollar sobre el Arduino.  La variedad de tipos de Arduino, permiten el poder disponer de una gran variedad de ejemplos y posibilidades de aplicar en el mundo actual  La programación es similar a los lenguajes de alto nivel conocidos en la actualidad, por lo que el aprendizaje de la sintaxis no es compleja
  • 46. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 RECOMENDACIONES  No desconectar bruscamente el cable usb, mientas se está cargando el programa hacia al Arduino desde la pc.  Si se está aprendiendo el lenguaje de programación, empezar por los conceptos básicos de estructura, comparadores y tipos de datos.  Si se trabajan con protoboard como agente de entrada o salida con el Arduino, no utilizar más de 5 voltios, esto que en cualquier caso no se llegara a dañar ningún puerto del Arduino.  Descargar el software original, directamente de la página oficial.  Visualizar y aplicar la variedad de ejemplos con los que disponible el software de programación del Arduino.
  • 47. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 BIBLIOGRAFIA ARDUINO WEBSITE  http://arduino.cc/  http://arduino.cc/en/pmwiki.php?n=Guide/Windows  http://arduino.cc/en/pmwiki.php?n=Reference/HomePage  http://arduino.cc/en/Main/FAQ  http://forum.arduino.cc/  http://arduino.cc/en/Main/Software
  • 48. ARQUITECTURA DE COMPUTADORES Y ENSAMBLADORES1 ENLACES DE AYUDA  http://hacedores.com/cuantos-tipos-diferentes-de-arduino-hay/  https://paruro.pe/aprende/arduino/funciones-principales  https://www.google.com/url?q=http://www.abcelectronica.net/app/download/5713008019/instalacionarduinoLEONARDO.pdf%3Ft%3D1352324153&sa=U&ei=FcByVO- 5HYKYgwSq3YOgCA&ved=0CAYQFjAB&client=internal-uds-cse&usg=AFQjCNH- vIBZ7m5Cepy0xeaC_tV4klngEQ