Logo Studenta

GALLEGOS_M_P2PT1

¡Este material tiene más páginas!

Vista previa del material en texto

18-12-2020 
 
RESUMEN: ARDUINO 
UNO 
MARÍA GPE. GALLEGOS SEVILLA |7°A| 
| ING. EN TELEMÁTICA | FACULTAD DE 
TELEMÁTICA| 
UNIVERSIDAD DE COLIMA 
ARDUINO UNO 
 
 
Suministro de energía 
El Arduino UNO puede ser alimentado mediante dos maneras, USB o fuente de 
alimentación externa dentro del rango de 7 a12 voltios con conector Jack, y a su 
vez puede ser suministrar la corriente a través de los conectores Gnd y Vin de la 
placa. Los pines de alimentación son los siguientes: 
- Vin: Es utilizada cuando la fuente de alimentación es externa con un rango 
de 7 a 12 V. 
- 5V: tensión de salida de 5V que proporciona la placa. 
- 3V3: Tensión de salida de 3.3V que proporciona la placa, con una corriente 
de salida de 50mA como máxima. 
- GND: Tensión de referencia de la placa. 
- IOREF: Pin utilizado por el Arduino para suministrar la tensión de referencia. 
Memoria del sistema 
El Arduino Uno cuenta en la placa de desarrollo de 32KB de memoria flash, donde 
es usado 0.5KB para el bootloader, y con 2KB de SRAM y 1KB de EEPROM. 
Sistema de Entrada y salida 
Con 14 entradas y/o salidas digitales, el Arduino Uno puede seleccionar cuál puede 
ser su función si de entrada o salida, mediante los comandos pinMode() y 
digitalWrite() o digitalRead() respectivamente. Estas entradas funcionan con 5V y 
cada pin suministra o recibe 40mA. Pines de entrada y/o salida: 
- Pin 0: recepción serie 
- Pin 1: Transmisión serie, señales TTL 
- Pines 2 y 3: Interrupciones externas 
- Pines 3, 5, 6, 9, 10 y 11: Proporcionan salidas PWM de resolución de 8 bits. 
- Los pines 10 (SS), 11 (MOSI), 12 (MISO) y 13 (SCK): Proporcionan el 
interface de transmisión serie SPI para interconectar el microcontrolador con 
periféricos externos 
- Pin 13: Tiene un LED interno conectado, cuando enciende el pin 13 está en 
HIGH y se apaga al estar en LOW. 
- Entradas analógicas: 
• A0-A5 de 10 bis de resolución con capacidad de medición hasta 5V 
• A4 y A5: Funcionan como SDA y SLC 
• AREF: Funciona para variar el fondo de escala de las entradas analógicas 
• Reset: Puesto a valor LOW resetea el microcontrolador. 
 
Sistema de Comunicaciones 
El Arduino Uno contiene un puerto serie de comunicaciones UART TTL, hace de 
interfaz entre la comunicación serie y comunicación USB, de modo que cuando se 
conecta a la PC aparece un puerto COM virtual. 
 
Instalación del entorno de desarrollo 
Primeramente, se debe de descargar en entorno de desarrollo. Puede ser 
descargado en el siguiente link: http://arduino.cc/en/Main/Software, debe ser 
conectada la placa de Arduino a un equipo de desarrollo mediante un USB, de esa 
manera Windows detectará el dispositivo e instalará los drivers adecuados, para 
después aparecer el puerto virtual COMx que será utilizable desde el IDE de 
Arduino. 
 
IDE de Arduino 
 El IDE de Arduino estáconstituido por un editor de teto para escribir el código un 
área de mensajes, una consola de texto, una barra de herramientas con botones 
para las funciones comunes y una serie de menús. Los programas son escritos en 
el editor de texto, donde puede ser posible copiar, pegar y reemplazar texto. 
En el área de mensajes son mostrados los errores y se cargan los programas. La 
consola muestra el texto de salida y los errores completos. La barra de herramientas 
permite verificar el proceso de carga, creación, apertura y guardado de programas, 
y la monitorización serie. 
 
“Hola Mundo” En Arduino UNO 
Para este ejemplo se conecta un LED al pin 13 y parpadeará cada segundo. La 
placa de Arduino viene ya implementado el LED y su respectiva resistencia. 
http://arduino.cc/en/Main/Software
 
 
Se puede cargar un código ejemplo directamente desde el propio IDE de Arduino: 
 
 
Primeros Montajes (LDR) 
Un LDR es una resistencia variable, varía su valor dependiendo de la cantidad de 
luz que incide sobre su superficie. Cuanta más intensidad incida en la superficie, 
menor será su resistencia y viceversa. Simbolismo: 
 
Un sensor de luz se compone de una LDR como parte de un divisor de tensión 
resistivo. Ejemplo: 
 
Si la LDR es usada como Rtop. Como en el primer circuito, da tensión alta HIGH y 
cuando la LDR está en la luz, y una tensión baja LOW en la salida cuando LDR está 
en la sombra. La acción del divisor de tensión es la inverso cuando la LDR es usada 
como Rbottom en lugar de Rtop, como en el segundo circuito. El circuito da tensión 
baja LOW en la salida cuando la LDR está en la luz y una tensión alta HIHG en la 
salida cuando la LDR está en la sombra. El circuito divisor de tensión dará una 
tensión de la salida que cambia con la iluminación, de forma inversamente 
proporcional a la cantidad de luz que reciba (sensor de oscuridad). 
Con un mismo montaje se puede programar otras versiones del código para ver otro 
tipo de funcionamiento. En este caso, con el anterior montaje, el objetivo de este 
segundo será el regular la intensidad luminosa del LED con la LDR, resistencia 
sensible a la luz. 
• Mapeo de Valores 
En ocasiones, los valores que se obtienen de una lectura de un pin, como 
un sensor, pueden estar fuera de una escala determinada, para poder 
usarlos deben ser convertidos a otro rango. El valor de salida que se 
puede dar al LED es de 0 a 255, que se traduce en su nivel de 
luminosidad, pero los datos que se leen del sensor pueden llegar a 1024. 
Es por eso que se debe mapear el resultado, es decir, dejarlo en valores 
de entre 0 y 255. Para poder mapear, se utiliza la función “map” del 
programa se asignan un valor máximo y mínimo a un rango dado, donde 
el valor máximo suele ser 1024 y el valor mínimo suele depender del nivel 
de luz de las condiciones de la práctica. 
 
Medición de temperatura y humedad con Arduino UNO y DHT11 
El sensor DHT11 tiene como función el medir la temperatura y la humedad en 
conjunto con el Arduino. El proceso es el primero obtener la lectura mediante la 
interfaz serial del aruino, pero la idea final es enviar estos datos a un servidor en 
internet. 
Materiales 
• Sensor DHT11 
• Protoboard 
• Cables de conexión para protoboard 
• Cable conexión Arduino 
• Arduino UNO 
 
Sensor DHT11 
 Este sensor es un sensor básico de humedad y temperatura de costo reducido. 
Utiliza un sensor de capacidad para medir la humedad y un termistor para medir la 
temperatura del aire que lo rodea. Está diseñado para medir temperaturas de entre 
0 y 50°C con una precisión de +-2°C y medir humedad entre el 20 y 80% con una 
precisión del 5% y periodos de muestreo de 1s. Si se requiere mayor precisión se 
puede trabajar con el sensor DHT22. 
 
 
Circuito 
 
 
Porgramación 
Para leer y transformar los datos que entrega el sensor, es necesario utilizar una 
librería, par este ejemplo puede ser utilizada la librería creada por Adafruit desde 
github. Se descarga un archivo que debe descomprimirse, dentro de él viene una 
carpeta, dicha carpeta debe ser copiada al directorio de Arduino donde se 
encuentran sus librerías. Una vez se añade la carpeta, se debe reiniciar el IDE. 
Cuando ya ha sido terminado el circuito y las libr4erias cargadas, es hora de 
trabajar con el sketch para Arduino. 
// Internet de las Cosas 
// www.internetdelascosas.cl 
// Sketch de prueba para sensores DHT humedad / temperatura 
// Escrito por @joniuz basado en el sketch de Ladyada 
 
// Libreria para Sensores DHT 
#include "DHT.h" 
 
#define DHTPIN 2 // Pin del Arduino al cual esta conectado el pin 2 del sensor 
 
// Descomentar segun el tipo de sensor DHT usado 
#define DHTTYPE DHT11 // DHT 11 
//#define DHTTYPE DHT22 // DHT 22 (AM2302) 
//#define DHTTYPE DHT21 // DHT 21 (AM2301) 
 
// Diagrama 
// Pin 1 Sensor a +5V de Arduino 
// Pin 2 Sensor a HDTPIN (en este sketch es el pin 2) 
// Pin 4 Sensor a GROUND de Arduino 
// Resistencia de 10K desde Pin 2 de sensor a Pin 1 de Sensor o +5V 
 
// Inicializa el sensor 
DHT dht(DHTPIN, DHTTYPE);// Configura Arduino 
void setup() { 
 Serial.begin(9600); 
 Serial.println("InternetdelasCosas.cl\n\nPrueba de sensor DHTxx!"); 
 
 dht.begin(); 
} 
 
void loop() { 
 // Espera dos segundos para realizar la primera medicion. 
 delay(2000); 
 
 // Lee los datos entregados por el sensor, cada lectura demora 250 milisegundos 
 // El sensor muestrea la temperatura cada 2 segundos} 
 
 // Obtiene la Humedad 
 float h = dht.readHumidity(); 
 // Obtiene la Temperatura en Celsius 
 float t = dht.readTemperature(); 
 
 // Control de errores, valida que se obtuvieron valores para los datos medidos 
 if (isnan(h) || isnan(t)) { 
 Serial.println("Falla al leer el sensor DHT!"); 
 return; 
 } 
 
 Serial.print("Humedad: "); 
 Serial.print(h); 
 Serial.print(" %\t"); 
 Serial.print("Temperatura: "); 
 Serial.print(t); 
 Serial.println(" *C "); 
} 
 
Una vez escrito el código, se debe compilar el programa vara verificar si hay errores, 
si no hay errores se debe cargar el programa el cual traspasa el código binario que 
genera la interfaz IDE al Arduino donde se comienza a ejecutar. Para ver el 
resultado del trabajo se debe activar la interfaz serial, esta se activa como en la 
siguiente imagen: 
 
En el monitor serial o pantalla de salda se visaulisza el script y los valores que 
obtiene al medir la temperatura y humedad del aire que lo rodea:

Continuar navegando