ETAPA 2

ETAPA 2 – DISEÑO DE UNA APLICACIÓN BASADA EN TARJETA DE DESARROLLO ARDUINO ACTIVIDAD INDIVIDUAL PRESENTADO POR: LEIDER

Views 102 Downloads 0 File size 807KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

ETAPA 2 – DISEÑO DE UNA APLICACIÓN BASADA EN TARJETA DE DESARROLLO ARDUINO

ACTIVIDAD INDIVIDUAL

PRESENTADO POR: LEIDER TORRES PADILLA CÓD.: 12436989

TUTOR: GRUPO: 203052_

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA ESCUELA CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍA SISTEMAS EMBEBIDOS VALLEDUPAR 2020

Actividades a desarrollar Individual Esta actividad consiste en definir la programación inicial de la tarjeta de desarrollo Arduino seleccionada de acuerdo a la propuesta de solución al problema planteado en el Anexo 1 teniendo en cuenta: 1.

Estudiar las referencias bibliográficas de la unidad 2 resaltando la información que considere aporta al desarrollo del problema planteado, la consolida en un documento y lo comparte en el foro, referenciando bajo normas APA.

Para este proyecto utilizaremos el Arduino uno por tener una la cantidad de pines necesarios para este proyecto, lo que nos permitirá conectar todos los sensores y actuadores que utilizaremos. ¿QUÉ ES ARDUINO? Arduino es una comunidad tecnológica y compañía dedicada a la producción de hardware libre. En esta empresa lo que hacen es diseñar y manufacturar diferentes tipos de placas de desarrollo de hardware y software. Éstas se encuentran compuestas por circuitos impresos que son los que integran su microcontrolador. Ahora, al hablar de estas placas debemos hacer mención de Arduino IDE, que es un entorno de desarrollo conocido como IDE y es en él donde se realiza la programación de cada una de las placas. Con esta labor la compañía ha buscado facilitar el acceso y uso no solo de la electrónica sino también de la programación de sistemas embebidos. Además, es necesario considerar que toda la plataforma presentada por la compañía se libera bajo la licencia de código abierto y es lo que da total libertad de acceso. Es una placa de desarrollo robusta de la familia, cuenta con un microcontrolador muy potente de 8 bits y es el que más pines tiene de todas las opciones posibles. Tiene una memoria destinada a la programación elevada. ARDUINO UNO La arduino Uno es una board basada en un microcontrolador Atmega328. Tiene 14 pines de entrada/salida digital (de los cuales 4 pueden ser utilizados para salidas PWM), 6 entradas análogas, un resonador cerámico de 16 MHz, un conector para USB tipo hembra, un Jack para fuente de Poder, un conector ICSP y un botón reset.

Tiene todo lo necesario para manejar el controlador, simplemente conectamos al computador por medio del cable USB o una fuente de poder externa, que puede ser un adaptador AC-DC o una batería, cabe aclarar que si se alimenta a través del cable USB en el ordenador no es necesario una fuente externa. Para programar la board se necesita el IDE Arduino. Características  Microcontrolador: ATmega328  Voltaje Operativo: 5v  Voltaje de Entrada (Recomendado): 7 – 12 v  Pines de Entradas/Salidas Digital: 14 (De las cuales 6 son salidas PWM)  Pines de Entradas Análogas: 6  Memoria Flash: 32 KB (ATmega328) de los cuales 0,5 KB es usado por Bootloader.  SRAM: 2 KB (ATmega328)  EEPROM: 1 KB (ATmega328)  Velocidad del Reloj: 16 MHZ. módulo sensor de vibración SW-420 El módulo sensor de vibración SW-420 es una placa de circuito consistente de un dispositivo sensor de vibración, un amplificador operacional LM393 en modo comparador y un potenciómetro. Evidentemente la base del módulo es el sensor de vibración, el cual funciona básicamente por medio de un elemento flexible metido en el interior de un cilindro, estando ambos a un potencial diferente, cuando se produce vibración el elemento interior chocará contra las paredes del

cilindro conduciendo así una pequeña corriente. Luego esta corriente se compara con la referencia dada por el nivel del potenciómetro por medio del amplificador operacional, si la corriente supera la referencia la salida digital del módulo (D0), se pondrá en alto. El sistema consta de 3 pines los cuales son:  VCC = Referencia positiva  GND = Referencia negativa  D0 = Salida digital (en alto cuando exista vibración) A continuación, presentamos un ejemplo en usamos la vibración detectada por el módulo. Esquema de conexión Arduino UNO

Código Arduino int LedPin = 13; int Sensor = A0; void setup() {   pinMode(LedPin, OUTPUT); } void loop() {   if (digitalRead(Sensor) == 1) {     digitalWrite(LedPin, HIGH);     delay(3000);  }   else  {     digitalWrite(LedPin, LOW);  } }

Amplificador de célula de carga HX711 El amplificador de célula de carga HX711 te permite obtener los datos de una célula de carga para tratarlos con un Arduino. La finalidad de este componente es amplificar la señal que se obtiene de la célula de carga para luego dentro del microcontrolador poder hacer la operación de proporcionalidad y saber el peso que hay encima de la báscula.

La célula de carga que vamos a utilizar es la que viene dentro de la báscula. Suelen ser células de carga simple.

Como veremos más adelante, se utilizan cuatro situadas en forma de cuadrado y equidistantes unas de otras. Vamos, como están situadas en la báscula de baño. El amplificador HX711 tiene dos filas de pines. Una fila sirve para conectarse a la célula de carga y otra fila sirve para conectarse al microcontrolador.

Pines conexión HX711 y célula de carga El amplificador de célula de carga HX711 admite cinco cables de la propia célula que se conectan en los pines RED, BLK, WHT, GRN y YLW.

Por norma general, cada célula de carga tiene 4 puntos para medir las 2 tensiones que hemos visto en el puente de Wheatstone. Por un lado tenemos la tensión de entrada o de excitación (en inglés Excitation) y por otro lado la tensión de salida (en inglés Output).

Entonces la correspondencia entre los cables y las conexiones con el amplificador HX711 son las siguientes:

Conexión puente Wheatstone

Color

Excitación + Excitación – Output + Output –

Rojo Negro Blanco Verde

Pines conexión con el microcontrolador Por otro lado tenemos los pines de conexión con el microcontrolador: VDD, VCC, DAT, CLK y GND.  VCC: tensión de alimentación. Admite un voltaje de entre 2,6V y 5,5V.  VDD: tensión de nivel lógico que se utiliza. Si es un Arduino UNO es 5V y un ESP8266 es 3,3V.  DAT: pin de datos.  CLK: pin señal de reloj.  GND: pin de conexión a tierra. Esquema eléctrico Arduino, célula de carga y HX711 Estas serían las conexiones entre el HX711, Arduino y la célula de carga.

Detector de objetos por infrarrojos el sensor digital de infrarrojos modelo Keyes IR. Cuando detecte un objeto que encienda el LED 13 de Arduino. Como se puede observar en la figura el emisor y el receptor van montados en la misma placa. El emisor transmite una frecuencia de infrarrojo y cuando encuentra un objeto la señal se refleja y es captada por el receptor. La distancia de detección es de 2 a 40 cm (bastante menor que el rango del sensor de ultrasonidos). Tiene un jumper que deshabilita el sensor si se quita y dos potenciómetros. Con uno de ellos (el 202) regulamos la distancia a la que se detecta el objeto. La radiación infrarroja no se ve directamente, pero si enfocamos mediante la cámara del móvil como si fuéramos a hacer una foto veremos por el visor del móvil una luz violeta.

Pin sensor Vcc GND Out En

Pin arduino 5V GND D3 Sin conectar

PROGRAMA: #define LED 13 #define BUTTONPIN 3 boolean val; void setup (){ pinMode (LED, OUTPUT); pinMode (BUTTONPIN, INPUT); Serial.begin(9600); } void loop (){ val = digitalRead(BUTTONPIN);// digital interface will be assigned a value of 3 to read val if (val == HIGH) digitalWrite (LED, HIGH); else digitalWrite(LED, LOW); Serial.println(val); }

El SGD-30/120-LY40 de OMEGA es un sensor de deformación mecánica extralargo proyectado específicamente para materiales no homogéneos. Su rejilla mide 25 por 8 mm, y el cargador tiene 40 por 12 mm. La resistencia nominal es de 120 Ω, y él tiene terminaciones con alas de soldadura. Lámina de constantán es usada para hacer la rejilla, que es sellada en un cargador de poliimida. El SGD-30/120-LY40 de OMEGA es flexible y fuerte para proporcionar mediciones estáticas y dinámicas altamente precisas. El sensor de deformación mecánica SGD-30/350-LY40 es hecho de los materiales de la misma calidad que el SGD-30/120-LY40. Sus 50 mm de longitud mejoran la precisión de la medición de deformación mecánica de materiales no homogéneos. La rejilla tiene 30 por 3 mm, y el cargador tiene 36 por 5 mm. La resistencia nominal del SGD-30/350-LY40 es de 350 Ω. Este sensor de deformación mecánica de estándar lineal está proyectado para medir deformación mecánica en una única dirección. 2. Realizar el diagrama de flujo que represente la programación de la tarjeta de desarrollo Arduino de acuerdo a la propuesta que presentó en la etapa 0 en donde se relacionen las variables a usar tanto de entrada como de salida.

3.

Programar la tarjeta de desarrollo Arduino en el IDE correspondiente, usando lenguaje de alto nivel, usando las secuencias y nombres planteados en el diagrama de flujo.

Programación sistema embebido #include // pines Sensor de vibración int pinR = 6; int pin = 7; int led = 13; int led2 = 0; int value = 0; int valor = 0; int pinmotor = 10; int i = 0; //pines LCD const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); // void setup() { Serial.begin(9600); //iniciar puerto serie lcd.begin(16, 2); // Print a message to the LCD. pinMode(pinmotor,OUTPUT); // Pin sensor de vibracion pinMode(pin, INPUT); //definir pin como entrada pinMode(led,OUTPUT); pinMode(led2,OUTPUT); // Pin sensor infrarojo pinMode(pinR, INPUT); } void loop(){ value = digitalRead(pin); //lectura digital de pin valor = digitalRead(pinR); //lectura digital de pin //Ciclo si para sensor de vibracion if (value == HIGH) { lcd.setCursor(0, 0); lcd.print("Sist. Monitoreo"); digitalWrite(led, HIGH);

digitalWrite(pinmotor,HIGH) ; } else { lcd.setCursor(0,0); lcd.print("Sist. Monitoreo"); digitalWrite(led, LOW); digitalWrite(pinmotor,LOW) ; } // Ciclo si para senson infrarojo if (valor == HIGH) { i = i+1; lcd.clear(); lcd.home(); lcd.setCursor(0,0); lcd.print("Sist. Monitoreo"); lcd.setCursor(0,1); lcd.print("# Autos: "); lcd.print(i,1); } else { lcd.clear(); lcd.home(); lcd.setCursor(0,0); lcd.print("Sist. Monitoreo"); lcd.setCursor(0,1); lcd.print("# Autos: "); lcd.print(i,1); } if (i >=10){ digitalWrite(pinmotor,HIGH) ; digitalWrite(led2, HIGH); } delay(200); } 4.

Simular el proceso con el uso de simuladores especializados en escenarios con apoyo tecnológico, demostrando el funcionamiento de la aplicación diseñada con tarjeta de desarrollo Arduino.

Simulación en Proteus

ARDUINO UNO

Sensor de vibración SW-420

Sensor de peso HX711

Sensor infrarrojo

Visualización pantalla LCD 2x16

Diodos leds y motor DC

5. Elaborar un video de la simulación obtenida en el desarrollo del numeral 4. El video debe estar en su página de youtube, no exceder los 5 minutos, presentar imagen y audio claro.