Está en la página 1de 16

INTREGRACION DE ARDUINO

ESTUDIANTE

Sv. EDWIN ALBERTO POVEDA ROMERO

DOCENTE

ING. FREDDY MARTINEZ

DIPLOMADO IoT

Nombre de la escuela Comunicaciones

BOGOTÁ, 2020
Introducción

Actualmente la eficiencia de las nuevas tecnologías ha abierto las puertas para el


mejoramiento de los estándares de vida en el mundo, desde esta perspectiva, las más
notables son las tecnologías de hardware libre que permiten acceder fácilmente y están
diseñadas para que los nuevos estudiantes permitan mantener las puertas de los IoT.

Una de las herramientas de hardware libre más destacadas, y que permite a los
nuevos estudiantes es el arduino, este instrumento tecnológico nació como un proyecto
educativo en el año 2005, en su momento no se pensó que algunos años más tarde se
convertiría en líder del mundo DIY (do it yourself).
Que es Arduino

Arduino

Es una plataforma de hardware libre, la cual está diseñada en una placa con un
micro controlador y un entorno de desarrollo abierto que facilita a los usuarios en el uso de
la electrónica en proyectos multidisciplinares (Banzi).

Esta plataforma libre, y de bajo costo está basada en una placa de entrada/salida y en
un entorno de desarrollo IDE que implementa el lenguaje processing/wiringhardware. En su
estructura, el micro controlador en la placa se programa con un el lenguaje de
programación del propio arduino basado en writing, los proyectos propuestos con este
hardware pueden ejecutarse sin necesidad de que la placa esté conectada a una PC, esto
otorga la facilidad de movimiento para proyectos que lo necesiten.

El sistema arduino cuenta con muchas versiones, sin embargo, el más comercial ha
resultado ser arduino uno, la versión que se utilice depende del proyecto y puede ser
cambiado dependiendo de sus características, en esta situación particular se optó por
utilizar arduino uno ya que es el más standard y el que mejor se adapta al proyecto.

Figura Arduino

Características técnicas de Arduino Uno r3-

Microcontrolador: ATmega328
-Voltage: 5V

-Voltage entrada (recomendado): 7-12V

-Voltage entrada (limites): 6-20V

- Digital I/O Pins: 14 (de los cuales 6 son salida PWM)

-Entradas Analogicas: 6

- DC Current per I/O Pin: 40 mA

- DC Current parar 3.3V Pin: 50 mA

- Flash Memory: 32 KB (ATmega328) de los cuales 0.5 KB son utilizados para el


arranque

- SRAM: 2 KB (ATmega328)

- EEPROM: 1 KB (ATmega328)

- Clock Speed: 16 MHz


Trabajo en clase (SIMULACION PROGRAMACION)

CICLO DE LA BURBUJA PROGRAMACION EN C

Contador y librerías principales


#define pinLED1 8
#define pinLED2 9
#define pinLED3 10

void setup (){

pinMode(pinLED1, OUTPUT);
pinMode(pinLED2, OUTPUT);
pinMode(pinLED3, OUTPUT);

void loop (){

digitalWrite(pinLED1, HIGH);
digitalWrite(pinLED2, LOW);
digitalWrite(pinLED3, LOW);
delay(500);

digitalWrite(pinLED1, LOW);
digitalWrite(pinLED2, HIGH);
digitalWrite(pinLED3, LOW);
delay(500);

digitalWrite(pinLED1, LOW);
digitalWrite(pinLED2, LOW);
digitalWrite(pinLED3, HIGH);
delay(500);

Programación luces estereoscópicas


PROGRAMACION EN ARDUINO
Comando Start

Conexión calculadora

#include
<Keypad.h>
#include <Wire.h>
#include <LiquidCrystal.h>

LiquidCrystal lcd(13, 12, 11, 10, 9, 8);


long first = 0;
long second = 0;
double total = 0;

char customKey;
const byte ROWS = 4;
const byte COLS = 4;

char keys[ROWS][COLS] = {
{'1','2','3','+'},
{'4','5','6','-'},
{'7','8','9','*'},
{'C','0','=','/'}
};
byte rowPins[ROWS] = {7,6,5,4}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {3,2,1,0}; //connect to the column pinouts of the keypad

//initialize an instance of class NewKeypad


Keypad customKeypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS);

void setup()
{
lcd.begin(16, 2); // start lcd
for(int i=0;i<=3;i++);
lcd.setCursor(0,0);
lcd.print("IOT");
lcd.setCursor(0,1);
lcd.print("E-S-C-O-M");
delay(4000);
lcd.clear();
lcd.setCursor(0, 0);
}

void loop()
{

customKey = customKeypad.getKey();
switch(customKey)
{
case '0' ... '9': // This keeps collecting the first value until a operator is pressed "+-*/"
lcd.setCursor(0,0);
first = first * 10 + (customKey - '0');
lcd.print(first);
break;

case '+':
first = (total != 0 ? total : first);
lcd.setCursor(0,1);
lcd.print("+");
second = SecondNumber(); // get the collected the second number
total = first + second;
lcd.setCursor(0,3);
lcd.print(total);
first = 0, second = 0; // reset values back to zero for next use
break;

case '-':
first = (total != 0 ? total : first);
lcd.setCursor(0,1);
lcd.print("-");
second = SecondNumber();
total = first - second;
lcd.setCursor(0,3);
lcd.print(total);
first = 0, second = 0;
break;

case '*':
first = (total != 0 ? total : first);
lcd.setCursor(0,1);
lcd.print("*");
second = SecondNumber();
total = first * second;
lcd.setCursor(0,3);
lcd.print(total);
first = 0, second = 0;
break;

case '/':
first = (total != 0 ? total : first);
lcd.setCursor(0,1);
lcd.print("/");
second = SecondNumber();
lcd.setCursor(0,3);

second == 0 ? lcd.print("Invalid") : total = (float)first / (float)second;

lcd.print(total);
first = 0, second = 0;
break;

case 'C':
total = 0;
lcd.clear();
break;
}
}
long SecondNumber()
{
while( 1 )
{
customKey = customKeypad.getKey();
if(customKey >= '0' && customKey <= '9')
{
second = second * 10 + (customKey - '0');
lcd.setCursor(0,2);
lcd.print(second);
}

if(customKey == '=') break; //return second;


}
return second;
}

int ledazul = 8;

int ledrojo = 7;
int tiempo = 150;

void setup()

pinMode(ledazul, OUTPUT);

pinMode(ledrojo, OUTPUT);

void loop()

digitalWrite(ledazul, HIGH);

delay(tiempo);

digitalWrite(ledazul, LOW);

digitalWrite(ledazul, HIGH);

delay(tiempo);

digitalWrite(ledazul, LOW);

delay(tiempo);

digitalWrite(ledazul, HIGH);

delay(tiempo);

digitalWrite(ledazul, LOW);

digitalWrite(ledazul, HIGH);

delay(tiempo);
digitalWrite(ledazul, LOW);

delay(tiempo);

digitalWrite(ledrojo, HIGH);

delay(tiempo);

digitalWrite(ledrojo, LOW);

digitalWrite(ledrojo, HIGH);

delay(tiempo);

digitalWrite(ledrojo, LOW);

delay(tiempo);

digitalWrite(ledrojo, HIGH);

delay(tiempo);

digitalWrite(ledrojo, LOW);

digitalWrite(ledrojo, HIGH);

delay(tiempo);

digitalWrite(ledrojo, LOW);

delay(tiempo);

}
void setup() {
pinMode(verde,OUTPUT); //declaramos el pin verde como salida
pinMode(amarillo,OUTPUT);//declaramos el pin amarillo como salida
pinMode(rojo,OUTPUT); //declaramos el pin rojo como salida
}
void loop() {
digitalWrite(verde,HIGH); //encendemos el led rojo
delay(2000); //esperamos 2 segundos
digitalWrite(verde,LOW); //apagamos el led rojo
delay(500); //esperamos medio segundo

digitalWrite(amarillo,HIGH); //encendemos el led amarillo


delay(2000); //esperamos 2 segundos
digitalWrite(amarillo,LOW); //apagamos el led amarillo
delay(500); //esperamos medio segundo

digitalWrite(rojo,HIGH); //encendemos el led verde


delay(2000); //esperamos 2 segundos
digitalWrite(rojo,LOW); //apagamos el led verde
delay(500); //esperamos medio segundo
}

Conclusiones
Tener conocimientos básicos de electrónica y electricidad para las conexiones
residenciales, es importante tener conocimientos de programación en lenguaje java y
lenguaje C, para el desarrollo de la lógica de encendido y apagado de las luces que
interpretara la placa Arduino.

Existen plataformas de hardware libre, como lo es el Arduino, una placa con un


controlador y un entorno de desarrollo, su sencillez que permiten hacer múltiples diseños y
múltiples tipos de uso de éste.

Con el empleo de Arduino se pueden realizar muchas tareas, ahorrando elementos


electrónicos y en sustitución, el uso de un lenguaje de programación, lo que hace que sea de
muy fácil uso.

También podría gustarte