SlideShare una empresa de Scribd logo
1 de 81
Descargar para leer sin conexión
[Arduino Workshop] Arduino Fundamentals @Globant Córdoba
Workshop
ARDUINO FUNDAMENTALS
FEB 2016
Workshop
ARDUINO FUNDAMENTALS
NOV 2015
El plan para hoy es:
● Hardware Libre & IoT en Globant
● Qué es Arduino, su hardware y software
● Algunos conceptos básicos de electricidad y electrónica
● Componentes electrónicos más utilizados
● Las distintas versiones de Arduino
● Herramientas básicas
● La programación de Arduino
● Ejecución de proyectos:
● Encender LEDs
● Controlar motores
● Incorporar sensores y “sentir” el entorno
● Construir un detector de stress.
● Crear una vínculo WiFi entre 2 Arduinos.
● Preguntas y Respuestas
Our Wearables & Internet of things Studio
Our Wearables & Internet of Things Studio was
created to bring to life technology solutions for the
ecosystem of wearable devices and other
applications of the internet of things
With the products developed in this Studio, we are able
to gather information about behavior, activities and
sensor collected data, and then process all that
information to develop new products and services. Its
practices include: Wearable Application Usability and
Interface Design, Native wearable and embedded
Development, Hardware Design and integration, and Data
Design & Management.haeology.
La Revolución del Hardware Libre
El hardware libre surge en los años 70 como un movimiento
radical de los aficionados a la electrónica y la computación
para compartir sus diseños y esquemas en la construcción
de sus dispositivos. Pero solo fue hasta finales de los 90,
con la inclusión de la filosofía de software libre y sus
populares 4 libertades que se popularizó hasta convertirse en
palabras de Chris Anderson, editor en jefe de la revista Wired
en “La próxima revolución industrial”
Pero es esta relación del hardware libre con el software libre
lo que ha permitido este crecimiento gigantesco, pero la
diferencia es que el hardware no es un intangible, por lo que
hay un costo de adquisición de los materiales. Lo que
permite es no tener que arrancar desde cero para hacer
muchas cosas. Poder tomar plataformas de circuitos que ya
fueron desarrolladas y son de libre acceso, como en el caso
de Arduino.
Y es precisamente Arduino, una plataforma de desarrollo
abierta, quien ha permitido acompañada de una cultura DIY,
(Do It Yourself- Hacelo vos mismo) y del Crowdsourcing
(Trabajo colaborativo) aportar gran parte de los diseños más
interesantes en este ámbito, ya sean impresoras en 3D o
macro proyectos como Local Motors.
Arduino Fundamentals
Arduino es una plataforma de prototipos electrónica de
código abierto (open-source) basada en hardware y
software flexibles y fáciles de usar. Está pensado para
artistas, diseñadores, como hobby y para cualquiera
interesado en crear objetos o entornos interactivos.
Arduino puede “sentir” el entorno mediante la recepción
de entradas desde una variedad de sensores y puede
afectar a su alrededor mediante el control de luces,
motores y otros artefactos. El microcontrolador de la
placa se programa usando el Arduino Programming
Language (basado en Wiring) y el Arduino Development
Environment (basado en Processing).
Los proyectos de Arduino pueden ser autónomos o se
pueden comunicar con software en ejecución en una PC.
Las placas se pueden ensamblar a mano o encargarlas
preensambladas; el software se puede descargar
gratuitamente. Los diseños de referencia del hardware
(archivos CAD) están disponibles bajo licencia open-
source, por lo que somos libres de adaptarlas a nuestras
necesidades.
¿Qué es Arduino?
Globant Proprietary | Confidential Information
Accesible
Las placas Arduino son relativamente baratas y siempre está la posibilidad de construirlas uno mismo.
Fácil de entender
¿Cómo construir algo que incluso un niño pueda usar? . .Es algo que uno de los creadores de Arduino, Massimo Banzi se preguntó a sí mismo. En una
TED talk , Massimo mostró niños realizando proyectos con Arduino. Uno de ellos, de 14 años de edad de Chile, desarrolló un sistema que detecta
terremotos y publica automáticamente información relevante en Twitter (él tiene ahí 280,000 followers). Se anticipó en un año a un proyecto similar del
gobierno de ese país.
Versátil
Arduino es tan versátil que sus posibles aplicaciones puede focalizarse en las más variadas disciplinas. Cuando ocurrió el desastre nuclear de
Fukushima, algunas personas en Japón se dieron cuenta que la información provista por su gobierno no era fiable. Entonces ese grupo de personas
construyó con Arduino 100 contadores Geiger basados en información disponible online y se los dieron a la gente. Hasta hoy, estos datos son
publicados en Internet. Placas Arduino son utilizadas en el Gran Colisionador de Hadrones en el CERN para colectar datos de colisión de partículas.
Abierto
Arduino es open source hardware o también llamado hardware libre. Esto significa que cualquier persona puede construirse su propio Arduino y hacer
negocios con él sin necesidad de pagar ningún tipo de licencia o royalty.
Comunidad Arduino
Arduino no solo es un team, involucra una enorme comunidad global creando y mejorando las cosas con la filosofía del software y hardware abierto.
¿Cual es el secreto del éxito de Arduino?
. . . . y algo que lo diferencia de otras plataformas similares:
No se necesita un hardware programador extra para hacer upload
del programa al chip. Se utiliza una simple conexión USB ya que el
programador viene incluído en la placa.
¿Cual es el secreto del éxito de Arduino?
Arduino ha despertado el furor del hardware libre mucho más allá de su marca comercial y su comunidad:
● Hay muchísimos proyectos similares a Arduino.
● La verdadera revolución es despertar el interés en los jóvenes la curiosidad sobre cómo funcionan las cosas …
y cómo construir cosas que interactúen con nuestro mundo.
● Algunos lo llaman la Nueva Revolución Industrial, incluyendo el fenómeno de las impresoras 3D que también
pueden construirse con Arduino
● Iot (Internet of Things)
El Arduino es descrito como una plataforma de creación de prototipos electrónicos de código abierto, fácil de usar. El producto
está dirigido a artistas, diseñadores, aficionados y cualquier persona interesada en la creación de objetos o entornos
interactivos.
El Arduino en el medio artístico se ha convertido en un “detrás de escena”, en la fuerza controladora que se encuentra en la
mayoría de las exposiciones interactivas vistas actualmente, la cual permite la autonomía de movimiento de un objeto o la
percepción del mismo y de otros fenómenos a través de sensores. Se asume la descripción “detrás de escena” ya que las piezas
que utilizan esta plataforma no hacen evidente su uso, sino el Arduino es la fuente o motor que ayuda a crear la pieza.
La tecnología ya no es un privilegio, ya que este es un controlador bastante accesible a consideración de su costo y la
multiplicidad de funciones que permite realizar al programador. Los avances tecnológicos se encuentran al alcance de todos y
cada vez es más sencillo tener acceso a ellos y poder manipularlos, para así, crear, interactuar y experimentar con ellos.
La Revolución del Hardware Libre
Arduino Fundamentals
Arduino está constituido en el hardware por un microcontrolador principal llamado Atmel
AVR de 8 bits (que es programable con un lenguaje de alto nivel), presente en la mayoría
de los modelos de Arduino, encargado de realizar los procesos lógicos y matemáticos
dentro de la placa, además de controlar y gestionar los recursos de cada uno de los
componentes externos conectados a la misma, tales como una amplia variedad de
sensores eléctricos, sensores de sonido, seguidores de línea, botones de control de
sensores, e incluso, otras placas de microcontroladores (mejor conocidos como Shields),
que pueden adaptarse fácilmente gracias a que Arduino cuenta con entradas de pines
analógicos y digitales para integrar estos componentes sin necesidad de alterar el diseño
original de esta placa.
Estos a su vez son controlados junto con el procesador primario por otros componentes
de menor jerarquía, pero de igual importancia y prioridad, como el Atmega168,
Atmega328, Atmega1280 y el Atmega8 , que son lo más utilizados debido a sus bajos
precios y gran flexibilidad para construir diversidad de diseños. Además, Arduino cuenta
con la ventaja de tener entre sus elementos principales puertos seriales de entrada /salida
(input/output), lo que le permite conectarse por medio de un cable USB a una
computadora para poder trabajar con ella desde nivel software, ya que es donde se le
darán las “órdenes” que ejecutarán cada uno de los componentes conectados a la placa, e
incluso, para operar como un dispositivo más (dependiendo de la configuración que
hayamos establecido y para que se quiere utilizar). Además, Arduino para operar necesita
de una fuente de alimentación externa, ya que no cuenta con una propia, por lo que
también se encuentra incorporada una entrada para conectar un cable con entrada similar
al USB, donde será conectado a un otro dispositivo que tenga entrada USB, o hasta en el
mismo dispositivo.
El Hardware de Arduino
Globant Proprietary | Confidential Information
Arduino Fundamentals
Las características generales de todas las placas Arduino son las siguientes:
● El microprocesador ATmega328
● 32 kbytes de memoria Flash
● 1 kbyte de memoria RAM
● Velocidad de reloj 16 MHz
● 13 pins para entradas/salidas digitales (programables)
● 5 pins para entradas analógicas
● 6 pins para salidas analógicas (salidas PWM)
● Completamente autónomo: Una vez programado no necesita estar conectado a la
PC
● Voltaje de operación 5V
● Voltaje de entrada (recomendado) 7-12 V
● Voltaje de entrada (limite) 6-20 V
● Digital I/O Pins 14 (con 6 salidas PWM)
● Entradas analógicas Pins 6
● Salida corriente DC 5V Pin 40 mA
● Salida corriente DC 3.3V Pin 50 mA
● Memoria Flash 32 KB (2 KB para el bootloader)
● SRAM 1 KB
● EEPROM 512 byte
El Hardware de Arduino UNO
Globant Proprietary | Confidential Information
Arduino Fundamentals
Arduino también es una plataforma que combina esto con un lenguaje de
programación que sirve para controlar los distintos sensores que se encuentran
conectados a la placa, por medio de instrucciones y parámetros que nosotros
establecemos al conectar la placa a un ordenador.
Este lenguaje que opera dentro de Arduino se llama Wiring, basado en la
plataforma Processing y primordialmente en el lenguaje de programación C/C++,
que se ha vuelto popular a tal grado de ser el más preferido para enseñar
programación a alumnos de nivel superior que estudian computación y robótica,
gracias que es muy fácil de aprender y brinda soporte para cualquier necesidad de
computación.
Arduino soporta varios lenguajes de programación de alto nivel derivados de C,
haciendo de esto una ventaja para los diseñadores que trabajan en varios o en 1
sólo entorno de desarrollo de programación. Para poder trabajar desde el nivel
programación del procesador, debe descargarse el software que incluye las
librerías necesarias para poder utilizar el lenguaje de manera completa.
La popularidad de Arduino hace que prácticamente todos los lenguajes de
programación más populares soporten Arduino o se comuniquen con él.
El Software de Arduino
Globant Proprietary | Confidential Information
Algunos conceptos básicos que necesitamos entender
La electricidad
La electricidad es un conjunto de fenómenos producidos por el movimiento e interacción entre las cargas eléctricas positivas y
negativas de los cuerpos físicos. Básicamente consiste en un flujo de electrones libres (los electrones tienen carga negativa)
Electricidad dinámica
La electricidad dinámica es la producida por una fuente permanente de electricidad que provoca la circulación permanente de
electrones a través de un conductor. Estas fuentes permanentes de electricidad pueden ser químicas o electromecánicas.
Un ejemplo de electricidad dinámica es la que existe en un circuito eléctrico que utiliza como fuente de electricidad una pila o una
dínamo.
Electricidad y magnetismo
La electricidad y el magnetismo son fenómenos de la Fìsica que están interrelacionados a tal punto que son parte de la misma fuerza:
el electromagnetismo. Una de las formas en que se manifiesta la electricidad es a través del magnetismo, ya que es un tipo de corriente
eléctrica que produce campos magnéticos. Éstos, a su vez, pueden llegar a producir corriente eléctrica.
El estudio de ambos fenómenos de una forma conjunta forma una rama de la Física denominada electromagnetismo.
Electrónica
La electrónica es el campo de la ingeniería y de la física aplicada, relativo al diseño y aplicación de dispositivos, por lo general circuitos
electrónicos, cuyo funcionamiento depende del flujo de electrones para la generación, transmisión, recepción, almacenamiento de
información, entre otros. Esta información puede consistir en voz o música como en un receptor de radio, en una imagen en una
pantalla de televisión, o en números u otros datos en una computadora.
Los circuitos electrónicos ofrecen diferentes funciones para procesar esta información, incluyendo la amplificación de señales débiles
hasta un nivel que se pueda utilizar; el generar ondas de radio; la extracción de información, como por ejemplo la recuperación de la
señal de sonido de una onda de radio (demodulación); el control, como en el caso de introducir una señal de sonido a ondas de radio
(modulación), y operaciones lógicas, como los procesos electrónicos que tienen lugar en las computadora
Conducción de la Electricidad
En los sólidos cristalinos, los átomos interaccionan con sus vecinos, y los niveles
de energía de los átomos individuales forman bandas. El hecho de que un material
conduzca o no, viene determinado por su estructura de bandas y por la ocupación
de dichas bandas determinada por los niveles de Fermi. Los electrones, al ser
fermiones, siguen el principio de exclusión de Pauli, por lo que dos electrones
dentro de un mismo sistema de interacciones no pueden ocupar el mismo estado,
lo cual significa que sus cuatro números cuánticos han de diferir. Así los
electrones en un sólido rellenan bandas de energía hasta un cierto nivel, llamado la
energía de Fermi. Las bandas que están completamente llenas de electrones no
pueden conducir la electricidad, porque no hay estados cercanos de energía a los
que los electrones puedan saltar. Los materiales con todas las bandas llenas (la
energía de Fermi es entre dos bandas) son aislantes.
Los metales son buenos conductores de la electricidad y del calor porque tienen
espacios sin rellenar en la banda de energía de valencia. (El nivel de Fermi marca
una ocupación sólo parcial de la banda). En ausencia de campos eléctricos, la
conducción eléctrica se produce en todas direcciones a velocidades muy elevadas.
Incluso a la temperatura más fría posible - en el cero absoluto - la conducción
eléctrica puede aún darse a las velocidad de Fermi (la velocidad de los electrones
con energía de Fermi). Cuando se aplica un campo eléctrico, un ligero desequilibrio
desarrolla un flujo de los electrones móviles. Los electrones de esta banda pueden
verse acelerados por el campo porque hay multitud de estados cercanos sin
rellenar en la banda.
Conductores, Semiconductores y Aislantes
Conductores
Litio, Sodio, Potasio, Cobre, Plata, Oro.
Semiconductores
Carbono, Silicio, Germanio
Aislantes
Fluor, Cloro, Bromo, Iodo.
En general, mientras menos electrones hay en la banda de valencia, menos energía se necesita para liberar un electrón y producir un flujo
eléctrico
Conductores Resistencia
La carga eléctrica es una
propiedad física intrínseca de
algunas partículas
subatómicas que se manifiesta
mediante fuerzas de atracción
y repulsión entre ellas.
En el Sistema Internacional de
Unidades la unidad de carga
eléctrica se denomina
culombio (símbolo C). Se
define como la cantidad de
carga que pasa por la sección
transversal de un conductor
eléctrico en un segundo,
cuando la corriente eléctrica
es de un amperio, y se
corresponde con la carga de
6,241 509 × 10^{18} electrones
aproximadamente
Si hablamos de conductores
podemos hablar de
conductancia que está
directamente relacionada con
la facilidad que ofrece un
material cualquiera al paso de
la corriente eléctrica. La
conductancia es lo opuesto a
la resistencia. A mayor
conductancia la resistencia
disminuye y viceversa, a mayor
resistencia, menor
conductancia, por lo que
ambas son inversamente
proporcionales.
Carga Eléctrica Corriente Eléctrica
Si hablamos de aislantes en este
caso nos podemos referir a la
resistencia pero no es una
propiedad exclusiva de estos, se
define como: la mayor o menor
oposición que tienen los
electrones para desplazarse a
través de un conductor. todos los
materiales se oponen en mayor o
menor medida al paso de la
corriente de hay que cada
material tenga una resistencia
determinada. la unidad de medida
en el Sistema Internacional es el
Ohm (Ω)
La resistividad es la resistencia
eléctrica específica de cada
material para oponerse al paso de
una corriente eléctrica. Se
designa por la letra griega Rho
minúscula (ρ) y se mide en
ohmios metro (Ω•m)
La corriente o intensidad
eléctrica es el flujo de carga
por unidad de tiempo que
recorre un material. Se debe al
movimiento de los electrones
en el interior del material.
Contrariamente al sentido
común, la corriente va
SIEMPRE del negativo al
positivo.
Conceptos Básicos
Potencial Eléctrico Aislantes
En el caso de los
semiconductores las bandas de
valencia y conducción se
encuentran separadas por una
brecha muy estrecha y esta
pequeña separación hace que sea
relativamente fácil moverse, no
con una gran libertad pero no les
hace imposible el movimiento. Se
comportan como un conductor o
como un aislante dependiendo de
diversos factores, como por
ejemplo el campo eléctrico o
magnético, la presión, la
radiación que le incide, o la
temperatura del ambiente en el
que se encuentre.
Entre los semiconductores más
empleados en el ámbito de la
industria, se encuentran el silicio,
el azufre y el germanio.
Es el trabajo que debe realizar
un campo electrostático para
mover una carga positiva q
desde el punto de referencia,
dividido por unidad de carga de
prueba. Dicho de otra forma,
es el trabajo que debe realizar
una fuerza externa para traer
una carga unitaria q desde la
referencia hasta el punto
considerado en contra de la
fuerza eléctrica.
Matemáticamente se expresa
por:
= joules/coulomb
El voltaje es una magnitud
física que cuantifica la
diferencia de potencial
eléctrico entre dos puntos
Semiconductores Bandas de Energía
En este caso las bandas de
valencia y conducción se
encuentran muy bien separadas
lo cual casi impide que los
electrones se muevan con mayor
libertad y facilidad. Por lo tanto,
este tipo de material NO conduce
corriente eléctrica.
La banda de valencia (BV):
está ocupada por los
electrones de valencia de los
átomos, es decir, aquellos
electrones que se encuentran
en la última capa o nivel
energético de los átomos. Los
electrones de valencia son los
que forman los enlaces entre
los átomos, pero no
intervienen en la conducción
eléctrica.
La banda de conducción (BC):
está ocupada por los
electrones libres, es decir,
aquellos que se han desligado
de sus átomos y pueden
moverse fácilmente. Estos
electrones son los
responsables de conducir la
corriente eléctrica.
Conceptos Básicos
La Ley de Ohm
En donde, empleando unidades del Sistema internacional:
I = Intensidad en amperios (A)
V = Diferencia de potencial en voltios (V)
R = Resistencia en ohmios (Se representa con la letra griega Ω-omega-)..
La ley de Ohm, establece que la intensidad de la corriente eléctrica que circula por un
dispositivo es directamente proporcional a la diferencia de potencial aplicada (voltage) e
inversamente proporcional a la resistencia del mismo, según expresa la fórmula
siguiente:
Conceptos Básicos
Resistencias Fijas
Su valor de resistencia es fijo.
Resistencias Variables
También llamados potenciómetros,
tienen un mando giratorio que hace
variar el valor de resistencia, por lo
tanto, el voltaje de salida varía según
la posición del mando
Resistencias
Obstaculizan el paso de la
corriente
Conceptos Básicos
LDR
(Light Dependant
Resistor)
Su valor de resistencia varía
según la cantidad de luz que
incide en él.
Son aquellas en las que el valor ohmico (de
resistencia) varía en función de una magnitud física.
las cuales son:
PTC (positive temperature coefficient = coeficiente positivo
con la temperatura ): aumenta el valor ohmico al aumentar la
temperatura de esta.
NTC (negative temperature coefficient = coeficiente negativo
con la temperatura): disminuye el valor ohmico al aumentar la
temperatura.
LDR (light depent resistor = resistencias dependientes de la
luz ): disminuye el valor ohmico al aumentar la luz que incide sobre
ella.
VDR (voltage dependent resistor = resistencias dependientes
de la tensión): disminuye el valor ohmico al aumentar el voltaje
Resistencias Especiales
Obstaculizan el paso de la corriente
Diodos
(semiconductores)
Permiten el paso de la
corriente SOLO en un sentido
y lo impiden en el otro.
Conceptos Básicos
Diodo Zener
Regulador de tensión, elemento
semiconductor de silicio que tiene
la característica de un diodo
normal cuando trabaja en sentido
de paso; pero en sentido inverso, y
para una corriente inversa superior
a un determinado valor, presenta
una tensión de valor constante.
LEDs
En el sentido
de bloqueo
de la
corriente,
emiten luz.
Diodo Laser
Es básicamente un LED con un lente
polarizador
Conceptos Básicos
No Polarizados
El positivo o negativo es
indistinto y, al igual que las
resistencias se conectan de
cualquier forma.
Polarizados
Tienen un pin positivo y otro
negativo y asi deben conectarse.
Condensadores
Es un dispositivo pasivo, capaz de almacenar
energía sustentando un campo eléctrico.
Está formado por un par de superficies
conductoras, generalmente en forma de
láminas o placas, separadas por un material
dieléctrico o por el vacío. Las placas,
sometidas a una diferencia de potencial,
adquieren una determinada carga eléctrica,
positiva en una de ellas y negativa en la otra,
siendo nula la variación de carga total.
Aunque desde el punto de vista físico un
condensador no almacena carga ni corriente
eléctrica, sino simplemente energía mecánica
latente; al ser introducido en un circuito se
comporta en la práctica como un elemento
"capaz" de almacenar la energía eléctrica que
recibe durante el periodo de carga, la misma
energía que cede después durante el periodo
de descarga.
Conceptos Básicos
Funcionamiento y Uso de Transistor
Siempre tienen al menos 3 patillas o pines y se llaman emisor, base y colector. Es muy importante saber
identificar bien las 3 patillas a la hora de conectarlo.
Un transistor es un componente que tiene, básicamente, dos funciones:
1. Deja pasar o corta señales eléctricas a partir de una PEQUEÑA señal de mando. Como Interruptor. Abre o
cierra para cortar o dejar pasar la corriente por el circuito.
2. Funciona como un elemento Amplificador de señales. Le llega una señal pequeña que se convierte en una
grande.
Pero el Transistor también puede cumplir funciones de amplificador, oscilador, conmutador o rectificador.
Un transistor puede tener 3 estados posibles en su trabajo dentro de un circuito:
- En activa : deja pasar más o menos corriente.
- En corte: no deja pasar la corriente.
- En saturación: deja pasar toda la corriente.
Transistores
El transistor es un dispositivo electrónico
semiconductor utilizado para entregar una
señal de salida en respuesta a una señal de
entrada.1 Cumple funciones de amplificador,
oscilador, conmutador o rectificador. El
término «transistor» es la contracción en
inglés de transfer resistor («resistencia de
transferencia»). Actualmente se encuentran
prácticamente en todos los aparatos
electrónicos de uso diario
2N2222
Sirve tanto para aplicaciones
de amplificación como de
conmutación. Puede
amplificar pequeñas
corrientes a tensiones
pequeñas o medias; por lo
tanto, sólo puede tratar
potencias bajas (no mayores
de 1.5 Watts).
Conceptos Básicos
Circuitos Integrados más usados en Arduino y Robotica
Circuitos
Integrados (IC)
Un circuito integrado,
también conocido como chip
o microchip, es una
estructura de pequeñas
dimensiones de material
semiconductor, de algunos
milímetros cuadrados de
área, sobre la que se
fabrican circuitos
electrónicos generalmente
mediante fotolitografía y que
está protegida dentro de un
encapsulado de plástico o de
cerámica. El encapsulado
posee conductores
metálicos apropiados para
hacer conexión entre el
Circuito Integrado y un
circuito impreso.
IC 555
El temporizador IC 555 es un circuito
integrado (chip) que se utiliza en una
variedad de aplicaciones y se aplica
en la generación de pulsos y de
oscilaciones. El 555 puede ser
utilizado para proporcionar retardos
de tiempo, como un oscilador, y
como un circuito integrado flip-flop
(llamado también simplemente
biestable, que tiene dos estados
estables, es decir,es capaz de
almacenar un número binario o bit)
IC L293D
Es de gran utilidad para
controlar pequeños motores
y actuadores de corriente
directa. Este circuito es
bastante utilizado en
robótica para controlar
motores a pasos y de
corriente directa.
IC ULN2803
Es muy usado cuando se quieren
hacer aplicaciones por puerto paralelo
y una de sus principales
características es que aporta la
potencia necesaria a las salidas del
puerto. Dicho puerto tiene una
intensidad de corriente que puede
proporcionar para encender un LED,
pero no para mover un motor. Permite
extraer 500 mA por pin de salida,
aplicando tensiones a la carga de
hasta 50v.
Microprocesadores Microcontroladores
Los microprocesadores tienen una arquitectura destinada al
procesamiento de la información. La características especial de
los microprocesadores es que la CPU, las memoria RAM, ROM y
periféricos se encuentran separados, no forman parte del chip; asi
mismo los programas que se realizan para un microprocesador
siempre tienen un fin.
El Intel Core i7 necesita memoria RAM, Rom y periféricos para
cumplir su función
En el caso de los microcontroladores tienen una arquitectura destinada
a procesos de control. Las características de los microcontroladores es
que en un solo chip pueden contar con la CPU memoria RAM, ROM,
periféricos, timers, conversores AD y DA. Los programas que se
realizan para un microcontrolador nunca tienen fin, es decir solo
termina el programa cuando se corta la energía.
El ATMEL Atmega328P es el corazón y cerebro de Arduino. Contiene
RAM, ROM y todo lo necesario para cumplir su función con excepción
de un cristal oscilador que le “marque” el ritmo.
Microprocesadores y Microcontroladores
Comparativo de las Arduino más vendidas
Placas Arduino
Partes de un Arduino
Pines Digitales y Analogicos
Vemos que el la plataforma Arduino
hay pines designados como
“Digitales” y pines “Analógicos”.
No se trata estrictamente de
entradas/salidas analógicas y
digitales.
Un pin digital es aquien que puede
tener dos valores o estados HIGH o
LOW.
Un pin analógico es aquel que puede
tener valores enteros de 0 a 1023.
Globant Proprietary | Confidential Information
Arduino IDE
Download:
https://www.arduino.
cc/en/Main/Software
Hay muchos IDEs no oficiales
para Arduino, desde plugins
para Eclipse y Visual Studio
hasta simuladores completos
en línea como Codebender.
Arduino IDE
Herramientas y Entorno de Trabajo
Protoboard
(También llamada “breadboard”)
Es una placa para prototipos que
tiene perforaciones interconectadas
y que facilita el armado de circuitos
electrónicos SIN necesidad de
soldaduras.
Es especialmente útil para diseñar y
probar un prototipo antes de
construir un circuito con conexiones
definitivas.
Interconexión
por dentro de
la protoboard
Interconexión
por dentro de
la protoboard
Herramientas y Entorno de Trabajo Jumpers
Cables cuyas terminales pueden ser
macho o hembra.
Herramientas y Entorno de Trabajo Tester
También llamado Multímetro o Polímetro, es una
herramienta esencial para trabajar en electrónica…
¿por qué?
Gracias al multímetro podemos comprobar el
correcto funcionamiento de los componentes y
circuitos electrónicos
El tester digital es un instrumento electrónico de
medición que generalmente calcula voltaje,
resistencia y corriente, aunque dependiendo del
modelo puede medir otras magnitudes como
capacitancia y temperatura.
Se trata de un instrumento de medición de
relativamente bajo costo (en Argentina los más
económicos cuestan approx. u$s 10 ).
Herramientas y Entorno de Trabajo Herramientas para Soldadura
El soldador o cautín eléctrico, es una herramienta
de relativo bajo costo y es aconsejable que tenga:
- Potencia de approx. 30-40 Watts
- Punta intercambiable (algunas soldaduras
necesitan puntas más finas)
Algunos soldadores vienen en un “kit” llamado
“estación de soldadura” que consta de apoyos para
no quemar la mesa de trabajo, regulador de
temperatura, luces del termostato, etc.
Para soldar necesitaremos también alambre de
estaño para soldaduras electrónicas de 0.8 mm de
diámetro.
NOTA: Para desarrollar un proyecto de Arduino NO es estrictamente necesario tener un soldador, pero si nuestro
circuito tiene éxito y queremos hacer un circuito con conexiones permanentes, lo necesitaremos con seguridad.
Herramientas y Entorno de Trabajo Baterías
Muchas veces la cantidad de energía que
la PC le provee a Arduino a través del
puerto USB no es suficiente.
Esto es crítico cuando conectamos
motores.
Por ello proveer de una fuente de
corriente continua externa a los
componentes de nuestro circuito nos
asegura el buen funcionamiento de la
placa Arduino.
Las pilas recargables de 9V son ideales y
es conveniente que tengan 2800 mAh.
También es conveniente contar con
conectores para los bornes de las pilas y
así facilitar el conexionado.
Herramientas y Entorno de Trabajo Poor Man’s Oscilloscope
Un osciloscopio digital vale al menos $6.000,
pero podemos obtener prácticamente los
mismos resultados utilizando una tarjeta de
sonido en la PC (dedicada o la que viene
onboard), más un cable de micrófono y el
software gratuito Visual Analyzer:
● El cable negro va a GND (tierra)
● El o los cable/s restantes serán puntas
de prueba de señales que vamos a
medir.
● Muchos cables de mic son demasiado
delgados y hay que buscar los más
robustos de modo que podamos
soldarlos.
● Si vamos a medir solo señales de los
pines de Arduino no hace falta más, pero
si queremos trabajar con mayor voltaje
debemos agregar una resistencia de 4.7
k Ohms y un condensador cerámico 104.
Herramientas y Entorno de Trabajo Software: Fritzing
Fritzing es un programa freeware de
automatización de diseño electrónico libre
que busca ayudar a diseñadores y artistas
para que puedan pasar de prototipos
(usando, por ejemplo, placas de pruebas)
a productos finales.
Fritzing fue creado bajo los principios de
Processing y Arduino, y permite a los
diseñadores, artistas, investigadores y
aficionados documentar sus prototipos
basados en Arduino y crear esquemas de
circuitos impresos para su posterior
fabricación. Además, cuenta dentro de la
misma aplicación de un “clon” del IDE de
Arduino, de modo que podemos hacer
todo ahí mismo.
Programación de Arduino Tipos de Memoria
Memoria Flash
Es donde Arduino almacena el sketch. Un sketch es el
nombre que usa Arduino para un programa. Es la unidad de
código que se sube y ejecuta en la placa Arduino. Esta
memoria es no volátil, si Arduino deja de ser alimentado
eléctricamente los datos que haya en esta memoria
permanecerán.
El tamaño de la memoria Flash de Arduino puede variar
dependiendo del microcontrolador, aunque no es muy
grande. Por ejemplo, para el chip ATmega168 el tamaño de
la memoria Flash es de 16 kilobytes, de los cuales 2
kilobytes son utilizados por el bootloader. Para el caso del
microcontrolador ATmega328 (como el que incorpora
Arduino UNO) el tamaño de la memoria Flash es de 32KB,
de los cuales el bootloader usa 0,5KB. Por lo que debemos
desarrollar los programas de forma muy optimizada,
usando los tipos de variables que menos memoria
requieran, en la medida de lo posible. También debemos
optimizar el código fuente de la aplicación para no repetir
líneas de código..
Memoria Flash Memoria SRAM Memoria EEPROM
Memoria SRAM
Es de tipo volátil, es el espacio donde los sketches
(programas) almacenan y manipulan variables al
ejecutarse. La información guardada en esta memoria será
eliminada cuando Arduino pierda la alimentación. Esta
memoria es de uso exclusivo para el programa en
ejecución.
La memoria SRAM de Arduino es muy pequeña, por lo que
debemos optimizar nuestros programas al máximo y no
abusar de variables de tipo char muy grandes. Hay que
tener en cuenta que cada carácter de una variable char
utiliza un byte. En el microcontrolador ATmega 168 el
tamaño de la memoria SRAM es de 1024 bytes, para el
caso de un chip ATmega328 (como el que incorpora
Arduino UNO) el tamaño es de 2KB (2048 bytes).
Si la SRAM se queda sin espacio, el programa de Arduino
fallará de forma imprevista, aunque se compile y se suba a
Arduino correctamente la aplicación no se ejecutará o se
ejecutará de manera extraña.
Memoria EEPROM
EEPROM es un espacio de memoria que puede ser
utilizado por los programadores para almacenar
información a largo plazo. Este tipo de memoria es no
volátil, por lo que los datos guardados en ella
permanecerán aunque Arduino pierda la alimentación.
Esta memoria puede ser usada para guardar valores si
es necesario. Más adelante explicaremos cómo
guardar y leer valores de esta memoria.
El tamaño de la EEPROM para un chip ATmega128 es
de 512 bytes, para un chip ATmega328 es de 1KB (1024
bytes). Hay que tener en cuenta que el tamaño de la
memoria EEPROM interna de Arduino es "pequeño"
pero Arduino admite añadir módulos de memoria
EEPROM externa de mayor tamaño
Programación de Arduino
Este es el workflow de desarrollo con el Arduino IDE.
La forma de “debuggear” un sketch es agregando entradas o “logs” en el el puerto serial.
NO tiene posibilidad de poner “breakpoints” y hacer un paso a paso.
En general los sketches son muy simples y no necesitan un debug, pero si nos hiciera falta debemos
considerar usar otro IDE como el ATMEL Studio (es gratuito y está desarrollado por el fabricante de los
microcontroladores de Arduino )
Programación de Arduino
La estructura básica del lenguaje de programación de Arduino es bastante simple y se compone de al menos dos partes.
Estas dos partes necesarias, o funciones, encierran bloques que contienen declaraciones, estamentos o instrucciones.
void setup() //Primera Parte
{
estamentos;
}
void loop() //Segunda Parte
{
estamentos;
}
En donde setup() es la parte encargada de recoger la configuración y loop() es la que contiene el programa que se
ejecutará cíclicamente (de ahí el término loop –bucle-). Ambas funciones son necesarias para que el programa trabaje.
La función de configuración (setup) debe contener la declaración de las variables. Es la primera función a ejecutar en el
programa, se ejecuta sólo una vez, y se utiliza para configurar o inicializar pinMode (modo de trabajo de las E/S),
configuración de la comunicación en serie y otras.
La función bucle (loop) siguiente contiene el código que se ejecutara continuamente (lectura de entradas, activación de
salidas, etc) Esta función es el núcleo de todos los programas de Arduino y la que realiza la mayor parte del trabajo.
Estructura de
un programa
de Arduino
Declaración de constantes y
declaración de uso de librerías
void setup() donde se declaran
e inicializan las variables.
Especialmente usado para
determinar el comportamiento
de los pines
void loop() donde se ejecuta
todo el flujo del programa.
Equivale al void main() de C++
Programación de Arduino
Manos a la obra !!!!!!!
Juntemos todos los elementos y herramientas,
planifiquemos, y comencemos el viaje.
Primer proyecto: Encender y Apagar LEDs
Procedimiento:
1. Desconectamos el Arduino de la PC.
2. Conectamos la pata más larga (positivo) de un LED de cualquier color en
el pin# 13 de la placa Arduino. La pata más corta (negativo) o
conectamos en el pin GND de la placa Arduino adyacente al pin# 13.
3. En la PC abrimos el Arduino IDE.
4. Abrimos el sketch File->Examples->Basic->Blink .
5. Conectamos Arduino a la PC por USB y verificamos que el IDE reconozca
la placa Arduino en un puerto COM, yendo a Tools->Port asegurándonos
que esté con un check mark el port donde lo conectamos.
6. Luego hacemos File->Upload (o Ctrl+U). En la consola inferior veremos
los detalles del proceso.
7. Una vez compilado el IDE hará el upload que será notado en el Arduino al
titilar rápidamente el LED.
8. Luego de unos instantes el LED deberá apagarse y encenderse cada 1
segundo.
9. Podemos variar el ritmo cambiando el valor de “delay” a 200 y luego
Ctrl+U nuevamente.
Objetivo: Encender y apagar LEDs
Vamos a usar los pines de conexión del Arduino para apagar y
encender un LED. Es el “Hola Mundo” de de electrónica.
NOTA Importante: Para este proyecto usaremos el pin #13 y el
pin GND adyacente para conectar un led aprovechando que
SOLO este pin tiene ya incorporada una resistencia para
proteger el circuito. Para conectar un LED a CUALQUIER OTRO
pin de Arduino deberemos colocar una resistencia de 220 ohms
(puede ser 300 ohms) entre el pin negativo del LED y GND.
Los LEDs tiene 2 “patas”, una larga y una corta. La pata larga es
POSITIVO y la corta es GND (ground, tierra o negativo)
Para este proyecto necesitaremos:.
● Una placa Arduino, protoboard y cables jumper.
● Un LED de cualquier color
● El cable USB-B =>USB que conecta el Arduino con la
PC
Conectaremos la pata positiva del LED al pin #13 de Arduino y
al pin GND adyacente la pata negativa.
Luego escribiremos el “sketch” o programa Arduino en el IDE
que instalamos en la PC.
Finalmente haremos un upload del sketch a la placa.
Proyecto #1
Primer proyecto: Encender y Apagar LEDs Proyecto #1
LEDs Proyecto #1
Red
Blue
Green
Common
En LEDs comunes el
ánodo (+) es más
largo.
¿Por qué debemos poner resistencias cuando usamos LEDs?
Un LED o diodo emisor de luz, es un componente
electrónico de estado sólido que produce luz de una
corriente eléctrica. A diferencia de una lámpara
incandescente que conduce la electricidad en dos
direcciones, un LED, al ser un diodo, conduce la
electricidad es una sola dirección. Su dirección preferida
permite la circulación de una cantidad perjudicial de
corriente a través del dispositivo, por lo que para limitar
la corriente es necesario añadir una resistencia a tu
circuito.
Programación de Arduino
Controlemos motores !
Encender y apagar LEDs puede ser muy útil cuando
necesitamos alertar sobre algún evento, pero hagamos algo
más interesante . .
Tipos de motores eléctricos para robótica
Motor DC (corriente directa)
Para funcionar NO necesitan ninguna
electrónica, solo conectar los dos cables a
positivo y negativo de una fuente o batería.
Según como lo conectemos el rotor girará
en sentido horario u antihorario
Motor Brushless
Son mucho más eficientes
energéticamente pero necesitan una
electrónica de control que “marque” el
ritmo del motor activando el paso de
electricidad a cada una de las bobinas.
Motor Servo
Son básicamente un motor DC con una serie
de engranajes que disminuyen su velocidad y
aumentan su fuerza (torque).
Pueden ser motores que solo giran en uno y
otro sentido en 180 grados o bien de rotación
continua (360 grados).
Tipos de motores eléctricos para robótica
Motor
Brushless
Son mucho más
eficientes
energéticamente pero
necesitan una
electrónica de control
que “marque” el ritmo
del motor activando
el paso de
electricidad a cada
una de las bobinas.
Tipos de motores eléctricos para robótica
Servo Motors
Desde el punto de vista de Arduino son los
más fáciles de controlar, ya que contienen
dentro del motor la electrónica de control
que permite manejarlos sólo por software.
Otra de sus características es que por
dentro tienen:
● Una placa electrónica que lo
controla
● Un juego de engranajes que le dan
mas torque (fuerza)
● Un motor DC común en su interior
Pueden girar 180 grados o continuamente.
Tipos de motores eléctricos para robótica
Actuadores
Un actuador es un dispositivo capaz de transformar energía
hidráulica, neumática o eléctrica en la activación de un proceso
con la finalidad de generar un efecto sobre un proceso
automatizado. Este recibe la orden de un regulador o
controlador y en función a ella genera la orden para activar un
elemento final de control como, por ejemplo, una válvula.
Estrictamente hablando, todos los motores
son actuadores, pero generalmente
llamamos así a los motores que proveen un
movimiento lineal.
Tipos de motores eléctricos para robótica
Motores Paso a Paso (Stepper)
El motor a paso es un dispositivo electromecánico que convierte una serie de impulsos eléctricos en desplazamientos
angulares discretos, lo que significa que es capaz de avanzar una serie de grados (paso) dependiendo de sus entradas
de control. El motor paso a paso se comporta de la misma manera que un conversor digital-analógico (D/A) y puede ser
gobernado por impulsos procedentes de sistemas lógicos.
Este motor presenta las ventajas de tener precisión y repetitividad en cuanto al posicionamiento
PWM (Pulse Width Modulation )
La modulación por ancho de
pulsos (también conocida como
PWM, siglas en inglés de pulse-
width modulation) de una señal o
fuente de energía, es una técnica
en la que se modifica el ciclo de
trabajo de una señal periódica
(una senoidal o una cuadrada, por
ejemplo), ya sea para transmitir
información a través de un canal
de comunicaciones o para
controlar la cantidad de energía
que se envía a una carga.
El ciclo de trabajo de una señal
periódica es el ancho relativo de
su parte positiva en relación con
el período.
PWM (Pulse Width Modulation )
Aquí podemos ver como funciona
en la práctica la técnica del PWM
para controlar servomotores
Por convención el cable rojo es
para alimentar el motor, el negro
GND (tierra) y el central que es
amarillo o blanco le envia la señal
con PWM.
PWM (Pulse Width Modulation )
. . Y. . . ¿Para qué nos puede servir?
Es especialmente útil para controlar la velocidad de los motores enviando en la propia señal eléctrica una
“instrucción” de cómo se debe comportar un dispositivo.
Segundo proyecto: Mover Motores
Procedimiento:
1. Desconectamos el Arduino de la PC.
2. Conectamos el terminal positivo (+) de la pila de 9v a un riel
de la protoboard que designaremos como riel de voltaje
positivo.
3. Conectamos el terminal negativo (-) de la pila de 9v a un riel
de la protoboard que designaremos como riel de voltaje
negativo.
4. Conectamos los cables negros de cada motor al “riel”
negativo de la protoboard.
5. Conectamos los cables rojos al “riel” de voltaje positivo +
de la protoboard.
6. Conectamos el tercer cable de cada servo motor a los pines
9 y 10 respectivamente.
7. Conectamos Arduino a la PC
8. Ejecutamos el IDE de Arduino. verificamos que haya
reconocido el puerto serie.
9. Compilamos y cargamos el programa.
Objetivo: Controlar servo motores
eléctricos
Vamos a conectar y controlar un motor servo de los que giran
180 grados en sentido horario y antihorario usados para mover
brazos y manos robóticas. También conectaremos un motor
servo de rotación continua de los que se usan para mover
robots con ruedas.
Los motores consumen mucha energía eléctrica que
generalmente superan la intensidad de corriente suministrada
por el USB de Arduino. Aquí tenemos 2 opciones: conectar los
motores a una fuente de energía externa (pila) o bien conectar
todo el sistema a una fuente de energía con 5 volts pero con
amperaje (intensidad de corriente) suficiente para alimentar la
placa y mover los motores.
Para este proyecto necesitaremos:.
● Una placa Arduino
● 1 motor servo
● 1 motor servo de rotación continua
● cables jumpers
● 1 pila de 9 volts
Proyecto #2
Segundo proyecto: Mover Motores Proyecto #2
El Puente “H”
H Bridge motor driver
Un Puente en H es un circuito electrónico que permite a un motor eléctrico DC girar en ambos sentidos, avance y retroceso. Son
ampliamente usados en robótica y como convertidores de potencia. Los puentes H están disponibles como circuitos integrados,
pero también pueden construirse a partir de componentes discretos.
El término "puente H" proviene de la típica representación gráfica del circuito. Un puente H se construye con 4 interruptores
(mecánicos o mediante transistores). Cuando los interruptores S1 y S4 (ver primera figura) están cerrados (y S2 y S3 abiertos)
se aplica una tensión positiva en el motor, haciéndolo girar en un sentido. Abriendo los interruptores S1 y S4 (y cerrando S2 y
S3), el voltaje se invierte, permitiendo el giro en sentido inverso del motor.
Relés (relay)
Relés
El relé (en francés relais, “relevo”) o
relevador es un dispositivo
electromagnético. Funciona como un
interruptor controlado por un circuito
eléctrico en el que, por medio de una bobina
y un electroimán, se acciona un juego de
uno o varios contactos que permiten abrir o
cerrar otros circuitos eléctricos
independientes.
Dado que el relé es capaz de controlar un
circuito de salida de mayor potencia que el
de entrada, puede considerarse, en un
amplio sentido, como un amplificador
eléctrico.
El electroimán hace girar la armadura
verticalmente al ser alimentada, cerrando
los contactos dependiendo de si es N.A ó N.
C (normalmente abierto o normalmente
cerrado). Si se le aplica un voltaje a la
bobina se genera un campo magnético, que
provoca que los contactos hagan una
conexión.
Sensores
Es un dispositivo capaz de detectar magnitudes físicas o
químicas, llamadas variables de instrumentación, y transformarlas
en variables eléctricas.
Las variables de instrumentación pueden ser por ejemplo:
temperatura, intensidad lumínica, distancia, aceleración,
inclinación, desplazamiento, presión, fuerza, torsión, humedad,
movimiento, pH, etc.
Una magnitud eléctrica puede ser una resistencia eléctrica, una
capacidad eléctrica (como en un sensor de humedad), una tensión
eléctrica (como en una termocupla), una corriente eléctrica (como
en un fototransistor), etc.
El sensor está siempre en contacto con la variable de
instrumentación con lo que puede decirse también que es un
dispositivo que aprovecha una de sus propiedades con el fin de
adaptar la señal que mide para que la pueda interpretar otro
dispositivo. Ej. el termómetro de mercurio que aprovecha la
propiedad que posee el mercurio de dilatarse o contraerse por la
acción de la temperatura. Un sensor también puede decirse que es
un dispositivo que convierte una forma de energía en otra.
Tercer proyecto: Identificar el entorno
Procedimiento:Objetivo: Identificar la cercanía de objetos
Vamos a utilizar el módulo detector de distancia a objetos por
ultrasonido SR04.
Utiliza el mismo principio que los murciélagos, ballenas y delfines
que emiten sonidos en frecuencias altas no audibles y, en función
del tiempo en que la onda supersónica vuelve al emisor, calcula la
distancia. Este sensor, por lo tanto tiene un emisor y un receptor y
devuelve un valor que representa la distancia. Sabemos la
velocidad de propagación del sonido en el aire, por lo que podemos
calcular la distancia en base al tiempo transcurrido hasta que el
sensor recibe el reflejo de esa onda en su sensor de recepción.
Este sensor tiene un alcance de entre unos 5 metros y 2 cm y es
apto para construir un detector de obstáculos en un robot.
Vamos a conectar el sensor a Arduino, leer los datos de distancia
poniendo nuestra mano a diferentes distancias del sensor. Cuando
la distancia es menor de 30 cm suena una alarma y se enciende un
LED Rojo. Caso contrario se enciende el LED verde.
Para este proyecto necesitaremos:.
● Una placa Arduino
● Un sensor SR04
● Protoboard y cables
● 1 LED rojo y otro verde. 2 resistencias de 220 ohms.
● 1 Buzzer
Proyecto #3
1. Seguiremos las instrucciones que
recibiremos en el Workshop
2.
Tercer proyecto: Identificar el entorno Proyecto #3
5v
Trigger
Echo
GND
Tercer proyecto: Identificar el entorno Proyecto #3
Cuarto proyecto: Detectar el Stress en las
Personas
Este Estudio del MIT muestra como se corresponde exactamente la
respuesta electrodérmica con los momentos más emocionantes de la
montaña rusa de Six Flags.
Objetivo: Crear un simple detector de stress
Vamos a aprovechar el fenómeno de la resistencia galvánica de
la piel humana.
Cuando una persona se encuentra en estado de stress (miedo,
excitación, etc.) se produce una disminución de la resistencia
en la piel debido a la producción de transpiración(el agua
salada es muy buena conductora de la electricidad). Este reflejo
se llama Respuesta Psicogalvánica o Respuesta
Electrodérmica.
Crearemos un par de “pads” de material conductor (uno para
positivo y el otro para negativo) sobre los que que el usuario
colocará dos de sus dedos.
El positivo irá conectado a uno de los pines de entrada
analógica de Arduino que, como es de esperar, nos dará el
voltaje.
A menor voltaje, menor resistencia. Estableceremos un valor a
partir del cual consideremos como “punto de stress” y cuando
la lectura del voltaje de la piel sea inferior a él dispararemos el
encendido de una señal sonora y el encendido de un LED.
Proyecto #4
Cuarto proyecto: Detectar el Stress en las
Personas
Objetivo: Crear un simple detector de stress
Proyecto #4
El proyecto va a ser muy simple y en cuanto a componentes
necesitaremos sólo 2 LEDs (uno verde y un rojo), y nos
construiremos nuestro propio “sensor” de la resistencia
galvánica de la piel.
Para medir esta respuesta necesitamos que el usuario ponga
dos dedos contiguos en sendos “pads” que construiremos
doblando en 2 un par de rectángulos de papel aluminio y
conectando por cable uno de ellos a GND y el otro a un pin de
entrada analógica de Arduino.
El pad conectado a la entrada analógica irá entregando un valor
que va de 0 a 1023 y que representa el voltaje (0 a 5 volts). El el
código veremos cómo ese cambio en el voltaje representa una
disminución de la resistencia de la piel y dispararemos una
alerta sonora y encenderemos el LED rojo cuando se ingrese en
esos valores.
El dispositivo requiere de una calibración para cada usuario y
originalmente lleva un potenciómetro para ese fin, pero lo
hemos suprimido para hacer este proyecto más sencillo y
posible de ejecutar hoy aquí.
La calibración la haremos modificando el código.
La distancia entre los
electrodos al efectuar las
lecturas debe ser como se
muestra arriba.
En el esquema de la
izquierda se muestran más
alternativas de conexión
pero requieren mayor
calidad en la construcción
de los electrodos.
Cuarto proyecto: Detectar el Stress
Procedimiento:
1. Desconectamos el Arduino de la PC.
2. Conectamos los cables y los LEDs según el
esquema previsto.
3. Conectamos Arduino a la PC
4. Ejecutamos el IDE
5. Compilamos y cargamos el programa en la
placa.
Proyecto #4
Para este proyecto necesitaremos:.
● Una placa Arduino
● Papel aluminio y cables
● Protoboard y cables
● 1 LED rojo y otro verde. 2 resistencias de 220 ohms.
● 1 Buzzer
Cuarto proyecto: Detectar el Stress en las Personas Proyecto #4
Quinto proyecto: Crear un vínculo Wireless
Objetivo: Crear un vínculo Wireless por
radiofrecuencia entre 2 Arduinos
Vamos a utilizar un módulo transmisor y otro receptor de muy
bajo costo para transmitir inalámbricamente los datos del
detector de stress.
Estos módulos transmiten datos mediante ondas de
radiofrecuencia de 433 Mhz y el conjunto tiene un costo de 4
u$s siendo la alternativa más económica para transmisiones de
Arduino.
Conectaremos unos de los pads del detector de stress y
enviaremos esas lecturas de un Arduino a otro en forma
inalámbrica.
Para este proyecto necesitaremos:.
● 2 placas Arduino (pueden ser diferentes)
● 1 juego de transmisor/receptor RF Link de 433 Mhz
● Cables + el pad del detector de stress
● 1 pila de 9v
Proyecto #5
Procedimiento:
1. Descotrolanectamos ambos Arduinos de la PC. Insertamos un
módulo en cada uno.
2. Cableamos según esquema. Conectamos uno a uno las placas y
cargamos el software
Quinto proyecto: Ambas caras del RF Link Kit Proyecto #5
Conectar
antena
Conectar
antena
Quinto proyecto: Crear un vínculo Wireless Proyecto #5
Transmisión por radiofrecuencia Proyecto #5
Radiofrecuencia (abreviado RF),
también denominado espectro de
radiofrecuencia, se aplica a la porción
menos energética del espectro
electromagnético, situada entre 3
hertz (Hz) y 300 GigaHertz (GHz).
La radiocomunicación es una forma de
telecomunicación que se realiza a
través de ondas de radio u ondas
hertzianas, la que a su vez está
caracterizada por el movimiento de los
campos eléctricos y campos
magnéticos. La comunicación vía radio
se realiza a través del espectro
radioeléctrico cuyas propiedades son
diversas dependiendo de su bandas
de frecuencia. Así tenemos bandas
conocidas como baja frecuencia,
media frecuencia, alta frecuencia, muy
alta frecuencia, ultra alta frecuencia,
etc. En cada una de ellas, el
comportamiento de las ondas es
diferente.
Transmisión por radiofrecuencia Proyecto #5
La transmisión se realiza por ondas de radiofrecuencia (transmisor y receptor deben trabajar a la misma frecuencia).
Un transductor y su antena transforma el pulso eléctrico en ondas de radio que se transmite por el aire. Luego, en el receptor, un
transductor y su antena transforman las ondas de radio en impulsos eléctricos.
Los valores del pulso eléctrico (cero o “n” volts = 0 y 1) serán los bits de información.
Como las antenas y en ambiente no son perfectos ni limpios de otras radiaciones hay siempre mucho “ruido” que distorsiona los
valores. Por ello la transmisión no se hace en bits “crudos” sino a través de un protocolo que asegura la recepción correcta de los
datos enviados. Los datos se envían en “paquetes” o “tramas”:
Este byte de sincronía
no forma parte del
paquete de datos pero
se envía para ajustar la
ganancia del receptor
0xAA = 10101010
es decir una onda
cuadrada
Este byte le indica al
receptor que se inicia el
paquete. Todos los
paquetes tienen el
mismo valor.
Este byte indica la
dirección del receptor
ej. la dirección IP o un
código único.
Aquí puede ir 1 o X
número de bytes con
los datos en sí
mismos..
Este byte es para controlar que
los datos son los correctos. Su
valor representa la siguiente
fórmula:
checksum = byte de dirección
+ byte de datos + byte de
datos . .
Sexto proyecto: Controlar el hardware via
Bluetooth Procedimiento:
1. Descotrolanectamos el Arduino de la PC.
2. Conectamos el módulo HC-05 / HC-06
3. Cableamos.
4. Cargamos el programa en la placa Arduino
5. Abrimos en nuestro smartphone alguna terminal bluetooth
6. Luego de aparear los dispositivos, Ingresamos en esa terminal “n” o
“f” lo que encenderá o apagará el led respectivamente.
Objetivo: Construir un enlace bluetooth
para controlar dispositivos conectados a
Arduino.
Vamos a utilizar un módulo Bluetooth para establecer una
comunicación serial inalámbrica y, a través de ella, enviar
remotamente órdenes al circuito y controlar el comportamiento
de algunos componentes como LEDs, motores, etc.
Para este proyecto necesitaremos:.
● Una placa Arduino
● Un módulo bluetooth HC-05
● 1 LED
● 1 servo motor
● Cables jumpers
● 1 pila de 9v con su bornera y cables.
Proyecto #6
Sexto proyecto: El módulo Bluetooth HC-05 Proyecto #6
Sexto proyecto: Controlar el hardware via
Bluetooth
Proyecto #6
Tips & Tricks
Como dijimos la RAM de los Arduinos es bien limitada. Hay un truco para evitar que algunas variables no ocupen
memoria RAM.
El truco consiste en anteponer “ ” a las variables cuando se definen fuera del y del .
La condición es sean realmente constantes y no necesitemos cambiar su valor.
La limitación es que no funciona con Strings ni con arrays. ¿Cuál es entonces la solución para estos casos?
Solo hay solución para los Strings y se trata de la función F(). Esta función ni siquiera está en la documentación
de Arduino, es como una función “escondida”. ¿Cómo se usa?
La estrategia de “ ” y nos ahorrará mucha memoria.
Próximos Pasos
Qué sige ahora?
Recordemos que siempre se pueden construir aplicaciones completas en hardware sin necesidad de escribir una
sola línea de código, es decir usando únicamente componentes electrónicos. Pero el desafío es poder construir
aplicaciones usando la menor cantidad de componentes electrónicos reemplazandolo en lo posible con código.
De este modo podemos hacer nuestros circuitos más baratos y fáciles de construir.
Otra cosa a tener en cuenta es que Arduino es una plataforma de prototipos general que contiene
funcionalidades con potencial para desarrollar aplicaciones de cierta complejidad.
Para prototipos es especialmente útil tener algo genérico , pero la mayoría de las veces nos encontraremos con
que nuestra aplicación se basa en leer un par de sensores y luego hacer algo con un motor, encender LEDs y/o
enviar los datos de lectura a algún lado.
Para esto, una placa Arduino es como un "cañón para matar hormigas" y deberíamos evaluar la posibilidad de
usar microcontroladores como el ATTiny85 que tienen un costo de menos de 6 dólares (en Argentina,.. en USA y
Europa cuestan centavos), y podrían cumplir perfectamente la función que le asignamos a una placa Arduino.
Iot (Internet of Things)
Una vez que tenemos nuestro circuito
conectado a Internet, podemos decir que
hemos entrado en el mundo del IoT.
Nuestro circuito estará colectando datos y
los estará publicando en línea.
Este es sólo el primer paso en IoT. COn ello
podemos imaginar soluciones innovadoras
con BigData & Analitycs, social
applications, alertas, sistemas de vigilancia,
de localización, de monitoreo, etc, etc.
Podemos desarrollar una plataforma IoT
propia o usar las que hay disponibles con
poderosas APIs REST para colectar
visualizar nuestros datos.
Aquí una lista de ejemplo.
1. ThingSpeak
2. Xively
3. Nimbits
4. SensorCloud
5. Exosite
6. EVRYTHNG
7. Paraimpu
MQTT es un protocolo
machine-to-machine
(M2M) para la "Internet of
Things" que se está
convirtiendo en un
standard.
Es un protocolo
publish/subscribe
Q&A
Thank You

Más contenido relacionado

La actualidad más candente

Intro Arduino
Intro ArduinoIntro Arduino
Intro ArduinoJc Karich
 
Tinkercad. Practicas y soluciones
Tinkercad. Practicas y solucionesTinkercad. Practicas y soluciones
Tinkercad. Practicas y solucionesEduardoCastillo8129
 
Arduino IEEE SB UMH - Mario Pérez Esteso
Arduino IEEE SB UMH - Mario Pérez EstesoArduino IEEE SB UMH - Mario Pérez Esteso
Arduino IEEE SB UMH - Mario Pérez EstesoMario Pérez Esteso
 
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: Plataforma de hardware libre
ARDUINO: Plataforma de hardware libreARDUINO: Plataforma de hardware libre
ARDUINO: Plataforma de hardware libreLuis Manuel Diaz
 
Manual arduino programació
Manual arduino programacióManual arduino programació
Manual arduino programacióvisentet
 
Proyecto Arduino
Proyecto ArduinoProyecto Arduino
Proyecto ArduinoArmando_V_G
 
Open hardware - Primeros pasos con Arduino
Open hardware - Primeros pasos con ArduinoOpen hardware - Primeros pasos con Arduino
Open hardware - Primeros pasos con ArduinoAlberto Labarga
 
Catalogo electronica arduino y robotica electan 2012 01
Catalogo electronica arduino y robotica electan 2012 01Catalogo electronica arduino y robotica electan 2012 01
Catalogo electronica arduino y robotica electan 2012 01sergey2915
 
Arduino en la práctica
Arduino en la prácticaArduino en la práctica
Arduino en la prácticaCesar Garcia
 

La actualidad más candente (20)

Arduino: Practicas con Arduino
Arduino: Practicas con ArduinoArduino: Practicas con Arduino
Arduino: Practicas con Arduino
 
ARDUBLOCK
ARDUBLOCKARDUBLOCK
ARDUBLOCK
 
Intro Arduino
Intro ArduinoIntro Arduino
Intro Arduino
 
Tinkercad. Practicas y soluciones
Tinkercad. Practicas y solucionesTinkercad. Practicas y soluciones
Tinkercad. Practicas y soluciones
 
Proyecto Vehiculo inteligente
Proyecto Vehiculo inteligenteProyecto Vehiculo inteligente
Proyecto Vehiculo inteligente
 
Resumen arduino
Resumen arduinoResumen arduino
Resumen arduino
 
Arduino IEEE SB UMH - Mario Pérez Esteso
Arduino IEEE SB UMH - Mario Pérez EstesoArduino IEEE SB UMH - Mario Pérez Esteso
Arduino IEEE SB UMH - Mario Pérez Esteso
 
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...
 
ARDUINO: Plataforma de hardware libre
ARDUINO: Plataforma de hardware libreARDUINO: Plataforma de hardware libre
ARDUINO: Plataforma de hardware libre
 
Arduino ttp
Arduino ttpArduino ttp
Arduino ttp
 
Diseño de carro a control remoto
Diseño de carro a control remoto Diseño de carro a control remoto
Diseño de carro a control remoto
 
Manual arduino programació
Manual arduino programacióManual arduino programació
Manual arduino programació
 
Tarea de sistemas (2)
Tarea de sistemas (2)Tarea de sistemas (2)
Tarea de sistemas (2)
 
Proyecto Arduino
Proyecto ArduinoProyecto Arduino
Proyecto Arduino
 
Tarjeta arduino
Tarjeta arduinoTarjeta arduino
Tarjeta arduino
 
Proyecto arduino "discoteca"
Proyecto arduino "discoteca"Proyecto arduino "discoteca"
Proyecto arduino "discoteca"
 
Open hardware - Primeros pasos con Arduino
Open hardware - Primeros pasos con ArduinoOpen hardware - Primeros pasos con Arduino
Open hardware - Primeros pasos con Arduino
 
Catalogo electronica arduino y robotica electan 2012 01
Catalogo electronica arduino y robotica electan 2012 01Catalogo electronica arduino y robotica electan 2012 01
Catalogo electronica arduino y robotica electan 2012 01
 
Manual Arduino Electronica
Manual Arduino Electronica  Manual Arduino Electronica
Manual Arduino Electronica
 
Arduino en la práctica
Arduino en la prácticaArduino en la práctica
Arduino en la práctica
 

Destacado

[Webinar] How to engage teams in the digital era
[Webinar] How to engage teams in the digital era[Webinar] How to engage teams in the digital era
[Webinar] How to engage teams in the digital eraGlobant
 
Control-techniques-for-brushless-motors
 Control-techniques-for-brushless-motors Control-techniques-for-brushless-motors
Control-techniques-for-brushless-motorspattala01
 
The State of Arduino and IoT
The State of Arduino and IoTThe State of Arduino and IoT
The State of Arduino and IoTJustin Grammens
 
IoT Knowledge Forum Slides by Deepak Gupta
IoT Knowledge Forum Slides by Deepak GuptaIoT Knowledge Forum Slides by Deepak Gupta
IoT Knowledge Forum Slides by Deepak GuptaTechXpla
 
Introduction to iot and arduino uno r3
Introduction to iot and arduino uno r3Introduction to iot and arduino uno r3
Introduction to iot and arduino uno r3Saurav Chaudhary
 
IOT Talking to Webserver - how to
IOT Talking to Webserver - how to IOT Talking to Webserver - how to
IOT Talking to Webserver - how to Indraneel Ganguli
 
IoT Devices And Arduino
IoT Devices And ArduinoIoT Devices And Arduino
IoT Devices And Arduino영욱 김
 
Beginning IoT for Developers
Beginning IoT for DevelopersBeginning IoT for Developers
Beginning IoT for DevelopersAbhishek Kant
 
Dispositivos y técnicas
Dispositivos y técnicasDispositivos y técnicas
Dispositivos y técnicasPablo Gindel
 
Electrónica 1 – fundamentos 1
Electrónica 1 – fundamentos 1Electrónica 1 – fundamentos 1
Electrónica 1 – fundamentos 1Pablo Gindel
 
Electrónica 5 – electrónica digital
Electrónica 5 – electrónica digitalElectrónica 5 – electrónica digital
Electrónica 5 – electrónica digitalPablo Gindel
 
Microcontroladores 3 – conversor A/D; DSP
Microcontroladores 3 – conversor A/D; DSPMicrocontroladores 3 – conversor A/D; DSP
Microcontroladores 3 – conversor A/D; DSPPablo Gindel
 
Usando el Attiny85
Usando el Attiny85Usando el Attiny85
Usando el Attiny85Pablo Gindel
 
Microcontroladores 6 – interrupciones
Microcontroladores 6 – interrupcionesMicrocontroladores 6 – interrupciones
Microcontroladores 6 – interrupcionesPablo Gindel
 
Electrónica 3 – componentes activos y semiconductores
Electrónica 3 – componentes activos y semiconductoresElectrónica 3 – componentes activos y semiconductores
Electrónica 3 – componentes activos y semiconductoresPablo Gindel
 
Microcontroladores 1 – arquitectura
Microcontroladores 1 – arquitecturaMicrocontroladores 1 – arquitectura
Microcontroladores 1 – arquitecturaPablo Gindel
 

Destacado (20)

[Webinar] How to engage teams in the digital era
[Webinar] How to engage teams in the digital era[Webinar] How to engage teams in the digital era
[Webinar] How to engage teams in the digital era
 
Control-techniques-for-brushless-motors
 Control-techniques-for-brushless-motors Control-techniques-for-brushless-motors
Control-techniques-for-brushless-motors
 
The State of Arduino and IoT
The State of Arduino and IoTThe State of Arduino and IoT
The State of Arduino and IoT
 
IoT Knowledge Forum Slides by Deepak Gupta
IoT Knowledge Forum Slides by Deepak GuptaIoT Knowledge Forum Slides by Deepak Gupta
IoT Knowledge Forum Slides by Deepak Gupta
 
Introduction to iot and arduino uno r3
Introduction to iot and arduino uno r3Introduction to iot and arduino uno r3
Introduction to iot and arduino uno r3
 
IOT Talking to Webserver - how to
IOT Talking to Webserver - how to IOT Talking to Webserver - how to
IOT Talking to Webserver - how to
 
IoT Devices And Arduino
IoT Devices And ArduinoIoT Devices And Arduino
IoT Devices And Arduino
 
Beginning IoT for Developers
Beginning IoT for DevelopersBeginning IoT for Developers
Beginning IoT for Developers
 
IoT with Arduino
IoT with ArduinoIoT with Arduino
IoT with Arduino
 
Dispositivos y técnicas
Dispositivos y técnicasDispositivos y técnicas
Dispositivos y técnicas
 
Control remoto IR
Control remoto IRControl remoto IR
Control remoto IR
 
Hard disk encoder
Hard disk encoderHard disk encoder
Hard disk encoder
 
Electrónica 1 – fundamentos 1
Electrónica 1 – fundamentos 1Electrónica 1 – fundamentos 1
Electrónica 1 – fundamentos 1
 
Electrónica 5 – electrónica digital
Electrónica 5 – electrónica digitalElectrónica 5 – electrónica digital
Electrónica 5 – electrónica digital
 
Microcontroladores 3 – conversor A/D; DSP
Microcontroladores 3 – conversor A/D; DSPMicrocontroladores 3 – conversor A/D; DSP
Microcontroladores 3 – conversor A/D; DSP
 
Usando el Attiny85
Usando el Attiny85Usando el Attiny85
Usando el Attiny85
 
Microcontroladores 6 – interrupciones
Microcontroladores 6 – interrupcionesMicrocontroladores 6 – interrupciones
Microcontroladores 6 – interrupciones
 
Audio con Arduino
Audio con ArduinoAudio con Arduino
Audio con Arduino
 
Electrónica 3 – componentes activos y semiconductores
Electrónica 3 – componentes activos y semiconductoresElectrónica 3 – componentes activos y semiconductores
Electrónica 3 – componentes activos y semiconductores
 
Microcontroladores 1 – arquitectura
Microcontroladores 1 – arquitecturaMicrocontroladores 1 – arquitectura
Microcontroladores 1 – arquitectura
 

Similar a [Arduino Workshop] Arduino Fundamentals @Globant Córdoba

Similar a [Arduino Workshop] Arduino Fundamentals @Globant Córdoba (20)

Tecnologia
TecnologiaTecnologia
Tecnologia
 
Tecnologia (1)
Tecnologia (1)Tecnologia (1)
Tecnologia (1)
 
La electricidad y la electronica
La electricidad y la electronica La electricidad y la electronica
La electricidad y la electronica
 
La electricidad y la electronica
 La electricidad y la electronica  La electricidad y la electronica
La electricidad y la electronica
 
Taller de tarjeta arduino (1)
Taller de tarjeta arduino (1)Taller de tarjeta arduino (1)
Taller de tarjeta arduino (1)
 
Tarjetaarduino
TarjetaarduinoTarjetaarduino
Tarjetaarduino
 
Tarjeta arduino
Tarjeta arduino Tarjeta arduino
Tarjeta arduino
 
Taller de tarjeta arduino (1)
Taller de tarjeta arduino (1)Taller de tarjeta arduino (1)
Taller de tarjeta arduino (1)
 
La electricidad y la electronica
 La electricidad y la electronica  La electricidad y la electronica
La electricidad y la electronica
 
La electricidad y la electronica
 La electricidad y la electronica  La electricidad y la electronica
La electricidad y la electronica
 
Guía de uso y programación de plataforma Arduino
Guía de uso y programación de plataforma ArduinoGuía de uso y programación de plataforma Arduino
Guía de uso y programación de plataforma Arduino
 
ELECTRICIDAD Y ELECTRÓNICA:TARJETA ARDUINO
ELECTRICIDAD Y ELECTRÓNICA:TARJETA ARDUINOELECTRICIDAD Y ELECTRÓNICA:TARJETA ARDUINO
ELECTRICIDAD Y ELECTRÓNICA:TARJETA ARDUINO
 
Tecnologia (1) convertido (2)
Tecnologia (1) convertido (2)Tecnologia (1) convertido (2)
Tecnologia (1) convertido (2)
 
Tecnologia (1) convertido (2)
Tecnologia (1) convertido (2)Tecnologia (1) convertido (2)
Tecnologia (1) convertido (2)
 
Tarjeta arduino
Tarjeta arduinoTarjeta arduino
Tarjeta arduino
 
TARJETA ARDUINO
TARJETA ARDUINOTARJETA ARDUINO
TARJETA ARDUINO
 
TARJETA ARDUINO
TARJETA ARDUINOTARJETA ARDUINO
TARJETA ARDUINO
 
TARJETA ARDUINO
TARJETA ARDUINOTARJETA ARDUINO
TARJETA ARDUINO
 
Tarea de tecnologia
Tarea de tecnologiaTarea de tecnologia
Tarea de tecnologia
 
TARJETA ARDUINO
TARJETA ARDUINOTARJETA ARDUINO
TARJETA ARDUINO
 

Más de Globant

Webinar MLOps: When AA gets serious.
Webinar MLOps: When AA gets serious.Webinar MLOps: When AA gets serious.
Webinar MLOps: When AA gets serious.Globant
 
Google Cloud Spanner y NewSQL
Google Cloud Spanner y NewSQLGoogle Cloud Spanner y NewSQL
Google Cloud Spanner y NewSQLGlobant
 
Eventos Asíncronos como estrategia virtual
Eventos Asíncronos como estrategia virtualEventos Asíncronos como estrategia virtual
Eventos Asíncronos como estrategia virtualGlobant
 
Cultura y valores 4.0 para líderes 4.0
Cultura y valores 4.0 para líderes 4.0Cultura y valores 4.0 para líderes 4.0
Cultura y valores 4.0 para líderes 4.0Globant
 
Tech Insiders Salesforce: SFDX e Integración Continua
Tech Insiders Salesforce: SFDX e Integración ContinuaTech Insiders Salesforce: SFDX e Integración Continua
Tech Insiders Salesforce: SFDX e Integración ContinuaGlobant
 
Como impulsar tu carrera Salesforce
Como impulsar tu carrera SalesforceComo impulsar tu carrera Salesforce
Como impulsar tu carrera SalesforceGlobant
 
3D Programming Basics: WebGL
3D Programming Basics: WebGL3D Programming Basics: WebGL
3D Programming Basics: WebGLGlobant
 
Converge augmented report
Converge augmented reportConverge augmented report
Converge augmented reportGlobant
 
Sistema de recomendación entiempo real usando Delta Lake
Sistema de recomendación entiempo real usando Delta LakeSistema de recomendación entiempo real usando Delta Lake
Sistema de recomendación entiempo real usando Delta LakeGlobant
 
Kubeflow: Machine Learning en Cloud para todos
Kubeflow: Machine Learning en Cloud para todosKubeflow: Machine Learning en Cloud para todos
Kubeflow: Machine Learning en Cloud para todosGlobant
 
Orquestando Pipelines de Datosen AWS con Step Function y AWS Glue
Orquestando Pipelines de Datosen AWS con Step Function y AWS GlueOrquestando Pipelines de Datosen AWS con Step Function y AWS Glue
Orquestando Pipelines de Datosen AWS con Step Function y AWS GlueGlobant
 
Apache Beam: Lote portátil y procesamiento de transmisión
Apache Beam: Lote portátil y procesamiento de transmisiónApache Beam: Lote portátil y procesamiento de transmisión
Apache Beam: Lote portátil y procesamiento de transmisiónGlobant
 
Navegando el desafío de transformación digital de los servicios financieros
Navegando el desafío de transformación digital de los servicios financierosNavegando el desafío de transformación digital de los servicios financieros
Navegando el desafío de transformación digital de los servicios financierosGlobant
 
Converge 2020
Converge 2020 Converge 2020
Converge 2020 Globant
 
Converge 2020
Converge 2020Converge 2020
Converge 2020Globant
 
Tendencias de tecnología para el recién egresado
Tendencias de tecnología para el recién egresadoTendencias de tecnología para el recién egresado
Tendencias de tecnología para el recién egresadoGlobant
 
SRE: ¿Qué es y cómo gestionar el Toil?
SRE: ¿Qué es y cómo gestionar el Toil?SRE: ¿Qué es y cómo gestionar el Toil?
SRE: ¿Qué es y cómo gestionar el Toil?Globant
 
Monitoreo en tiempo real para la mejora continua de una aplicación
Monitoreo en tiempo real para la mejora continua de una aplicaciónMonitoreo en tiempo real para la mejora continua de una aplicación
Monitoreo en tiempo real para la mejora continua de una aplicaciónGlobant
 
¿Cómo automatizar pruebas de infraestructura y no morir en el intento?
¿Cómo automatizar pruebas de infraestructura y no morir en el intento?¿Cómo automatizar pruebas de infraestructura y no morir en el intento?
¿Cómo automatizar pruebas de infraestructura y no morir en el intento?Globant
 
Automatización en AWS con Chatbot Serverless (Amazon Lex)
Automatización en AWS con Chatbot Serverless (Amazon Lex)Automatización en AWS con Chatbot Serverless (Amazon Lex)
Automatización en AWS con Chatbot Serverless (Amazon Lex)Globant
 

Más de Globant (20)

Webinar MLOps: When AA gets serious.
Webinar MLOps: When AA gets serious.Webinar MLOps: When AA gets serious.
Webinar MLOps: When AA gets serious.
 
Google Cloud Spanner y NewSQL
Google Cloud Spanner y NewSQLGoogle Cloud Spanner y NewSQL
Google Cloud Spanner y NewSQL
 
Eventos Asíncronos como estrategia virtual
Eventos Asíncronos como estrategia virtualEventos Asíncronos como estrategia virtual
Eventos Asíncronos como estrategia virtual
 
Cultura y valores 4.0 para líderes 4.0
Cultura y valores 4.0 para líderes 4.0Cultura y valores 4.0 para líderes 4.0
Cultura y valores 4.0 para líderes 4.0
 
Tech Insiders Salesforce: SFDX e Integración Continua
Tech Insiders Salesforce: SFDX e Integración ContinuaTech Insiders Salesforce: SFDX e Integración Continua
Tech Insiders Salesforce: SFDX e Integración Continua
 
Como impulsar tu carrera Salesforce
Como impulsar tu carrera SalesforceComo impulsar tu carrera Salesforce
Como impulsar tu carrera Salesforce
 
3D Programming Basics: WebGL
3D Programming Basics: WebGL3D Programming Basics: WebGL
3D Programming Basics: WebGL
 
Converge augmented report
Converge augmented reportConverge augmented report
Converge augmented report
 
Sistema de recomendación entiempo real usando Delta Lake
Sistema de recomendación entiempo real usando Delta LakeSistema de recomendación entiempo real usando Delta Lake
Sistema de recomendación entiempo real usando Delta Lake
 
Kubeflow: Machine Learning en Cloud para todos
Kubeflow: Machine Learning en Cloud para todosKubeflow: Machine Learning en Cloud para todos
Kubeflow: Machine Learning en Cloud para todos
 
Orquestando Pipelines de Datosen AWS con Step Function y AWS Glue
Orquestando Pipelines de Datosen AWS con Step Function y AWS GlueOrquestando Pipelines de Datosen AWS con Step Function y AWS Glue
Orquestando Pipelines de Datosen AWS con Step Function y AWS Glue
 
Apache Beam: Lote portátil y procesamiento de transmisión
Apache Beam: Lote portátil y procesamiento de transmisiónApache Beam: Lote portátil y procesamiento de transmisión
Apache Beam: Lote portátil y procesamiento de transmisión
 
Navegando el desafío de transformación digital de los servicios financieros
Navegando el desafío de transformación digital de los servicios financierosNavegando el desafío de transformación digital de los servicios financieros
Navegando el desafío de transformación digital de los servicios financieros
 
Converge 2020
Converge 2020 Converge 2020
Converge 2020
 
Converge 2020
Converge 2020Converge 2020
Converge 2020
 
Tendencias de tecnología para el recién egresado
Tendencias de tecnología para el recién egresadoTendencias de tecnología para el recién egresado
Tendencias de tecnología para el recién egresado
 
SRE: ¿Qué es y cómo gestionar el Toil?
SRE: ¿Qué es y cómo gestionar el Toil?SRE: ¿Qué es y cómo gestionar el Toil?
SRE: ¿Qué es y cómo gestionar el Toil?
 
Monitoreo en tiempo real para la mejora continua de una aplicación
Monitoreo en tiempo real para la mejora continua de una aplicaciónMonitoreo en tiempo real para la mejora continua de una aplicación
Monitoreo en tiempo real para la mejora continua de una aplicación
 
¿Cómo automatizar pruebas de infraestructura y no morir en el intento?
¿Cómo automatizar pruebas de infraestructura y no morir en el intento?¿Cómo automatizar pruebas de infraestructura y no morir en el intento?
¿Cómo automatizar pruebas de infraestructura y no morir en el intento?
 
Automatización en AWS con Chatbot Serverless (Amazon Lex)
Automatización en AWS con Chatbot Serverless (Amazon Lex)Automatización en AWS con Chatbot Serverless (Amazon Lex)
Automatización en AWS con Chatbot Serverless (Amazon Lex)
 

Último

Texto Argumentativo (Basura Electronica).docx
Texto Argumentativo (Basura Electronica).docxTexto Argumentativo (Basura Electronica).docx
Texto Argumentativo (Basura Electronica).docxlucianavillotalozano
 
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.pdf
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.pdfBLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.pdf
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.pdfssuser337a5e
 
¿Cómo preguntar a la IA?_ Universitat Oberta de Catalunya
¿Cómo preguntar a la IA?_ Universitat Oberta de Catalunya¿Cómo preguntar a la IA?_ Universitat Oberta de Catalunya
¿Cómo preguntar a la IA?_ Universitat Oberta de CatalunyaRichard Canabate
 
Basisschulung zum Datenschutz DE_SPA.pptx
Basisschulung zum Datenschutz  DE_SPA.pptxBasisschulung zum Datenschutz  DE_SPA.pptx
Basisschulung zum Datenschutz DE_SPA.pptxsergioagudo4
 
Tecnología 2024 11-2 .pdf.......................
Tecnología 2024  11-2 .pdf.......................Tecnología 2024  11-2 .pdf.......................
Tecnología 2024 11-2 .pdf.......................GabrielHernndez206156
 
Trabajo de tecnologia.pdf .
Trabajo de tecnologia.pdf                         .Trabajo de tecnologia.pdf                         .
Trabajo de tecnologia.pdf .SebastinPrez67
 
IA en la empresa. La inteligencia artificial potencia la tarea diaria
IA en la empresa. La inteligencia artificial potencia la tarea diariaIA en la empresa. La inteligencia artificial potencia la tarea diaria
IA en la empresa. La inteligencia artificial potencia la tarea diariaEducática
 
El Libro de la Inteligencia Artificial (versión 13)
El Libro de la Inteligencia Artificial (versión 13)El Libro de la Inteligencia Artificial (versión 13)
El Libro de la Inteligencia Artificial (versión 13)Alfredo Vela Zancada
 
Lista de selección dinámica desde MySQL hacia PHP (con PDO)
Lista de selección dinámica desde MySQL hacia PHP (con PDO)Lista de selección dinámica desde MySQL hacia PHP (con PDO)
Lista de selección dinámica desde MySQL hacia PHP (con PDO)ChristianRivera122452
 
Estadistica , excel avanzado estudios estadisticos
Estadistica , excel avanzado  estudios estadisticosEstadistica , excel avanzado  estudios estadisticos
Estadistica , excel avanzado estudios estadisticosElizabethAcostaQuinc
 
Texto Argumentativo (Basura Electronica)
Texto Argumentativo (Basura Electronica)Texto Argumentativo (Basura Electronica)
Texto Argumentativo (Basura Electronica)lucianavillotalozano
 
Garcia_Garcia_PracticasWeb7Reportes.pptx
Garcia_Garcia_PracticasWeb7Reportes.pptxGarcia_Garcia_PracticasWeb7Reportes.pptx
Garcia_Garcia_PracticasWeb7Reportes.pptxANDREADELCARMENGARCI
 
Novedades del mejor escritorio: Plasma 6 de KDE - Por Baltasar Ortega
Novedades del mejor escritorio: Plasma 6 de KDE - Por Baltasar OrtegaNovedades del mejor escritorio: Plasma 6 de KDE - Por Baltasar Ortega
Novedades del mejor escritorio: Plasma 6 de KDE - Por Baltasar OrtegaBaltasar Ortega
 
Tabla ejemplo, complemento de las cartas
Tabla ejemplo, complemento de las cartasTabla ejemplo, complemento de las cartas
Tabla ejemplo, complemento de las cartasSantiagoMeneses18
 
Trabajo de tecnología excel avanzado:métodos estadísticos
Trabajo de tecnología excel avanzado:métodos estadísticosTrabajo de tecnología excel avanzado:métodos estadísticos
Trabajo de tecnología excel avanzado:métodos estadísticosJuanCamilomurillo2
 
Excel avanzado.pdf tecnologiaaaaaaaaaaaa
Excel avanzado.pdf tecnologiaaaaaaaaaaaaExcel avanzado.pdf tecnologiaaaaaaaaaaaa
Excel avanzado.pdf tecnologiaaaaaaaaaaaaNicolleAndrade7
 
Excel avanzado y métodos estadísticos.pdf
Excel avanzado y métodos estadísticos.pdfExcel avanzado y métodos estadísticos.pdf
Excel avanzado y métodos estadísticos.pdfNicolleAndrade7
 
Lista de datos (tecnología) combinación de...
Lista de datos (tecnología) combinación de...Lista de datos (tecnología) combinación de...
Lista de datos (tecnología) combinación de...NicolleAndrade7
 
Carta y Excel trabajo sobre estadística.
Carta y Excel trabajo sobre estadística.Carta y Excel trabajo sobre estadística.
Carta y Excel trabajo sobre estadística.MariannaGutierrezGom
 
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.docx
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.docxBLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.docx
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.docxJuanstevanGarcaarcin
 

Último (20)

Texto Argumentativo (Basura Electronica).docx
Texto Argumentativo (Basura Electronica).docxTexto Argumentativo (Basura Electronica).docx
Texto Argumentativo (Basura Electronica).docx
 
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.pdf
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.pdfBLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.pdf
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.pdf
 
¿Cómo preguntar a la IA?_ Universitat Oberta de Catalunya
¿Cómo preguntar a la IA?_ Universitat Oberta de Catalunya¿Cómo preguntar a la IA?_ Universitat Oberta de Catalunya
¿Cómo preguntar a la IA?_ Universitat Oberta de Catalunya
 
Basisschulung zum Datenschutz DE_SPA.pptx
Basisschulung zum Datenschutz  DE_SPA.pptxBasisschulung zum Datenschutz  DE_SPA.pptx
Basisschulung zum Datenschutz DE_SPA.pptx
 
Tecnología 2024 11-2 .pdf.......................
Tecnología 2024  11-2 .pdf.......................Tecnología 2024  11-2 .pdf.......................
Tecnología 2024 11-2 .pdf.......................
 
Trabajo de tecnologia.pdf .
Trabajo de tecnologia.pdf                         .Trabajo de tecnologia.pdf                         .
Trabajo de tecnologia.pdf .
 
IA en la empresa. La inteligencia artificial potencia la tarea diaria
IA en la empresa. La inteligencia artificial potencia la tarea diariaIA en la empresa. La inteligencia artificial potencia la tarea diaria
IA en la empresa. La inteligencia artificial potencia la tarea diaria
 
El Libro de la Inteligencia Artificial (versión 13)
El Libro de la Inteligencia Artificial (versión 13)El Libro de la Inteligencia Artificial (versión 13)
El Libro de la Inteligencia Artificial (versión 13)
 
Lista de selección dinámica desde MySQL hacia PHP (con PDO)
Lista de selección dinámica desde MySQL hacia PHP (con PDO)Lista de selección dinámica desde MySQL hacia PHP (con PDO)
Lista de selección dinámica desde MySQL hacia PHP (con PDO)
 
Estadistica , excel avanzado estudios estadisticos
Estadistica , excel avanzado  estudios estadisticosEstadistica , excel avanzado  estudios estadisticos
Estadistica , excel avanzado estudios estadisticos
 
Texto Argumentativo (Basura Electronica)
Texto Argumentativo (Basura Electronica)Texto Argumentativo (Basura Electronica)
Texto Argumentativo (Basura Electronica)
 
Garcia_Garcia_PracticasWeb7Reportes.pptx
Garcia_Garcia_PracticasWeb7Reportes.pptxGarcia_Garcia_PracticasWeb7Reportes.pptx
Garcia_Garcia_PracticasWeb7Reportes.pptx
 
Novedades del mejor escritorio: Plasma 6 de KDE - Por Baltasar Ortega
Novedades del mejor escritorio: Plasma 6 de KDE - Por Baltasar OrtegaNovedades del mejor escritorio: Plasma 6 de KDE - Por Baltasar Ortega
Novedades del mejor escritorio: Plasma 6 de KDE - Por Baltasar Ortega
 
Tabla ejemplo, complemento de las cartas
Tabla ejemplo, complemento de las cartasTabla ejemplo, complemento de las cartas
Tabla ejemplo, complemento de las cartas
 
Trabajo de tecnología excel avanzado:métodos estadísticos
Trabajo de tecnología excel avanzado:métodos estadísticosTrabajo de tecnología excel avanzado:métodos estadísticos
Trabajo de tecnología excel avanzado:métodos estadísticos
 
Excel avanzado.pdf tecnologiaaaaaaaaaaaa
Excel avanzado.pdf tecnologiaaaaaaaaaaaaExcel avanzado.pdf tecnologiaaaaaaaaaaaa
Excel avanzado.pdf tecnologiaaaaaaaaaaaa
 
Excel avanzado y métodos estadísticos.pdf
Excel avanzado y métodos estadísticos.pdfExcel avanzado y métodos estadísticos.pdf
Excel avanzado y métodos estadísticos.pdf
 
Lista de datos (tecnología) combinación de...
Lista de datos (tecnología) combinación de...Lista de datos (tecnología) combinación de...
Lista de datos (tecnología) combinación de...
 
Carta y Excel trabajo sobre estadística.
Carta y Excel trabajo sobre estadística.Carta y Excel trabajo sobre estadística.
Carta y Excel trabajo sobre estadística.
 
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.docx
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.docxBLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.docx
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS.docx
 

[Arduino Workshop] Arduino Fundamentals @Globant Córdoba

  • 3. Workshop ARDUINO FUNDAMENTALS NOV 2015 El plan para hoy es: ● Hardware Libre & IoT en Globant ● Qué es Arduino, su hardware y software ● Algunos conceptos básicos de electricidad y electrónica ● Componentes electrónicos más utilizados ● Las distintas versiones de Arduino ● Herramientas básicas ● La programación de Arduino ● Ejecución de proyectos: ● Encender LEDs ● Controlar motores ● Incorporar sensores y “sentir” el entorno ● Construir un detector de stress. ● Crear una vínculo WiFi entre 2 Arduinos. ● Preguntas y Respuestas
  • 4. Our Wearables & Internet of things Studio Our Wearables & Internet of Things Studio was created to bring to life technology solutions for the ecosystem of wearable devices and other applications of the internet of things With the products developed in this Studio, we are able to gather information about behavior, activities and sensor collected data, and then process all that information to develop new products and services. Its practices include: Wearable Application Usability and Interface Design, Native wearable and embedded Development, Hardware Design and integration, and Data Design & Management.haeology.
  • 5. La Revolución del Hardware Libre El hardware libre surge en los años 70 como un movimiento radical de los aficionados a la electrónica y la computación para compartir sus diseños y esquemas en la construcción de sus dispositivos. Pero solo fue hasta finales de los 90, con la inclusión de la filosofía de software libre y sus populares 4 libertades que se popularizó hasta convertirse en palabras de Chris Anderson, editor en jefe de la revista Wired en “La próxima revolución industrial” Pero es esta relación del hardware libre con el software libre lo que ha permitido este crecimiento gigantesco, pero la diferencia es que el hardware no es un intangible, por lo que hay un costo de adquisición de los materiales. Lo que permite es no tener que arrancar desde cero para hacer muchas cosas. Poder tomar plataformas de circuitos que ya fueron desarrolladas y son de libre acceso, como en el caso de Arduino. Y es precisamente Arduino, una plataforma de desarrollo abierta, quien ha permitido acompañada de una cultura DIY, (Do It Yourself- Hacelo vos mismo) y del Crowdsourcing (Trabajo colaborativo) aportar gran parte de los diseños más interesantes en este ámbito, ya sean impresoras en 3D o macro proyectos como Local Motors.
  • 6. Arduino Fundamentals Arduino es una plataforma de prototipos electrónica de código abierto (open-source) basada en hardware y software flexibles y fáciles de usar. Está pensado para artistas, diseñadores, como hobby y para cualquiera interesado en crear objetos o entornos interactivos. Arduino puede “sentir” el entorno mediante la recepción de entradas desde una variedad de sensores y puede afectar a su alrededor mediante el control de luces, motores y otros artefactos. El microcontrolador de la placa se programa usando el Arduino Programming Language (basado en Wiring) y el Arduino Development Environment (basado en Processing). Los proyectos de Arduino pueden ser autónomos o se pueden comunicar con software en ejecución en una PC. Las placas se pueden ensamblar a mano o encargarlas preensambladas; el software se puede descargar gratuitamente. Los diseños de referencia del hardware (archivos CAD) están disponibles bajo licencia open- source, por lo que somos libres de adaptarlas a nuestras necesidades. ¿Qué es Arduino? Globant Proprietary | Confidential Information
  • 7. Accesible Las placas Arduino son relativamente baratas y siempre está la posibilidad de construirlas uno mismo. Fácil de entender ¿Cómo construir algo que incluso un niño pueda usar? . .Es algo que uno de los creadores de Arduino, Massimo Banzi se preguntó a sí mismo. En una TED talk , Massimo mostró niños realizando proyectos con Arduino. Uno de ellos, de 14 años de edad de Chile, desarrolló un sistema que detecta terremotos y publica automáticamente información relevante en Twitter (él tiene ahí 280,000 followers). Se anticipó en un año a un proyecto similar del gobierno de ese país. Versátil Arduino es tan versátil que sus posibles aplicaciones puede focalizarse en las más variadas disciplinas. Cuando ocurrió el desastre nuclear de Fukushima, algunas personas en Japón se dieron cuenta que la información provista por su gobierno no era fiable. Entonces ese grupo de personas construyó con Arduino 100 contadores Geiger basados en información disponible online y se los dieron a la gente. Hasta hoy, estos datos son publicados en Internet. Placas Arduino son utilizadas en el Gran Colisionador de Hadrones en el CERN para colectar datos de colisión de partículas. Abierto Arduino es open source hardware o también llamado hardware libre. Esto significa que cualquier persona puede construirse su propio Arduino y hacer negocios con él sin necesidad de pagar ningún tipo de licencia o royalty. Comunidad Arduino Arduino no solo es un team, involucra una enorme comunidad global creando y mejorando las cosas con la filosofía del software y hardware abierto. ¿Cual es el secreto del éxito de Arduino?
  • 8. . . . . y algo que lo diferencia de otras plataformas similares: No se necesita un hardware programador extra para hacer upload del programa al chip. Se utiliza una simple conexión USB ya que el programador viene incluído en la placa. ¿Cual es el secreto del éxito de Arduino?
  • 9. Arduino ha despertado el furor del hardware libre mucho más allá de su marca comercial y su comunidad: ● Hay muchísimos proyectos similares a Arduino. ● La verdadera revolución es despertar el interés en los jóvenes la curiosidad sobre cómo funcionan las cosas … y cómo construir cosas que interactúen con nuestro mundo. ● Algunos lo llaman la Nueva Revolución Industrial, incluyendo el fenómeno de las impresoras 3D que también pueden construirse con Arduino ● Iot (Internet of Things) El Arduino es descrito como una plataforma de creación de prototipos electrónicos de código abierto, fácil de usar. El producto está dirigido a artistas, diseñadores, aficionados y cualquier persona interesada en la creación de objetos o entornos interactivos. El Arduino en el medio artístico se ha convertido en un “detrás de escena”, en la fuerza controladora que se encuentra en la mayoría de las exposiciones interactivas vistas actualmente, la cual permite la autonomía de movimiento de un objeto o la percepción del mismo y de otros fenómenos a través de sensores. Se asume la descripción “detrás de escena” ya que las piezas que utilizan esta plataforma no hacen evidente su uso, sino el Arduino es la fuente o motor que ayuda a crear la pieza. La tecnología ya no es un privilegio, ya que este es un controlador bastante accesible a consideración de su costo y la multiplicidad de funciones que permite realizar al programador. Los avances tecnológicos se encuentran al alcance de todos y cada vez es más sencillo tener acceso a ellos y poder manipularlos, para así, crear, interactuar y experimentar con ellos. La Revolución del Hardware Libre
  • 10. Arduino Fundamentals Arduino está constituido en el hardware por un microcontrolador principal llamado Atmel AVR de 8 bits (que es programable con un lenguaje de alto nivel), presente en la mayoría de los modelos de Arduino, encargado de realizar los procesos lógicos y matemáticos dentro de la placa, además de controlar y gestionar los recursos de cada uno de los componentes externos conectados a la misma, tales como una amplia variedad de sensores eléctricos, sensores de sonido, seguidores de línea, botones de control de sensores, e incluso, otras placas de microcontroladores (mejor conocidos como Shields), que pueden adaptarse fácilmente gracias a que Arduino cuenta con entradas de pines analógicos y digitales para integrar estos componentes sin necesidad de alterar el diseño original de esta placa. Estos a su vez son controlados junto con el procesador primario por otros componentes de menor jerarquía, pero de igual importancia y prioridad, como el Atmega168, Atmega328, Atmega1280 y el Atmega8 , que son lo más utilizados debido a sus bajos precios y gran flexibilidad para construir diversidad de diseños. Además, Arduino cuenta con la ventaja de tener entre sus elementos principales puertos seriales de entrada /salida (input/output), lo que le permite conectarse por medio de un cable USB a una computadora para poder trabajar con ella desde nivel software, ya que es donde se le darán las “órdenes” que ejecutarán cada uno de los componentes conectados a la placa, e incluso, para operar como un dispositivo más (dependiendo de la configuración que hayamos establecido y para que se quiere utilizar). Además, Arduino para operar necesita de una fuente de alimentación externa, ya que no cuenta con una propia, por lo que también se encuentra incorporada una entrada para conectar un cable con entrada similar al USB, donde será conectado a un otro dispositivo que tenga entrada USB, o hasta en el mismo dispositivo. El Hardware de Arduino Globant Proprietary | Confidential Information
  • 11. Arduino Fundamentals Las características generales de todas las placas Arduino son las siguientes: ● El microprocesador ATmega328 ● 32 kbytes de memoria Flash ● 1 kbyte de memoria RAM ● Velocidad de reloj 16 MHz ● 13 pins para entradas/salidas digitales (programables) ● 5 pins para entradas analógicas ● 6 pins para salidas analógicas (salidas PWM) ● Completamente autónomo: Una vez programado no necesita estar conectado a la PC ● Voltaje de operación 5V ● Voltaje de entrada (recomendado) 7-12 V ● Voltaje de entrada (limite) 6-20 V ● Digital I/O Pins 14 (con 6 salidas PWM) ● Entradas analógicas Pins 6 ● Salida corriente DC 5V Pin 40 mA ● Salida corriente DC 3.3V Pin 50 mA ● Memoria Flash 32 KB (2 KB para el bootloader) ● SRAM 1 KB ● EEPROM 512 byte El Hardware de Arduino UNO Globant Proprietary | Confidential Information
  • 12. Arduino Fundamentals Arduino también es una plataforma que combina esto con un lenguaje de programación que sirve para controlar los distintos sensores que se encuentran conectados a la placa, por medio de instrucciones y parámetros que nosotros establecemos al conectar la placa a un ordenador. Este lenguaje que opera dentro de Arduino se llama Wiring, basado en la plataforma Processing y primordialmente en el lenguaje de programación C/C++, que se ha vuelto popular a tal grado de ser el más preferido para enseñar programación a alumnos de nivel superior que estudian computación y robótica, gracias que es muy fácil de aprender y brinda soporte para cualquier necesidad de computación. Arduino soporta varios lenguajes de programación de alto nivel derivados de C, haciendo de esto una ventaja para los diseñadores que trabajan en varios o en 1 sólo entorno de desarrollo de programación. Para poder trabajar desde el nivel programación del procesador, debe descargarse el software que incluye las librerías necesarias para poder utilizar el lenguaje de manera completa. La popularidad de Arduino hace que prácticamente todos los lenguajes de programación más populares soporten Arduino o se comuniquen con él. El Software de Arduino Globant Proprietary | Confidential Information
  • 13. Algunos conceptos básicos que necesitamos entender La electricidad La electricidad es un conjunto de fenómenos producidos por el movimiento e interacción entre las cargas eléctricas positivas y negativas de los cuerpos físicos. Básicamente consiste en un flujo de electrones libres (los electrones tienen carga negativa) Electricidad dinámica La electricidad dinámica es la producida por una fuente permanente de electricidad que provoca la circulación permanente de electrones a través de un conductor. Estas fuentes permanentes de electricidad pueden ser químicas o electromecánicas. Un ejemplo de electricidad dinámica es la que existe en un circuito eléctrico que utiliza como fuente de electricidad una pila o una dínamo. Electricidad y magnetismo La electricidad y el magnetismo son fenómenos de la Fìsica que están interrelacionados a tal punto que son parte de la misma fuerza: el electromagnetismo. Una de las formas en que se manifiesta la electricidad es a través del magnetismo, ya que es un tipo de corriente eléctrica que produce campos magnéticos. Éstos, a su vez, pueden llegar a producir corriente eléctrica. El estudio de ambos fenómenos de una forma conjunta forma una rama de la Física denominada electromagnetismo. Electrónica La electrónica es el campo de la ingeniería y de la física aplicada, relativo al diseño y aplicación de dispositivos, por lo general circuitos electrónicos, cuyo funcionamiento depende del flujo de electrones para la generación, transmisión, recepción, almacenamiento de información, entre otros. Esta información puede consistir en voz o música como en un receptor de radio, en una imagen en una pantalla de televisión, o en números u otros datos en una computadora. Los circuitos electrónicos ofrecen diferentes funciones para procesar esta información, incluyendo la amplificación de señales débiles hasta un nivel que se pueda utilizar; el generar ondas de radio; la extracción de información, como por ejemplo la recuperación de la señal de sonido de una onda de radio (demodulación); el control, como en el caso de introducir una señal de sonido a ondas de radio (modulación), y operaciones lógicas, como los procesos electrónicos que tienen lugar en las computadora
  • 14. Conducción de la Electricidad En los sólidos cristalinos, los átomos interaccionan con sus vecinos, y los niveles de energía de los átomos individuales forman bandas. El hecho de que un material conduzca o no, viene determinado por su estructura de bandas y por la ocupación de dichas bandas determinada por los niveles de Fermi. Los electrones, al ser fermiones, siguen el principio de exclusión de Pauli, por lo que dos electrones dentro de un mismo sistema de interacciones no pueden ocupar el mismo estado, lo cual significa que sus cuatro números cuánticos han de diferir. Así los electrones en un sólido rellenan bandas de energía hasta un cierto nivel, llamado la energía de Fermi. Las bandas que están completamente llenas de electrones no pueden conducir la electricidad, porque no hay estados cercanos de energía a los que los electrones puedan saltar. Los materiales con todas las bandas llenas (la energía de Fermi es entre dos bandas) son aislantes. Los metales son buenos conductores de la electricidad y del calor porque tienen espacios sin rellenar en la banda de energía de valencia. (El nivel de Fermi marca una ocupación sólo parcial de la banda). En ausencia de campos eléctricos, la conducción eléctrica se produce en todas direcciones a velocidades muy elevadas. Incluso a la temperatura más fría posible - en el cero absoluto - la conducción eléctrica puede aún darse a las velocidad de Fermi (la velocidad de los electrones con energía de Fermi). Cuando se aplica un campo eléctrico, un ligero desequilibrio desarrolla un flujo de los electrones móviles. Los electrones de esta banda pueden verse acelerados por el campo porque hay multitud de estados cercanos sin rellenar en la banda.
  • 15. Conductores, Semiconductores y Aislantes Conductores Litio, Sodio, Potasio, Cobre, Plata, Oro. Semiconductores Carbono, Silicio, Germanio Aislantes Fluor, Cloro, Bromo, Iodo. En general, mientras menos electrones hay en la banda de valencia, menos energía se necesita para liberar un electrón y producir un flujo eléctrico
  • 16. Conductores Resistencia La carga eléctrica es una propiedad física intrínseca de algunas partículas subatómicas que se manifiesta mediante fuerzas de atracción y repulsión entre ellas. En el Sistema Internacional de Unidades la unidad de carga eléctrica se denomina culombio (símbolo C). Se define como la cantidad de carga que pasa por la sección transversal de un conductor eléctrico en un segundo, cuando la corriente eléctrica es de un amperio, y se corresponde con la carga de 6,241 509 × 10^{18} electrones aproximadamente Si hablamos de conductores podemos hablar de conductancia que está directamente relacionada con la facilidad que ofrece un material cualquiera al paso de la corriente eléctrica. La conductancia es lo opuesto a la resistencia. A mayor conductancia la resistencia disminuye y viceversa, a mayor resistencia, menor conductancia, por lo que ambas son inversamente proporcionales. Carga Eléctrica Corriente Eléctrica Si hablamos de aislantes en este caso nos podemos referir a la resistencia pero no es una propiedad exclusiva de estos, se define como: la mayor o menor oposición que tienen los electrones para desplazarse a través de un conductor. todos los materiales se oponen en mayor o menor medida al paso de la corriente de hay que cada material tenga una resistencia determinada. la unidad de medida en el Sistema Internacional es el Ohm (Ω) La resistividad es la resistencia eléctrica específica de cada material para oponerse al paso de una corriente eléctrica. Se designa por la letra griega Rho minúscula (ρ) y se mide en ohmios metro (Ω•m) La corriente o intensidad eléctrica es el flujo de carga por unidad de tiempo que recorre un material. Se debe al movimiento de los electrones en el interior del material. Contrariamente al sentido común, la corriente va SIEMPRE del negativo al positivo. Conceptos Básicos
  • 17. Potencial Eléctrico Aislantes En el caso de los semiconductores las bandas de valencia y conducción se encuentran separadas por una brecha muy estrecha y esta pequeña separación hace que sea relativamente fácil moverse, no con una gran libertad pero no les hace imposible el movimiento. Se comportan como un conductor o como un aislante dependiendo de diversos factores, como por ejemplo el campo eléctrico o magnético, la presión, la radiación que le incide, o la temperatura del ambiente en el que se encuentre. Entre los semiconductores más empleados en el ámbito de la industria, se encuentran el silicio, el azufre y el germanio. Es el trabajo que debe realizar un campo electrostático para mover una carga positiva q desde el punto de referencia, dividido por unidad de carga de prueba. Dicho de otra forma, es el trabajo que debe realizar una fuerza externa para traer una carga unitaria q desde la referencia hasta el punto considerado en contra de la fuerza eléctrica. Matemáticamente se expresa por: = joules/coulomb El voltaje es una magnitud física que cuantifica la diferencia de potencial eléctrico entre dos puntos Semiconductores Bandas de Energía En este caso las bandas de valencia y conducción se encuentran muy bien separadas lo cual casi impide que los electrones se muevan con mayor libertad y facilidad. Por lo tanto, este tipo de material NO conduce corriente eléctrica. La banda de valencia (BV): está ocupada por los electrones de valencia de los átomos, es decir, aquellos electrones que se encuentran en la última capa o nivel energético de los átomos. Los electrones de valencia son los que forman los enlaces entre los átomos, pero no intervienen en la conducción eléctrica. La banda de conducción (BC): está ocupada por los electrones libres, es decir, aquellos que se han desligado de sus átomos y pueden moverse fácilmente. Estos electrones son los responsables de conducir la corriente eléctrica. Conceptos Básicos
  • 18. La Ley de Ohm En donde, empleando unidades del Sistema internacional: I = Intensidad en amperios (A) V = Diferencia de potencial en voltios (V) R = Resistencia en ohmios (Se representa con la letra griega Ω-omega-).. La ley de Ohm, establece que la intensidad de la corriente eléctrica que circula por un dispositivo es directamente proporcional a la diferencia de potencial aplicada (voltage) e inversamente proporcional a la resistencia del mismo, según expresa la fórmula siguiente:
  • 19. Conceptos Básicos Resistencias Fijas Su valor de resistencia es fijo. Resistencias Variables También llamados potenciómetros, tienen un mando giratorio que hace variar el valor de resistencia, por lo tanto, el voltaje de salida varía según la posición del mando Resistencias Obstaculizan el paso de la corriente
  • 20. Conceptos Básicos LDR (Light Dependant Resistor) Su valor de resistencia varía según la cantidad de luz que incide en él. Son aquellas en las que el valor ohmico (de resistencia) varía en función de una magnitud física. las cuales son: PTC (positive temperature coefficient = coeficiente positivo con la temperatura ): aumenta el valor ohmico al aumentar la temperatura de esta. NTC (negative temperature coefficient = coeficiente negativo con la temperatura): disminuye el valor ohmico al aumentar la temperatura. LDR (light depent resistor = resistencias dependientes de la luz ): disminuye el valor ohmico al aumentar la luz que incide sobre ella. VDR (voltage dependent resistor = resistencias dependientes de la tensión): disminuye el valor ohmico al aumentar el voltaje Resistencias Especiales Obstaculizan el paso de la corriente
  • 21. Diodos (semiconductores) Permiten el paso de la corriente SOLO en un sentido y lo impiden en el otro. Conceptos Básicos Diodo Zener Regulador de tensión, elemento semiconductor de silicio que tiene la característica de un diodo normal cuando trabaja en sentido de paso; pero en sentido inverso, y para una corriente inversa superior a un determinado valor, presenta una tensión de valor constante. LEDs En el sentido de bloqueo de la corriente, emiten luz. Diodo Laser Es básicamente un LED con un lente polarizador
  • 22. Conceptos Básicos No Polarizados El positivo o negativo es indistinto y, al igual que las resistencias se conectan de cualquier forma. Polarizados Tienen un pin positivo y otro negativo y asi deben conectarse. Condensadores Es un dispositivo pasivo, capaz de almacenar energía sustentando un campo eléctrico. Está formado por un par de superficies conductoras, generalmente en forma de láminas o placas, separadas por un material dieléctrico o por el vacío. Las placas, sometidas a una diferencia de potencial, adquieren una determinada carga eléctrica, positiva en una de ellas y negativa en la otra, siendo nula la variación de carga total. Aunque desde el punto de vista físico un condensador no almacena carga ni corriente eléctrica, sino simplemente energía mecánica latente; al ser introducido en un circuito se comporta en la práctica como un elemento "capaz" de almacenar la energía eléctrica que recibe durante el periodo de carga, la misma energía que cede después durante el periodo de descarga.
  • 23. Conceptos Básicos Funcionamiento y Uso de Transistor Siempre tienen al menos 3 patillas o pines y se llaman emisor, base y colector. Es muy importante saber identificar bien las 3 patillas a la hora de conectarlo. Un transistor es un componente que tiene, básicamente, dos funciones: 1. Deja pasar o corta señales eléctricas a partir de una PEQUEÑA señal de mando. Como Interruptor. Abre o cierra para cortar o dejar pasar la corriente por el circuito. 2. Funciona como un elemento Amplificador de señales. Le llega una señal pequeña que se convierte en una grande. Pero el Transistor también puede cumplir funciones de amplificador, oscilador, conmutador o rectificador. Un transistor puede tener 3 estados posibles en su trabajo dentro de un circuito: - En activa : deja pasar más o menos corriente. - En corte: no deja pasar la corriente. - En saturación: deja pasar toda la corriente. Transistores El transistor es un dispositivo electrónico semiconductor utilizado para entregar una señal de salida en respuesta a una señal de entrada.1 Cumple funciones de amplificador, oscilador, conmutador o rectificador. El término «transistor» es la contracción en inglés de transfer resistor («resistencia de transferencia»). Actualmente se encuentran prácticamente en todos los aparatos electrónicos de uso diario 2N2222 Sirve tanto para aplicaciones de amplificación como de conmutación. Puede amplificar pequeñas corrientes a tensiones pequeñas o medias; por lo tanto, sólo puede tratar potencias bajas (no mayores de 1.5 Watts).
  • 24. Conceptos Básicos Circuitos Integrados más usados en Arduino y Robotica Circuitos Integrados (IC) Un circuito integrado, también conocido como chip o microchip, es una estructura de pequeñas dimensiones de material semiconductor, de algunos milímetros cuadrados de área, sobre la que se fabrican circuitos electrónicos generalmente mediante fotolitografía y que está protegida dentro de un encapsulado de plástico o de cerámica. El encapsulado posee conductores metálicos apropiados para hacer conexión entre el Circuito Integrado y un circuito impreso. IC 555 El temporizador IC 555 es un circuito integrado (chip) que se utiliza en una variedad de aplicaciones y se aplica en la generación de pulsos y de oscilaciones. El 555 puede ser utilizado para proporcionar retardos de tiempo, como un oscilador, y como un circuito integrado flip-flop (llamado también simplemente biestable, que tiene dos estados estables, es decir,es capaz de almacenar un número binario o bit) IC L293D Es de gran utilidad para controlar pequeños motores y actuadores de corriente directa. Este circuito es bastante utilizado en robótica para controlar motores a pasos y de corriente directa. IC ULN2803 Es muy usado cuando se quieren hacer aplicaciones por puerto paralelo y una de sus principales características es que aporta la potencia necesaria a las salidas del puerto. Dicho puerto tiene una intensidad de corriente que puede proporcionar para encender un LED, pero no para mover un motor. Permite extraer 500 mA por pin de salida, aplicando tensiones a la carga de hasta 50v.
  • 25. Microprocesadores Microcontroladores Los microprocesadores tienen una arquitectura destinada al procesamiento de la información. La características especial de los microprocesadores es que la CPU, las memoria RAM, ROM y periféricos se encuentran separados, no forman parte del chip; asi mismo los programas que se realizan para un microprocesador siempre tienen un fin. El Intel Core i7 necesita memoria RAM, Rom y periféricos para cumplir su función En el caso de los microcontroladores tienen una arquitectura destinada a procesos de control. Las características de los microcontroladores es que en un solo chip pueden contar con la CPU memoria RAM, ROM, periféricos, timers, conversores AD y DA. Los programas que se realizan para un microcontrolador nunca tienen fin, es decir solo termina el programa cuando se corta la energía. El ATMEL Atmega328P es el corazón y cerebro de Arduino. Contiene RAM, ROM y todo lo necesario para cumplir su función con excepción de un cristal oscilador que le “marque” el ritmo. Microprocesadores y Microcontroladores
  • 26. Comparativo de las Arduino más vendidas
  • 28. Partes de un Arduino
  • 29. Pines Digitales y Analogicos Vemos que el la plataforma Arduino hay pines designados como “Digitales” y pines “Analógicos”. No se trata estrictamente de entradas/salidas analógicas y digitales. Un pin digital es aquien que puede tener dos valores o estados HIGH o LOW. Un pin analógico es aquel que puede tener valores enteros de 0 a 1023. Globant Proprietary | Confidential Information
  • 30. Arduino IDE Download: https://www.arduino. cc/en/Main/Software Hay muchos IDEs no oficiales para Arduino, desde plugins para Eclipse y Visual Studio hasta simuladores completos en línea como Codebender.
  • 32. Herramientas y Entorno de Trabajo Protoboard (También llamada “breadboard”) Es una placa para prototipos que tiene perforaciones interconectadas y que facilita el armado de circuitos electrónicos SIN necesidad de soldaduras. Es especialmente útil para diseñar y probar un prototipo antes de construir un circuito con conexiones definitivas. Interconexión por dentro de la protoboard Interconexión por dentro de la protoboard
  • 33. Herramientas y Entorno de Trabajo Jumpers Cables cuyas terminales pueden ser macho o hembra.
  • 34. Herramientas y Entorno de Trabajo Tester También llamado Multímetro o Polímetro, es una herramienta esencial para trabajar en electrónica… ¿por qué? Gracias al multímetro podemos comprobar el correcto funcionamiento de los componentes y circuitos electrónicos El tester digital es un instrumento electrónico de medición que generalmente calcula voltaje, resistencia y corriente, aunque dependiendo del modelo puede medir otras magnitudes como capacitancia y temperatura. Se trata de un instrumento de medición de relativamente bajo costo (en Argentina los más económicos cuestan approx. u$s 10 ).
  • 35. Herramientas y Entorno de Trabajo Herramientas para Soldadura El soldador o cautín eléctrico, es una herramienta de relativo bajo costo y es aconsejable que tenga: - Potencia de approx. 30-40 Watts - Punta intercambiable (algunas soldaduras necesitan puntas más finas) Algunos soldadores vienen en un “kit” llamado “estación de soldadura” que consta de apoyos para no quemar la mesa de trabajo, regulador de temperatura, luces del termostato, etc. Para soldar necesitaremos también alambre de estaño para soldaduras electrónicas de 0.8 mm de diámetro. NOTA: Para desarrollar un proyecto de Arduino NO es estrictamente necesario tener un soldador, pero si nuestro circuito tiene éxito y queremos hacer un circuito con conexiones permanentes, lo necesitaremos con seguridad.
  • 36. Herramientas y Entorno de Trabajo Baterías Muchas veces la cantidad de energía que la PC le provee a Arduino a través del puerto USB no es suficiente. Esto es crítico cuando conectamos motores. Por ello proveer de una fuente de corriente continua externa a los componentes de nuestro circuito nos asegura el buen funcionamiento de la placa Arduino. Las pilas recargables de 9V son ideales y es conveniente que tengan 2800 mAh. También es conveniente contar con conectores para los bornes de las pilas y así facilitar el conexionado.
  • 37. Herramientas y Entorno de Trabajo Poor Man’s Oscilloscope Un osciloscopio digital vale al menos $6.000, pero podemos obtener prácticamente los mismos resultados utilizando una tarjeta de sonido en la PC (dedicada o la que viene onboard), más un cable de micrófono y el software gratuito Visual Analyzer: ● El cable negro va a GND (tierra) ● El o los cable/s restantes serán puntas de prueba de señales que vamos a medir. ● Muchos cables de mic son demasiado delgados y hay que buscar los más robustos de modo que podamos soldarlos. ● Si vamos a medir solo señales de los pines de Arduino no hace falta más, pero si queremos trabajar con mayor voltaje debemos agregar una resistencia de 4.7 k Ohms y un condensador cerámico 104.
  • 38. Herramientas y Entorno de Trabajo Software: Fritzing Fritzing es un programa freeware de automatización de diseño electrónico libre que busca ayudar a diseñadores y artistas para que puedan pasar de prototipos (usando, por ejemplo, placas de pruebas) a productos finales. Fritzing fue creado bajo los principios de Processing y Arduino, y permite a los diseñadores, artistas, investigadores y aficionados documentar sus prototipos basados en Arduino y crear esquemas de circuitos impresos para su posterior fabricación. Además, cuenta dentro de la misma aplicación de un “clon” del IDE de Arduino, de modo que podemos hacer todo ahí mismo.
  • 39. Programación de Arduino Tipos de Memoria Memoria Flash Es donde Arduino almacena el sketch. Un sketch es el nombre que usa Arduino para un programa. Es la unidad de código que se sube y ejecuta en la placa Arduino. Esta memoria es no volátil, si Arduino deja de ser alimentado eléctricamente los datos que haya en esta memoria permanecerán. El tamaño de la memoria Flash de Arduino puede variar dependiendo del microcontrolador, aunque no es muy grande. Por ejemplo, para el chip ATmega168 el tamaño de la memoria Flash es de 16 kilobytes, de los cuales 2 kilobytes son utilizados por el bootloader. Para el caso del microcontrolador ATmega328 (como el que incorpora Arduino UNO) el tamaño de la memoria Flash es de 32KB, de los cuales el bootloader usa 0,5KB. Por lo que debemos desarrollar los programas de forma muy optimizada, usando los tipos de variables que menos memoria requieran, en la medida de lo posible. También debemos optimizar el código fuente de la aplicación para no repetir líneas de código.. Memoria Flash Memoria SRAM Memoria EEPROM Memoria SRAM Es de tipo volátil, es el espacio donde los sketches (programas) almacenan y manipulan variables al ejecutarse. La información guardada en esta memoria será eliminada cuando Arduino pierda la alimentación. Esta memoria es de uso exclusivo para el programa en ejecución. La memoria SRAM de Arduino es muy pequeña, por lo que debemos optimizar nuestros programas al máximo y no abusar de variables de tipo char muy grandes. Hay que tener en cuenta que cada carácter de una variable char utiliza un byte. En el microcontrolador ATmega 168 el tamaño de la memoria SRAM es de 1024 bytes, para el caso de un chip ATmega328 (como el que incorpora Arduino UNO) el tamaño es de 2KB (2048 bytes). Si la SRAM se queda sin espacio, el programa de Arduino fallará de forma imprevista, aunque se compile y se suba a Arduino correctamente la aplicación no se ejecutará o se ejecutará de manera extraña. Memoria EEPROM EEPROM es un espacio de memoria que puede ser utilizado por los programadores para almacenar información a largo plazo. Este tipo de memoria es no volátil, por lo que los datos guardados en ella permanecerán aunque Arduino pierda la alimentación. Esta memoria puede ser usada para guardar valores si es necesario. Más adelante explicaremos cómo guardar y leer valores de esta memoria. El tamaño de la EEPROM para un chip ATmega128 es de 512 bytes, para un chip ATmega328 es de 1KB (1024 bytes). Hay que tener en cuenta que el tamaño de la memoria EEPROM interna de Arduino es "pequeño" pero Arduino admite añadir módulos de memoria EEPROM externa de mayor tamaño
  • 40. Programación de Arduino Este es el workflow de desarrollo con el Arduino IDE. La forma de “debuggear” un sketch es agregando entradas o “logs” en el el puerto serial. NO tiene posibilidad de poner “breakpoints” y hacer un paso a paso. En general los sketches son muy simples y no necesitan un debug, pero si nos hiciera falta debemos considerar usar otro IDE como el ATMEL Studio (es gratuito y está desarrollado por el fabricante de los microcontroladores de Arduino )
  • 41. Programación de Arduino La estructura básica del lenguaje de programación de Arduino es bastante simple y se compone de al menos dos partes. Estas dos partes necesarias, o funciones, encierran bloques que contienen declaraciones, estamentos o instrucciones. void setup() //Primera Parte { estamentos; } void loop() //Segunda Parte { estamentos; } En donde setup() es la parte encargada de recoger la configuración y loop() es la que contiene el programa que se ejecutará cíclicamente (de ahí el término loop –bucle-). Ambas funciones son necesarias para que el programa trabaje. La función de configuración (setup) debe contener la declaración de las variables. Es la primera función a ejecutar en el programa, se ejecuta sólo una vez, y se utiliza para configurar o inicializar pinMode (modo de trabajo de las E/S), configuración de la comunicación en serie y otras. La función bucle (loop) siguiente contiene el código que se ejecutara continuamente (lectura de entradas, activación de salidas, etc) Esta función es el núcleo de todos los programas de Arduino y la que realiza la mayor parte del trabajo.
  • 42. Estructura de un programa de Arduino Declaración de constantes y declaración de uso de librerías void setup() donde se declaran e inicializan las variables. Especialmente usado para determinar el comportamiento de los pines void loop() donde se ejecuta todo el flujo del programa. Equivale al void main() de C++
  • 43. Programación de Arduino Manos a la obra !!!!!!! Juntemos todos los elementos y herramientas, planifiquemos, y comencemos el viaje.
  • 44. Primer proyecto: Encender y Apagar LEDs Procedimiento: 1. Desconectamos el Arduino de la PC. 2. Conectamos la pata más larga (positivo) de un LED de cualquier color en el pin# 13 de la placa Arduino. La pata más corta (negativo) o conectamos en el pin GND de la placa Arduino adyacente al pin# 13. 3. En la PC abrimos el Arduino IDE. 4. Abrimos el sketch File->Examples->Basic->Blink . 5. Conectamos Arduino a la PC por USB y verificamos que el IDE reconozca la placa Arduino en un puerto COM, yendo a Tools->Port asegurándonos que esté con un check mark el port donde lo conectamos. 6. Luego hacemos File->Upload (o Ctrl+U). En la consola inferior veremos los detalles del proceso. 7. Una vez compilado el IDE hará el upload que será notado en el Arduino al titilar rápidamente el LED. 8. Luego de unos instantes el LED deberá apagarse y encenderse cada 1 segundo. 9. Podemos variar el ritmo cambiando el valor de “delay” a 200 y luego Ctrl+U nuevamente. Objetivo: Encender y apagar LEDs Vamos a usar los pines de conexión del Arduino para apagar y encender un LED. Es el “Hola Mundo” de de electrónica. NOTA Importante: Para este proyecto usaremos el pin #13 y el pin GND adyacente para conectar un led aprovechando que SOLO este pin tiene ya incorporada una resistencia para proteger el circuito. Para conectar un LED a CUALQUIER OTRO pin de Arduino deberemos colocar una resistencia de 220 ohms (puede ser 300 ohms) entre el pin negativo del LED y GND. Los LEDs tiene 2 “patas”, una larga y una corta. La pata larga es POSITIVO y la corta es GND (ground, tierra o negativo) Para este proyecto necesitaremos:. ● Una placa Arduino, protoboard y cables jumper. ● Un LED de cualquier color ● El cable USB-B =>USB que conecta el Arduino con la PC Conectaremos la pata positiva del LED al pin #13 de Arduino y al pin GND adyacente la pata negativa. Luego escribiremos el “sketch” o programa Arduino en el IDE que instalamos en la PC. Finalmente haremos un upload del sketch a la placa. Proyecto #1
  • 45. Primer proyecto: Encender y Apagar LEDs Proyecto #1
  • 46. LEDs Proyecto #1 Red Blue Green Common En LEDs comunes el ánodo (+) es más largo.
  • 47. ¿Por qué debemos poner resistencias cuando usamos LEDs? Un LED o diodo emisor de luz, es un componente electrónico de estado sólido que produce luz de una corriente eléctrica. A diferencia de una lámpara incandescente que conduce la electricidad en dos direcciones, un LED, al ser un diodo, conduce la electricidad es una sola dirección. Su dirección preferida permite la circulación de una cantidad perjudicial de corriente a través del dispositivo, por lo que para limitar la corriente es necesario añadir una resistencia a tu circuito.
  • 48. Programación de Arduino Controlemos motores ! Encender y apagar LEDs puede ser muy útil cuando necesitamos alertar sobre algún evento, pero hagamos algo más interesante . .
  • 49. Tipos de motores eléctricos para robótica Motor DC (corriente directa) Para funcionar NO necesitan ninguna electrónica, solo conectar los dos cables a positivo y negativo de una fuente o batería. Según como lo conectemos el rotor girará en sentido horario u antihorario Motor Brushless Son mucho más eficientes energéticamente pero necesitan una electrónica de control que “marque” el ritmo del motor activando el paso de electricidad a cada una de las bobinas. Motor Servo Son básicamente un motor DC con una serie de engranajes que disminuyen su velocidad y aumentan su fuerza (torque). Pueden ser motores que solo giran en uno y otro sentido en 180 grados o bien de rotación continua (360 grados).
  • 50. Tipos de motores eléctricos para robótica Motor Brushless Son mucho más eficientes energéticamente pero necesitan una electrónica de control que “marque” el ritmo del motor activando el paso de electricidad a cada una de las bobinas.
  • 51. Tipos de motores eléctricos para robótica Servo Motors Desde el punto de vista de Arduino son los más fáciles de controlar, ya que contienen dentro del motor la electrónica de control que permite manejarlos sólo por software. Otra de sus características es que por dentro tienen: ● Una placa electrónica que lo controla ● Un juego de engranajes que le dan mas torque (fuerza) ● Un motor DC común en su interior Pueden girar 180 grados o continuamente.
  • 52. Tipos de motores eléctricos para robótica Actuadores Un actuador es un dispositivo capaz de transformar energía hidráulica, neumática o eléctrica en la activación de un proceso con la finalidad de generar un efecto sobre un proceso automatizado. Este recibe la orden de un regulador o controlador y en función a ella genera la orden para activar un elemento final de control como, por ejemplo, una válvula. Estrictamente hablando, todos los motores son actuadores, pero generalmente llamamos así a los motores que proveen un movimiento lineal.
  • 53. Tipos de motores eléctricos para robótica Motores Paso a Paso (Stepper) El motor a paso es un dispositivo electromecánico que convierte una serie de impulsos eléctricos en desplazamientos angulares discretos, lo que significa que es capaz de avanzar una serie de grados (paso) dependiendo de sus entradas de control. El motor paso a paso se comporta de la misma manera que un conversor digital-analógico (D/A) y puede ser gobernado por impulsos procedentes de sistemas lógicos. Este motor presenta las ventajas de tener precisión y repetitividad en cuanto al posicionamiento
  • 54. PWM (Pulse Width Modulation ) La modulación por ancho de pulsos (también conocida como PWM, siglas en inglés de pulse- width modulation) de una señal o fuente de energía, es una técnica en la que se modifica el ciclo de trabajo de una señal periódica (una senoidal o una cuadrada, por ejemplo), ya sea para transmitir información a través de un canal de comunicaciones o para controlar la cantidad de energía que se envía a una carga. El ciclo de trabajo de una señal periódica es el ancho relativo de su parte positiva en relación con el período.
  • 55. PWM (Pulse Width Modulation ) Aquí podemos ver como funciona en la práctica la técnica del PWM para controlar servomotores Por convención el cable rojo es para alimentar el motor, el negro GND (tierra) y el central que es amarillo o blanco le envia la señal con PWM.
  • 56. PWM (Pulse Width Modulation ) . . Y. . . ¿Para qué nos puede servir? Es especialmente útil para controlar la velocidad de los motores enviando en la propia señal eléctrica una “instrucción” de cómo se debe comportar un dispositivo.
  • 57. Segundo proyecto: Mover Motores Procedimiento: 1. Desconectamos el Arduino de la PC. 2. Conectamos el terminal positivo (+) de la pila de 9v a un riel de la protoboard que designaremos como riel de voltaje positivo. 3. Conectamos el terminal negativo (-) de la pila de 9v a un riel de la protoboard que designaremos como riel de voltaje negativo. 4. Conectamos los cables negros de cada motor al “riel” negativo de la protoboard. 5. Conectamos los cables rojos al “riel” de voltaje positivo + de la protoboard. 6. Conectamos el tercer cable de cada servo motor a los pines 9 y 10 respectivamente. 7. Conectamos Arduino a la PC 8. Ejecutamos el IDE de Arduino. verificamos que haya reconocido el puerto serie. 9. Compilamos y cargamos el programa. Objetivo: Controlar servo motores eléctricos Vamos a conectar y controlar un motor servo de los que giran 180 grados en sentido horario y antihorario usados para mover brazos y manos robóticas. También conectaremos un motor servo de rotación continua de los que se usan para mover robots con ruedas. Los motores consumen mucha energía eléctrica que generalmente superan la intensidad de corriente suministrada por el USB de Arduino. Aquí tenemos 2 opciones: conectar los motores a una fuente de energía externa (pila) o bien conectar todo el sistema a una fuente de energía con 5 volts pero con amperaje (intensidad de corriente) suficiente para alimentar la placa y mover los motores. Para este proyecto necesitaremos:. ● Una placa Arduino ● 1 motor servo ● 1 motor servo de rotación continua ● cables jumpers ● 1 pila de 9 volts Proyecto #2
  • 58. Segundo proyecto: Mover Motores Proyecto #2
  • 59. El Puente “H” H Bridge motor driver Un Puente en H es un circuito electrónico que permite a un motor eléctrico DC girar en ambos sentidos, avance y retroceso. Son ampliamente usados en robótica y como convertidores de potencia. Los puentes H están disponibles como circuitos integrados, pero también pueden construirse a partir de componentes discretos. El término "puente H" proviene de la típica representación gráfica del circuito. Un puente H se construye con 4 interruptores (mecánicos o mediante transistores). Cuando los interruptores S1 y S4 (ver primera figura) están cerrados (y S2 y S3 abiertos) se aplica una tensión positiva en el motor, haciéndolo girar en un sentido. Abriendo los interruptores S1 y S4 (y cerrando S2 y S3), el voltaje se invierte, permitiendo el giro en sentido inverso del motor.
  • 60. Relés (relay) Relés El relé (en francés relais, “relevo”) o relevador es un dispositivo electromagnético. Funciona como un interruptor controlado por un circuito eléctrico en el que, por medio de una bobina y un electroimán, se acciona un juego de uno o varios contactos que permiten abrir o cerrar otros circuitos eléctricos independientes. Dado que el relé es capaz de controlar un circuito de salida de mayor potencia que el de entrada, puede considerarse, en un amplio sentido, como un amplificador eléctrico. El electroimán hace girar la armadura verticalmente al ser alimentada, cerrando los contactos dependiendo de si es N.A ó N. C (normalmente abierto o normalmente cerrado). Si se le aplica un voltaje a la bobina se genera un campo magnético, que provoca que los contactos hagan una conexión.
  • 61. Sensores Es un dispositivo capaz de detectar magnitudes físicas o químicas, llamadas variables de instrumentación, y transformarlas en variables eléctricas. Las variables de instrumentación pueden ser por ejemplo: temperatura, intensidad lumínica, distancia, aceleración, inclinación, desplazamiento, presión, fuerza, torsión, humedad, movimiento, pH, etc. Una magnitud eléctrica puede ser una resistencia eléctrica, una capacidad eléctrica (como en un sensor de humedad), una tensión eléctrica (como en una termocupla), una corriente eléctrica (como en un fototransistor), etc. El sensor está siempre en contacto con la variable de instrumentación con lo que puede decirse también que es un dispositivo que aprovecha una de sus propiedades con el fin de adaptar la señal que mide para que la pueda interpretar otro dispositivo. Ej. el termómetro de mercurio que aprovecha la propiedad que posee el mercurio de dilatarse o contraerse por la acción de la temperatura. Un sensor también puede decirse que es un dispositivo que convierte una forma de energía en otra.
  • 62. Tercer proyecto: Identificar el entorno Procedimiento:Objetivo: Identificar la cercanía de objetos Vamos a utilizar el módulo detector de distancia a objetos por ultrasonido SR04. Utiliza el mismo principio que los murciélagos, ballenas y delfines que emiten sonidos en frecuencias altas no audibles y, en función del tiempo en que la onda supersónica vuelve al emisor, calcula la distancia. Este sensor, por lo tanto tiene un emisor y un receptor y devuelve un valor que representa la distancia. Sabemos la velocidad de propagación del sonido en el aire, por lo que podemos calcular la distancia en base al tiempo transcurrido hasta que el sensor recibe el reflejo de esa onda en su sensor de recepción. Este sensor tiene un alcance de entre unos 5 metros y 2 cm y es apto para construir un detector de obstáculos en un robot. Vamos a conectar el sensor a Arduino, leer los datos de distancia poniendo nuestra mano a diferentes distancias del sensor. Cuando la distancia es menor de 30 cm suena una alarma y se enciende un LED Rojo. Caso contrario se enciende el LED verde. Para este proyecto necesitaremos:. ● Una placa Arduino ● Un sensor SR04 ● Protoboard y cables ● 1 LED rojo y otro verde. 2 resistencias de 220 ohms. ● 1 Buzzer Proyecto #3 1. Seguiremos las instrucciones que recibiremos en el Workshop 2.
  • 63. Tercer proyecto: Identificar el entorno Proyecto #3 5v Trigger Echo GND
  • 64. Tercer proyecto: Identificar el entorno Proyecto #3
  • 65. Cuarto proyecto: Detectar el Stress en las Personas Este Estudio del MIT muestra como se corresponde exactamente la respuesta electrodérmica con los momentos más emocionantes de la montaña rusa de Six Flags. Objetivo: Crear un simple detector de stress Vamos a aprovechar el fenómeno de la resistencia galvánica de la piel humana. Cuando una persona se encuentra en estado de stress (miedo, excitación, etc.) se produce una disminución de la resistencia en la piel debido a la producción de transpiración(el agua salada es muy buena conductora de la electricidad). Este reflejo se llama Respuesta Psicogalvánica o Respuesta Electrodérmica. Crearemos un par de “pads” de material conductor (uno para positivo y el otro para negativo) sobre los que que el usuario colocará dos de sus dedos. El positivo irá conectado a uno de los pines de entrada analógica de Arduino que, como es de esperar, nos dará el voltaje. A menor voltaje, menor resistencia. Estableceremos un valor a partir del cual consideremos como “punto de stress” y cuando la lectura del voltaje de la piel sea inferior a él dispararemos el encendido de una señal sonora y el encendido de un LED. Proyecto #4
  • 66. Cuarto proyecto: Detectar el Stress en las Personas Objetivo: Crear un simple detector de stress Proyecto #4 El proyecto va a ser muy simple y en cuanto a componentes necesitaremos sólo 2 LEDs (uno verde y un rojo), y nos construiremos nuestro propio “sensor” de la resistencia galvánica de la piel. Para medir esta respuesta necesitamos que el usuario ponga dos dedos contiguos en sendos “pads” que construiremos doblando en 2 un par de rectángulos de papel aluminio y conectando por cable uno de ellos a GND y el otro a un pin de entrada analógica de Arduino. El pad conectado a la entrada analógica irá entregando un valor que va de 0 a 1023 y que representa el voltaje (0 a 5 volts). El el código veremos cómo ese cambio en el voltaje representa una disminución de la resistencia de la piel y dispararemos una alerta sonora y encenderemos el LED rojo cuando se ingrese en esos valores. El dispositivo requiere de una calibración para cada usuario y originalmente lleva un potenciómetro para ese fin, pero lo hemos suprimido para hacer este proyecto más sencillo y posible de ejecutar hoy aquí. La calibración la haremos modificando el código. La distancia entre los electrodos al efectuar las lecturas debe ser como se muestra arriba. En el esquema de la izquierda se muestran más alternativas de conexión pero requieren mayor calidad en la construcción de los electrodos.
  • 67. Cuarto proyecto: Detectar el Stress Procedimiento: 1. Desconectamos el Arduino de la PC. 2. Conectamos los cables y los LEDs según el esquema previsto. 3. Conectamos Arduino a la PC 4. Ejecutamos el IDE 5. Compilamos y cargamos el programa en la placa. Proyecto #4 Para este proyecto necesitaremos:. ● Una placa Arduino ● Papel aluminio y cables ● Protoboard y cables ● 1 LED rojo y otro verde. 2 resistencias de 220 ohms. ● 1 Buzzer
  • 68. Cuarto proyecto: Detectar el Stress en las Personas Proyecto #4
  • 69. Quinto proyecto: Crear un vínculo Wireless Objetivo: Crear un vínculo Wireless por radiofrecuencia entre 2 Arduinos Vamos a utilizar un módulo transmisor y otro receptor de muy bajo costo para transmitir inalámbricamente los datos del detector de stress. Estos módulos transmiten datos mediante ondas de radiofrecuencia de 433 Mhz y el conjunto tiene un costo de 4 u$s siendo la alternativa más económica para transmisiones de Arduino. Conectaremos unos de los pads del detector de stress y enviaremos esas lecturas de un Arduino a otro en forma inalámbrica. Para este proyecto necesitaremos:. ● 2 placas Arduino (pueden ser diferentes) ● 1 juego de transmisor/receptor RF Link de 433 Mhz ● Cables + el pad del detector de stress ● 1 pila de 9v Proyecto #5 Procedimiento: 1. Descotrolanectamos ambos Arduinos de la PC. Insertamos un módulo en cada uno. 2. Cableamos según esquema. Conectamos uno a uno las placas y cargamos el software
  • 70. Quinto proyecto: Ambas caras del RF Link Kit Proyecto #5 Conectar antena Conectar antena
  • 71. Quinto proyecto: Crear un vínculo Wireless Proyecto #5
  • 72. Transmisión por radiofrecuencia Proyecto #5 Radiofrecuencia (abreviado RF), también denominado espectro de radiofrecuencia, se aplica a la porción menos energética del espectro electromagnético, situada entre 3 hertz (Hz) y 300 GigaHertz (GHz). La radiocomunicación es una forma de telecomunicación que se realiza a través de ondas de radio u ondas hertzianas, la que a su vez está caracterizada por el movimiento de los campos eléctricos y campos magnéticos. La comunicación vía radio se realiza a través del espectro radioeléctrico cuyas propiedades son diversas dependiendo de su bandas de frecuencia. Así tenemos bandas conocidas como baja frecuencia, media frecuencia, alta frecuencia, muy alta frecuencia, ultra alta frecuencia, etc. En cada una de ellas, el comportamiento de las ondas es diferente.
  • 73. Transmisión por radiofrecuencia Proyecto #5 La transmisión se realiza por ondas de radiofrecuencia (transmisor y receptor deben trabajar a la misma frecuencia). Un transductor y su antena transforma el pulso eléctrico en ondas de radio que se transmite por el aire. Luego, en el receptor, un transductor y su antena transforman las ondas de radio en impulsos eléctricos. Los valores del pulso eléctrico (cero o “n” volts = 0 y 1) serán los bits de información. Como las antenas y en ambiente no son perfectos ni limpios de otras radiaciones hay siempre mucho “ruido” que distorsiona los valores. Por ello la transmisión no se hace en bits “crudos” sino a través de un protocolo que asegura la recepción correcta de los datos enviados. Los datos se envían en “paquetes” o “tramas”: Este byte de sincronía no forma parte del paquete de datos pero se envía para ajustar la ganancia del receptor 0xAA = 10101010 es decir una onda cuadrada Este byte le indica al receptor que se inicia el paquete. Todos los paquetes tienen el mismo valor. Este byte indica la dirección del receptor ej. la dirección IP o un código único. Aquí puede ir 1 o X número de bytes con los datos en sí mismos.. Este byte es para controlar que los datos son los correctos. Su valor representa la siguiente fórmula: checksum = byte de dirección + byte de datos + byte de datos . .
  • 74. Sexto proyecto: Controlar el hardware via Bluetooth Procedimiento: 1. Descotrolanectamos el Arduino de la PC. 2. Conectamos el módulo HC-05 / HC-06 3. Cableamos. 4. Cargamos el programa en la placa Arduino 5. Abrimos en nuestro smartphone alguna terminal bluetooth 6. Luego de aparear los dispositivos, Ingresamos en esa terminal “n” o “f” lo que encenderá o apagará el led respectivamente. Objetivo: Construir un enlace bluetooth para controlar dispositivos conectados a Arduino. Vamos a utilizar un módulo Bluetooth para establecer una comunicación serial inalámbrica y, a través de ella, enviar remotamente órdenes al circuito y controlar el comportamiento de algunos componentes como LEDs, motores, etc. Para este proyecto necesitaremos:. ● Una placa Arduino ● Un módulo bluetooth HC-05 ● 1 LED ● 1 servo motor ● Cables jumpers ● 1 pila de 9v con su bornera y cables. Proyecto #6
  • 75. Sexto proyecto: El módulo Bluetooth HC-05 Proyecto #6
  • 76. Sexto proyecto: Controlar el hardware via Bluetooth Proyecto #6
  • 77. Tips & Tricks Como dijimos la RAM de los Arduinos es bien limitada. Hay un truco para evitar que algunas variables no ocupen memoria RAM. El truco consiste en anteponer “ ” a las variables cuando se definen fuera del y del . La condición es sean realmente constantes y no necesitemos cambiar su valor. La limitación es que no funciona con Strings ni con arrays. ¿Cuál es entonces la solución para estos casos? Solo hay solución para los Strings y se trata de la función F(). Esta función ni siquiera está en la documentación de Arduino, es como una función “escondida”. ¿Cómo se usa? La estrategia de “ ” y nos ahorrará mucha memoria.
  • 78. Próximos Pasos Qué sige ahora? Recordemos que siempre se pueden construir aplicaciones completas en hardware sin necesidad de escribir una sola línea de código, es decir usando únicamente componentes electrónicos. Pero el desafío es poder construir aplicaciones usando la menor cantidad de componentes electrónicos reemplazandolo en lo posible con código. De este modo podemos hacer nuestros circuitos más baratos y fáciles de construir. Otra cosa a tener en cuenta es que Arduino es una plataforma de prototipos general que contiene funcionalidades con potencial para desarrollar aplicaciones de cierta complejidad. Para prototipos es especialmente útil tener algo genérico , pero la mayoría de las veces nos encontraremos con que nuestra aplicación se basa en leer un par de sensores y luego hacer algo con un motor, encender LEDs y/o enviar los datos de lectura a algún lado. Para esto, una placa Arduino es como un "cañón para matar hormigas" y deberíamos evaluar la posibilidad de usar microcontroladores como el ATTiny85 que tienen un costo de menos de 6 dólares (en Argentina,.. en USA y Europa cuestan centavos), y podrían cumplir perfectamente la función que le asignamos a una placa Arduino.
  • 79. Iot (Internet of Things) Una vez que tenemos nuestro circuito conectado a Internet, podemos decir que hemos entrado en el mundo del IoT. Nuestro circuito estará colectando datos y los estará publicando en línea. Este es sólo el primer paso en IoT. COn ello podemos imaginar soluciones innovadoras con BigData & Analitycs, social applications, alertas, sistemas de vigilancia, de localización, de monitoreo, etc, etc. Podemos desarrollar una plataforma IoT propia o usar las que hay disponibles con poderosas APIs REST para colectar visualizar nuestros datos. Aquí una lista de ejemplo. 1. ThingSpeak 2. Xively 3. Nimbits 4. SensorCloud 5. Exosite 6. EVRYTHNG 7. Paraimpu MQTT es un protocolo machine-to-machine (M2M) para la "Internet of Things" que se está convirtiendo en un standard. Es un protocolo publish/subscribe
  • 80. Q&A