Descarga la aplicación para disfrutar aún más
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:
Compartir