Guía de arduino.
Presentado: Jonathan Arévalo.
Carrera: T.U Electrónica.
Los números binarios
Los números binarios forman parte del sistema binario, un
sistema de numeración utilizado generalmente en informática
en el cual los números se representan solamente mediante
las cifras cero y uno (0 y 1).
Un dígito binario por sí solo (como "101" ó "1001") se llama
un "bit" en lenguaje informático, palabra que viene del inglés
"binary digit". Por ejemplo, 11010 tiene cinco bits de longitud.
A la derecha, encontrarás ejemplos de números binarios. En
concreto, la tabla de números binarios de 1 al 10.
También se puede expresar de la
siguiente manera.
¿Cómo sabemos que numero
corresponde?
Ejemplo en la pizarra…
1+2+4+8+16+32+64 = Como sabemos cada numero tiene
127 un valor predeterminado y esto se
lee de derecha a izquierda, si el
ejemplo de la izquierda fuera puros
1 (uno) ¿Qué numero seria?
1111111 = ¿Cuánto seria?
Las entradas y salidas digitales.
La placa Arduino dispone de 14 pines-hembra de entradas o salidas (según lo que
convenga) digitales, numeradas desde la 0 hasta la 13. Es aquí donde
conectaremos nuestros sensores para que la placa pueda recibir datos del
entorno, y también donde conectaremos los actuadores para que la placa pueda
enviarles las órdenes pertinentes, además de poder conectar cualquier otro
componente que necesite comunicarse con la placa de alguna manera.
Todos estos pines-hembra digitales funcionan a 5 V, pueden proveer o recibir un
máximo de 40 mA.
Las entradas analógicas
La placa Arduino dispone de 6 entradas analógicas (en forma de pines hembra
etiquetados como “A0”, “A1”... hasta “A5”) que pueden recibir voltajes dentro de
un rango de valores continuos de entre 0 y 5 V. No obstante, la electrónica de la
placa tan solo puede trabajar con valores digitales, por lo que es necesaria una
conversión previa del valor analógico recibido a un valor digital lo más
aproximado posible. Esta se realiza mediante un circuito conversor
analógico/digital incorporado en la propia placa.
El circuito conversor es de 6 canales (uno por cada entrada) y cada canal dispone
de 10 bits (los llamados “bits de resolución”) para guardar el valor del voltaje
convertido digitalmente.
En general, la cantidad de bits de resolución que tiene un determinado
conversor analógico/digital es lo que marca en gran medida el grado de
precisión conseguida en la conversión de señal analógica a digital, ya que
cuantos más bits de resolución tenga, más fiel será la transformación. Por
ejemplo, en el caso concreto del conversor incorporado en la placa Arduino,
si contamos el número de combinaciones de 0s y 1s que se pueden obtener
con 10 posiciones, vemos que hay un máximo de 210 (1024) valores
diferentes posibles. Por tanto, la placa Arduino puede distinguir para el
voltaje digital desde el valor 0 hasta el valor 1023. Si el conversor tuviera por
ejemplo 20 bits de resolución, la variedad de valores digitales que podría
distinguir sería muchísimo más grande ( = 1048576) y podría afinar la
precisión mucho más.
Como el arduino Uno tiene 10 bits podemos decir y esto nos da 1024, es
decir, tiene 1023 combinaciones del 0 al 1023.
Obtendremos que cada valor digital corresponde a una “ventana” analógica
de aproximadamente 5V/1024≈5 mV. En otras palabras: todos los valores
analógicos dentro de cada rango de 5 mV (desde 0 a 5 V) se “colapsan” sin
distinción en un único valor digital (desde 0 a 1023). Así pues, no podremos
distinguir valores analógicos distanciados por menos de 5 mV.
Numero binario Numero decimal Voltaje
0000000000 0 0V
Los voltajes 0000000001 1 5mV
están 0000000002 2 10mV
aproximados
0000000003 3 15mV
0000000004 4 20mV
0000000005 5 25mV
0000000006 6 30mV
0010100101 165 825mV
0101111000 376 1,88V
1111111111 1023 5V
Señal análoga y digital.
Recordando las clases anteriores
Int: la variable que queremos usar mas adelante.
pinMode: le decimos al Arduino que pin será entrada o que pin será
salida.
digitalWrite: el pin que sea señal alta (5V o 3,3 V) o sea señal baja (0v).
digitalRead(pin): lee el valor de un pin digital especificado, ya sea HIGH o
LOW. Nos sirve para decirle al Arduino que entrada usaremos.
Operaciones relacionales
IF-ELSE
Encendido de un LED
atreves de un pulsador
Usamos la variable pulsador para poder
guardar nuestra informacion.
Usaremos el pin 2 como salida y el 3 como
entrada.
En “void loop()” leeremos el estado digital
del interruptor y almacenamos la información
en la variable pulsador.
Con “digitalRead(pin_de_la_entrada)” sabrá
que pin tiene que leer (será la entrada del
interruptor) y donde entrara la información
(corriente).
Encendido de un LED
atreves de un pulsador
Usaremos el if – else para decirle al
arduino que realice algo, si cumple con la
“condición” y sino la cumple hará la
“condicion2”.
Nuestra condición será (pulsador ==
HIGH), cuando presione el interruptor (5V)
el pulsador se leerá como HIGH y si se
cumpliera la condición saltamos a la línea
“digitalWrite (1,OUTPUT)” nuestro 1 será
nuestra salida.
Si no se cumpliera nuestra condición
(interruptor no presionado) se salta de línea
y el LED se mantendría apagado.
¿Qué usaremos en esta clase para
usar una señal analógica?
analogRead(pin): lee el valor del pin analógico especificado. La placa
Arduino contiene 6 canales (7 canales en placas MKR, 8 en Mini y Nano, 16
en Mega), convertidor de analógico a digital de 10 bits. Esto significa que
mapeará voltajes de entrada entre 0 y 5 voltios en valores enteros entre 0 y
1023. Esto produce una resolución entre lecturas de: 5 voltios / 1024
unidades o, .0049 voltios (4.9 mV) por unidad.
Se tarda unos 100 microsegundos (0,0001 s) en leer una entrada analógica,
por lo que la velocidad máxima de lectura es de aproximadamente 10,000
veces por segundo.
¿Qué pines podemos usar para la
señal análoga?
A0
analogRead(pin) A1
A2
A3
A4
A5
¿Dónde se encuentra los pines
analógicos?
[Link](rate)
Abre el puerto serie y fija la velocidad en baudios para la transmisión de
datos en serie. El valor típico de velocidad para comunicarse con el
ordenador es 9600, aunque otras velocidades pueden ser soportadas.
[Link](data)
Imprime los datos en el puerto serie, seguido por un retorno de carro y
salto de línea. Este comando toma la misma forma que [Link] (),
pero es más fácil para la lectura de los datos en el Monitor Serie del
software.
Dentro del paréntesis
escribiremos nuestra
variable.
Monitor Serie.
Para realizar la conexión mediante
puerto serie únicamente es
necesario conectar nuestra placa
Arduino empleando el mismo puerto
que empleamos para programarlo. A
continuación abrimos el IDE
Standard de Arduino y hacemos click
en el “Monitor Serial” como se indica
en la imagen.
El monitor de puerto serie es
una pequeña utilidad
integrada dentro de IDE
Standard que nos permite
enviar y recibir fácilmente
información a través del
puerto serie. Su uso es muy
sencillo, y dispone de dos
zonas, una que muestra los
datos recibidos, y otra para
enviarlos. Estas zonas se
muestran en la siguiente
imagen.
Enviar información
Recibir información
Código de ejemplo:
Recibir información desde el arduino.
En este primer código vamos a recibir el valor de un contador enviado desde
la placa Arduino. Este valor se incrementa cada segundo. Podemos observar
como se reciben los valores desde del monitor serial.
Escriban eso en IDE.
¿Que sucede?
Completa la
escritura…
¿Qué nos falta?
Definir nuestra variable.
Que pin usaremos.
En [Link] que
velocidad usaremos para los
baudios para la transmisión.
Tenemos que guardar
nuestra variable y podíamos
usar digitalWrite, digitalRead
o analogRead ¿Cuál usarían
ustedes?
Dentro de if va nuestra
condición.
Dentro de [Link] va
nuestra variable.
Completemos en la pizarra…
Nuestra variable
Nuestra salida
Transmisión de
datos en serie
Guardar nuestra
información
El tiempo en leer
nuestra señal
Nuestra condición
Imprime los datos en
el puerto serie.
Si no se cumple
condición
Imprime los datos en
el puerto serie.
¿Qué es el LDR?
Un LDR es un resistor que varía su valor de resistencia eléctrica
dependiendo de la cantidad de luz que incide sobre él. Se le llama,
también, fotorresistor o fotorresistencia. El valor de resistencia eléctrica
de un LDR es bajo cuando hay luz incidiendo en él (en algunos casos
puede descender a tan bajo como 50 ohms) y muy alto cuando está a
oscuras (puede ser de varios megaohms).
Simbología LDR.
Esquema del circuito.
Como me quedo a mi. 5V
Entrada
Tierra o GND
analógica
Resistencia
de 220 ohm
Resistencia
de 10K ohm
¿Cómo saber que numero debo poner
en mi condición?
Para ese caso usaremos nuestro
“monitor serial”.
Sin tapar el LDR Tapando el LDR
Nos están llegando sobre los
Si la información que nos
700, si queremos pasar ese
entrega esta debajo o igual
numero a voltaje seria:
399 se va a encender el
5mV * 700 = 3,5V LED.
Si coloco una luz encima del LDR por
ejemplo una lámpara.
Como tenemos una gran
cantidad de luz el LDR
entregara una resistencia muy
pequeña por lo tanto no se
podrá encender el LED.
Llegamos hasta los 993 o
4,95V.
¿Cómo funciona el circuito
electrónicamente?
Funciona como un “Divisor de voltaje”
Un divisor de voltaje es un circuito simple que reparte la tensión de una
fuente entre una o más impedancias (resistencias) conectadas. Con sólo dos
resistencias en serie y un voltaje de entrada, se puede obtener un voltaje de
salida equivalente a una fracción del de entrada. Los divisores de voltaje son
uno de los circuitos más fundamentales en la electrónica.
Divisor de voltaje en un circuito.
Nuestro voltaje de entrada
serán 5V y R2 será los 10K
ohm y R1 será la resistencia
del LDR .
En la pizarra se explicara
como se haría en este caso.
¿QUÉ HAREMOS EL PROXIMA TALLER?
Deberán comprar
un LM35 o también
conocido como
sensor de
temperatura y traer
un encendedor.
Traer 3 led de
diferentes color y
resistencias para
los LEDs.