You are on page 1of 19

INSTITUTO TECNICO LUIS BOGRAN

ARDUINO: CIRCUITOS,SENSORES Y ACTUADORES

ALUMNO(S):
DANAE LISBETH AMADOR TOME
CRISTIAN XAVIER MOLINA REYES
CRISTOPHER JOSUE VARELA LOPEZ
DANERY JAFETH LANZA GALINDO

PROFESOR: VIDAL BANEGAS VALDES

CURSO: III-BACHILLERATO TECNICO PROFESIONAL EN


ELECTRICIDAD-5A

FUNDAMENTOS DE ELECTRONICA INDUSTRIAL

FECHA: 05/2019

COMAYAGUELA, MDC, COLONIA. EL CARRIZAL #1


OBJETIVOS

 Iniciar al alumno en el mundo del hardware libre y los micro controladores


utilizando la plataforma Arduino.

 Conocer los componentes de hardware básicos para recibir señales


externas y controlar elementos que le rodean para interactuar con el
mundo físico.

 Aprender a usar el entorno de programación utilizado por Arduino, el


lenguaje de programación usado, realizar programas y ejecutarlos sobre
la plataforma.
Arduino Uno

Arduino, Surge de la necesidad de utilizar en clase un dispositivo de bajo


costo que opere con cualquier sistema operativo y que fuese fácil de usar.

Nació en el instituto italiano Ivrea. Creado en 2005 por el ingeniero


Massimo Banzi.

ARDUINO ES:

- Es una plataforma de electrónica open-hardware.


- Es una placa basada con un microcontrolador o chips: ATmega328 que
permite conectar sensores y actuadores mediante sus entradas y salidas,
analógicas y digitales.

CARACTERISTICAS:
- Una tarjeta impresa muy simple.
- Con las componentes básicas: micro controladores, alimentación y
comunicación.
- Facilidad para conectar componentes.
- Tarjeta para extenderla (SHIELDS)
- Bajo costo que depende de su originalidad.
Hardware actual:
- Gran cantidad de modelos.
LilyPad, YUN, DUE, Zero, 101, Micro, Nano, Mega, Uno
- Con diferentes capacidades.
- Con conexión estándar y compatible.

PUERTOS

Puertos análogos
- Solo pueden usarse para los datos.
- Tienen una resolución de 10 bits.
- Tiene un bloque de conexión A/D que asigna un valor binario.

Puertos digitales
- Pueden ser utilizados para leer y enviar datos.
- Tienen una resolución de 8 bits.
- Dentro de los 14 puertos digitales hay 6 que tienen una función especial.

Puertos digitales PWM


- Pulse with modulation
- Control de servomotores
- Motores trifásicos
- Control de bols RGB

¿Qué podemos conectar al Arduino?


- Componentes electrónicos simples.
- Todo tipo de sensores eléctricos.
- Componentes activos.
- Circuitos integrados.
- Tarjetas con sus propios transductores.
En la plataforma software de Arduino podemos obtener el software
para programar Arduinos y contamos con:
- Una versión para cada sistema operativo (Mac, Windows, Linux, Android
IOS, WindowsPhone, JioPhone).
- Software libre disponible en Arduino.cc.
- Fácil instalación y configuración.
- Tiene su propio lenguaje de programación.
- Se edita y se completa el programa para pc y teléfonos inteligentes.
- Programación denominada SKETCH.
- Lenguaje basado en Procesing y C++.

Estructura de programa
- Funciones (type, void)
- Llaves ({})
- Punto y coma (;)
- Bloque de comentarios (/+……+/)
- Línea de comentario (//)

Operadores
- Operaciones aritméticas.
- Asignaciones compuestas. (#, -, +=, -=,*=)
- Operadores de comparación. (==, !=. <=, >=, <, >)
- Operadores boléanos. (&&, !, ||)

Estructura de control
- Condicional. (if, if else, else)
- Bucle. (for, while, do)
Materiales y equipo para las prácticas de Arduino

N° DESCRIPCIÓN CANTIDAD

1 Arduino UNO

4
2 Diodos LED

5
3 Resistencias

1
4 Potenciómetro

1
5 Sensor de temperatura
1
6 Sensor de distancia ultrasónico DHT11

7
7 Cables de conexión

1
8 Servo Motor

1
9 Protoboard
Actividades

Encender un led, Parpadeo de led.


programacion :
int pinLed = 3
void setup(){
pinMode(pinLed, OUTPUT);
}
void loop(){
digitalWrite(pinLed, HIGH);
delay(1000);
digitalWrite(pinLed, LOW);
delay(1000);
}
Encendido/apagado de un LED con push buttom.
programacion:
int pinLed1 = 3;
int flag = 0 ;
int pb= 8;
int estadoPB = 0;

void setup() {
pinMode(pinLed1, OUTPUT);
pinMode(pb, INPUT);
digitalWrite(pinLed1,LOW);
}
void loop() {
estadoPB = digitalRead (pb);
if (estadoPB){
digitalWrite(pinLed1,HIGH);
}
else digitalWrite(pinLed1,LOW);
}
Parpadeo de Luz
programacion:
int pinLed1 = 3;
int pinLed2 = 4;
int pinLed3 = 5;
int pinLed4 = 6;
int pinLed5 = 7;
int tiempo= 500;
int flag = 0 ;
void setup() {
pinMode(pinLed1, OUTPUT);
pinMode(pinLed2, OUTPUT);
pinMode(pinLed3, OUTPUT);
pinMode(pinLed4, OUTPUT);
pinMode(pinLed5, OUTPUT);
digitalWrite(pinLed1,LOW);
digitalWrite(pinLed2,LOW);
digitalWrite(pinLed3,LOW);
digitalWrite(pinLed4,LOW);
digitalWrite(pinLed5,LOW);}
void loop() {
if (flag==0){
flag= 1;
for (int i=0; i<10; i++){
for (int i=0; i<5; i++)
Control de intensidad de luz de LED’S con pines PWM
Programacion :
int pinLed = 3;
int pinLed2 = 5;
int pinLed3 = 6;
int pinA = 0;
int valorA = 0;
void setup() {
pinMode (pinLed, OUTPUT);
pinMode (pinLed2, OUTPUT);
pinMode (pinLed3, OUTPUT);
}
void loop() {
valorA = analogRead(pinA);
if ( valorA < 342 ) analogWrite(pinLed, valorA*255/341);
else if ( valorA >= 342 and valorA < 683 ){
analogWrite(pinLed2, (valorA-341) *225/341 );
}else if ( valorA >= 683 ){
analogWrite(pinLed3, (valorA-682)*225/341 );
}
}
Control de movimiento de servomotores gradualmente.
programacion:
#include <Servo.h>
int pinA = 0;
int valorA = 0;
Servo servomotor;
void setup(){
servomotor.attach(5);
}
void loop(){
valorA = analogRead(pinA);
servomotor.write(int (float(valorA)*(180.0/1023.0)));
delay(10);
}
Regulación de voltaje (voltímetro en pines digitales)
Programacion:
int pinA = 0;
int valorA = 0;
float voltaje = 0;
void setup() {
Serial.begin (9600); }
void loop() { valorA = analogRead(pinA);
voltaje = float(valorA)*(5.0/1023.0);
Serial.println(voltaje);
delay(500);
}
Encendido de LED’S en secuencia.
Programacion:
int pinLed1 = 3;
int pinLed2 = 4;
int pinLed3 = 5;
int tiempo= 1000;
void setup() {
pinMode(pinLed1, OUTPUT);
pinMode(pinLed2, OUTPUT);
pinMode(pinLed3, OUTPUT);
digitalWrite(pinLed1,LOW);
digitalWrite(pinLed2,LOW);
digitalWrite(pinLed3,LOW);}
void loop() {
digitalWrite(pinLed1,HIGH);
digitalWrite(pinLed2,LOW);
digitalWrite(pinLed3,LOW);
delay(tiempo);
digitalWrite(pinLed1,LOW);
digitalWrite(pinLed2,HIGH);
digitalWrite(pinLed2,LOW);
delay(tiempo);
digitalWrite(pinLed2,LOW);
digitalWrite(pinLed2,LOW);
digitalWrite(pinLed3,HIGH);
delay(tiempo);
digitalWrite(pinLed1,HIGH);
digitalWrite(pinLed2,HIGH);
digitalWrite(pinLed3,HIGH; }
}

Sensor de distancia (acelerometro) ultrasónico DHT11(No se hizo la


practica)
Programacion :
#include <Servo.h>
Servo servomotor;
int valorA = 0;
const int Trigger = 2;
const int Echo = 3;
void setup() {
Serial.begin(9600);
servomotor.attach(5);
pinMode(Trigger, OUTPUT);
pinMode(Echo, INPUT);
digitalWrite(Trigger, LOW);}
void loop(){
long t;
long d;
digitalWrite(Trigger, HIGH);
delayMicroseconds(10);
digitalWrite(Trigger, LOW);
t = pulseIn(Echo, HIGH);
d = t/59;
if (d<=100){
servomotor.write((d-2)*180/98);}
Serial.print("Distancia: ");
Serial.print(d);
Serial.print("cm");
Serial.println();
delay(100); }
Sensor de temperatura(termometro){no se hizo la practica}
Programacion :
#include <DHT.h>
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() { Serial.begin(9600);
dht.begin(); }
void loop() {
delay(5000);
float h = dht.readHumidity();
float t = dht.readTemperature();
float f = dht.readTemperature(true);
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("Error obteniendo los datos del sensor DHT11");
return;
}
float hif = dht.computeHeatIndex(f, h);
float hic = dht.computeHeatIndex(t, h, false);
Serial.print("Humedad: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperatura: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(f);
Serial.print(" *F\t");
Serial.print("Índice de calor: ");
Serial.print(" *C ");
Serial.println(" *F");
}

Comunicación serial Arduino-PC encendido de 3 LED’S


programacion:
int pinLed= 3;
int pinLed2 = 4;
int pinLed3 = 5;
void setup() {
Serial.begin(9600);
pinMode(pinLed, OUTPUT);
pinMode(pinLed2, OUTPUT);
pinMode(pinLed3, OUTPUT); }
void loop() {
if (Serial.available()){
char dato = Serial.read();
if (dato == 97){
digitalWrite (pinLed, HIGH); }
else if (dato == 98){
digitalWrite (pinLed, LOW);
}
if (dato == 99){
digitalWrite (pinLed2, HIGH);
}
else if (dato == 100){
digitalWrite (pinLed2, LOW);}
if (dato == 101){
digitalWrite (pinLed3, HIGH); }
else if (dato == 102){
digitalWrite (pinLed3, LOW);
}
BIBLIOGRAFIA

 tinkerCad.com

 arduino.cc

 https://es.wikipedia.org/wiki/Arduino

 http://www.ardumania.es/ejercicio-2-apendice/

You might also like