Programación de Interfaces Con Arduino Equipo 8 Grupo 2101154100

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 12

INSTITUTO TECNOLÓGICO DE TOLUCA

Carrera:
INGENIERÍA ELECTROMECÁNICA

Asignatura:

INTRODUCCIÓN A LA PROGRAMACIÓN

Actividad:

TRABAJO DE INVESTIGACIÓN TEMA 6

Alumnos:
Gutiérrez Lugo Diego Yefer
Duran Aguilar Fernando
Roberto

Flores Pérez Pedro Francisco

Navarro Sandoval Rosa Victoria Carolina

7 DE NOVIEMBRE DE 2021
Arduino se enfoca en acercar y facilitar el Arduino es una plataforma de autoría
uso de la electrónica y programación de electrónica de código abierto, en
sistemas embebidos en proyectos hardware y software gratuitos, flexible y
multidisciplinarios. para uso de creadores y desarrolladores.
Arduino ofrece unas bases de hardware
Esta plataforma permite la creación de
abierto para que otros fabricantes
puedan crear sus propias placas. diferentes tipos
de microordenadores únicos a las que la
En lo referente a hardware, se basa en comunidad de creadores
placas que se pueden ensamblar a mano puede dar diferentes usos.
o que se pueden comprar directamente
preensambladas. Cada una de las
placas lleva un microcontrolador en el
que se carga el programa software que
es necesario desarrollar para “darle vida”
a la placa.

El proyecto Arduino surge por el año 2003,


con el objetivo de proporcionar una
forma fácil y económica de que
principiantes y profesionales crearán Figura 2. Arduino uno.
dispositivos que pudieran interactuar con
su entorno mediante sensores y
actuadores. especificaciones y diagramas son de
acceso público, de manera que
De esta forma, el principal objetivo de cualquiera puede replicarlos.
esta investigación es precisamente el de
ofrece
m onitorizar el proceso de introducción de
bases para que cualquier persona o
ARDUINO, analizando las ventajas e
inconvenientes que el trabajo con estas empresa pueda crear
placas microcontroladores puede
ocasionar.

El software libre son los programas


informáticos cuyo código es accesible
por cualquiera para que quien quiera

la plataforma
es una de
programación con la
que cualquier persona que pueda crear
para placas

Figura 1. Piezas de Arduino.


Y para los que no soportan el form ato serie de
Interfaz de entrada En el proceso de form a nativa, es posible utilizar software
establecer la comunicación entre la interm ediario que traduzca los m ensajes enviados
unidad central y el proceso, es el tipo de por ambas partes para permitir una comunicación
interfaz que se encarga de recibir las fluida. Algunos ejem plos de lenguajes son:
señales percibidas por las unidades de los
• 3DVIA Virtools: aplicaciones interactivas y de
elementos de entrada y transformar la
tiempo real.
información a código binario y enviarla a • Adobe Director
la unidad de procesamiento. • BlitzMax (con acceso restringido).
Interfaz de salida Son los dispositivos con • C
• C++ (m ediante libSerial o en W indows).
los que se recibe la inform ación tras haber
• C#
sido procesada por la computadora,
• C ocoa/Objective-C (para Mac OS X).
transforma la información en un output
• Flash (m ediante ActionScript).
que sea capaz de ser percibido por el • Gambas
usuario. • Isadora (Interactividad audiovisual en tiempo
real).
• Instant Reality (X3D).
La placa tiene 14 pines digitales, 6 pines • Java
analógicos programables con • Liberlab (software de m edición y
el Arduino IDE (Entorno de desarrollo experimentación).
integrado) a través de un cable USB. • LabView
Puede ser alimentado por el cable USB o • Mathematica
por una batería externa de 9 voltios, • Matlab
aunque acepta voltajes entre 7 y 20 • MaxMSP: Entorno gráfico de program ación
voltios. para aplicaciones musicales, de audio y
multimedia.
Es posible comunicar una aplicación que • Minibloq: Entorno gráfico de program ación,
corra sobre Arduino con otros dispositivos corre también en las computadoras OLPC.
que corran otros lenguajes de • Perl
programación y aplicaciones populares, • Php
• Physical Etoys: Entorno gráfico de
debido a que Arduino usa la transmisión
programación usado para proyectos de
de datos en serie, la cual es soportada por robótica educativa.
la mayoría de los lenguajes que se • Processing
mencionan a continuación. • Pure Data
• Python
• Ruby
• Scratch for Arduino (S4A): Entorno gráfico de
programación, modificación del entorno para
niños Scratch, del MIT.
• Squeak: Im plementación libre de Smalltalk.
• SuperCollider: Síntesis de audio en tiem po real.
• VBScript
• Visual Basic .NET
• VVVV: Síntesis de vídeo en tiem po real.

Figura 3. Conexión de Arduino.


¿Alguna vez ha sentido la necesidad de una alarma de mochila? ¿Alguna
vez se sentó en un área pública con su mochila y temió que alguien pudiera
robarla? Si es así, ¡este es el proyecto para ti!

Usando la brújula / acelerómetro LSM303, este proyecto hace sonar una


alarm a cuando se m ueve la m ochila. Utiliza la brújula para controlar la
orientación, y cuando hay un movimiento de más de 10 grados, suena una
alarma.

Cosas utilizadas en este proyecto:


A plicaciones de softw are y servicios en línea

IDE de Arduino


Paso 1: Conecta el Arduino

Conecte la placa de conexión LSM303 al Arduino de la siguiente manera:

• SDA - SDA

• SD L - SD L

• VIN - 5v

• GND - GND

Conecte el zumbador piezoeléctrico al Arduino así:

• + al Pin 13

• - a GND
Paso 2: Instalar las bibliotecas

Descargue la biblioteca Adafruit_LSM303DLHC y


la biblioteca Adafruit_Sensor com o archivos zip.

Abra el IDE de Arduino.

Vaya a Sketch > Incluir biblioteca> Agregar biblioteca ZIP ...

Luego, busque y seleccione los archivos .ZIP que descargó anteriorm ente.
Paso 3: Program a el Arduino

Abra el IDE de Arduino y cree un nuevo archivo. Elim ine todo lo que ya está
allí y pegue el siguiente código.
// Include Libraries
#include <Wire.h>
#include <Adafruit_Sensor.h>

#include <Adafruit_LSM303_U.h>
#include <Adafruit_LSM303.h>

// Adjust the sensitivity


const int sens = 10;

// Assign a unique ID to this sensor at the same time


Adafruit_LSM303_Mag_Unified mag = Adafruit_LSM303_Mag_Unified(12345);

void setup(void)
{
//Just for Debugging
//Serial.begin(9600);

//Serial.println("Starting...");

// Setup pin 13
pinMode(13, OUTPUT);

// Initialise the sensor


if(!mag.begin())
{

// There was a problem detecting the LSM303 ... check your connections
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
delay(500);

digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
delay(500);
while(1);
}

// Wait 5 seconds
delay(5000);

// Alert when started

digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);

// function for getting the sensor value


int getDeg(void){
// Get a new sensor event
sensors_event_t event;
mag.getEvent(&event);

float Pi = 3.14159;

// Calculate the angle of the vector y,x


float heading = int((atan2(event.magnetic.y,event.magnetic.x) * 180) / Pi);

// Normalize to 0-360
if (heading < 0)
{
heading = 360 + heading;
}
return heading;

}
void loop(void)
{

// get sensor values


int oldDeg = getDeg();
delay(1000);
int newDeg = getDeg();

if (newDeg < (oldDeg-sens) && oldDeg != 0 && newDeg != 0) {

// sound the alarm


digitalWrite(13, HIGH);

// Just for debugging


//Serial.println("Triggered");
//Serial.println("");

}else if (newDeg > (oldDeg+sens) && oldDeg!= 0 && newDeg != 0) {

// sound the alarm


digitalWrite(13, HIGH);

// Just for debugging


//Serial.println("Triggered");
//Serial.println("");

// Just for debugging


//Serial.print("New:");
//Serial.println(newDeg);
//Serial.print("Old:");
//Serial.println(oldDeg);

//Serial.println("");
}
Paso 4: ¡Pruébalo!

Si hizo todo correctam ente, después de presionar el botón de reinicio en su


Arduino, debería ser recibido con algunos pitidos, 3 segundos de silencio y
luego un pitido m ás largo. Si gira la fuga LSM303, debería escuchar que se
enciende la alarm a. Si el sensor es dem asiado sensible, sim plem ente
aumente la variable 'sens' en el código cerca de la parte superior. Si desea
más sensibilidad, disminuya la variable 'sens'.

Si recibe 2 pitidos largos antes de la demora de 3 segundos, entonces su


cableado tiene problem as. Verifique todas las conexiones.

Si no parece funcionar, es posible que las bibliotecas no tengan el nombre


correcto. En el código, elimine las declaraciones '#include' al
principio. Lueg o vaya a Sketch > Inclu ir biblioteca y seleccione las bibliotecas
'Wire', 'Adafruit LSM303DLHC' y 'Adafruit Unified Sensor'. Si después de todo
eso, aún no funciona, asegúrese de no tener ningún campo magnético
fuerte cerca de usted. Ve a una habitación diferente o al exterior. Además,
asegúrese de que la placa de separación esté algo nivelada y paralela al
suelo.

Paso 5: Agregar una clave

Debería tener un proyecto de


trabajo ahora, simplemente
conecte una batería de 9v en el
conector de barril de su Arduino,
m óntelo en su m ochila y estará listo
para com enzar. Sin em bargo,
desenchufar y volver a enchufar la
batería cada vez que desee armar
/ desarmar su alarma es un poco
m olesto. Ahí es donde entra en
juego el conector de audio de 6,35 m m . En lugar de un conector de 3,5 m m
que la mayoría de la gente tiene en los auriculares, el uso de un conector
de 6,35 m m aum enta la seguridad. Sin em bargo, si tiene un interruptor con
llave o algún otro interruptor que desee utilizar en su lugar, no dude en
hacerlo.

De todos modos, para agregar la llave, conecte el interruptor / llave entre


la batería y el conector de barril de CC.

Si tiene uno de estos, sim plem ente corte uno de los cables, agregue cables
de extensión si es necesario y agregue el interruptor. En m i caso, obtuve un
conector de barril de bloque de terminales y lo cableé con eso. Como no
m e preocupa dem asiado la seguridad, m i llave es solo un sim ple interruptor
de palanca, pero puedes ser creativo. Utilice un interruptor de lengüeta y un
im án, RFID, ¡tal vez incluso una aplicación de teléfono inteligente!

Paso 6: ¡Móntelo!

¡Felicitaciones! Ahora tiene


una alarma con llave en
pleno funcionamiento. Todo
lo que tienes que hacer
ahora es montarlo en tu
m ochila. Corta un agujero en
el costado para el timbre y
otro para el ojo de la
cerradura. Usé bridas, pero se
puede usar una solución más
perm anente. Asegúrese de
que el sensor esté montado
algo paralelo al suelo y que el orificio del zum bador no esté obstruido.
• A rduino - Introduction. www.arduino.cc (en español). Consultado el
22 de enero de 2018.
• Kushner, David (26 de octubre de 2011). «The Making of Arduino».
IEEE Spectrum . Consultado el 19 de m arzo de 2018.
• Massimo Banzi (22 de octubre de 2012). «Arduino Due is finally
here». https://blog.arduino.cc Consultado el 31 de enero de 2018.
• Tom i Chen (3 de junio de 2018) Alarm a de Mochila.
https://www.hackster.io/tctree333/backpack-alarm -ffcd5b

También podría gustarte