03 - Proyectos Basicos en Arduino
03 - Proyectos Basicos en Arduino
03 - Proyectos Basicos en Arduino
DE WHITE
PROYECTOS
MATERIAL
• Plantilla impresa
• Lamina de cartón
• Un pitillo (sorbete)
• Un palo de pincho
• Pegante
• Arduino UNO R3
• Sensor de distancia HC SR04
• Servomotor SG90
• Cables tipo jumper macho hembra
• Cables tipo jumper macho macho
CIRCUITO
ING. Z. PILLCO C.
CODIGO
#include<Servo.h>
Servo myServo;
int TRIG = 8;
int ECO = 9;
int tiempo;
int distancia;
void setup() {
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(TRIG,OUTPUT);
pinMode(ECO,INPUT);
myServo.attach(5);
onOffLeds();
Serial.begin(9600);
}
void loop() {
leerDistancia();
if(distancia<10){
onOffLeds();
abrirPuerta();
delay(2000);
cerrarPuerta();
delay(2000);
}
}
void leerDistancia(){
digitalWrite(TRIG,HIGH);
delay(1);
digitalWrite(TRIG,LOW);
tiempo = pulseIn(ECO,HIGH);
distancia = tiempo / 58.2;
}
void onOffLeds(){
digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
delay(100);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
delay(100);
digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
delay(100);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
ING. Z. PILLCO C.
}
void cerrarPuerta(){
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
int angulo=0;
do{
angulo=angulo+1;
myServo.write(angulo);
delay(50);
}while(angulo<90);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
}
void abrirPuerta(){
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
int angulo =90;
do{
angulo=angulo-1;
myServo.write(angulo);
delay(50);
}while(angulo>0);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
}
ING. Z. PILLCO C.
Material
Polarización
Circuito
ING. Z. PILLCO C.
Código Arduino
int RE;
int DO;
int SI;
int LA;
int SOL;
int FA;
int MI;
int zumbador = 13;
void setup ()
{
pinMode(11, OUTPUT);
pinMode (2, INPUT_PULLUP);
pinMode (3, INPUT_PULLUP);
pinMode (4, INPUT_PULLUP);
pinMode (5, INPUT_PULLUP);
pinMode (6, INPUT_PULLUP);
pinMode (7, INPUT_PULLUP);
pinMode (8, INPUT_PULLUP);
}
void loop ()
{
RE = digitalRead (2);
DO = digitalRead (3);
SI = digitalRead (4);
LA = digitalRead (5);
SOL = digitalRead (6);
FA = digitalRead (7);
MI = digitalRead (8);
if (MI == LOW)
{
tone (zumbador, F_MI, 500);
}
ING. Z. PILLCO C.
ING. Z. PILLCO C.
CIRCUITO
ING. Z. PILLCO C.
Codigo
#include <Servo.h>
#include <LiquidCrystal_I2C.h>
#include <Keypad.h>
#include <Passwords.h>
#define buzzer 11
Servo servo;
LiquidCrystal_I2C lcd(0x3f, 16, 2);
byte maxPasswordLength = 6;
byte currentPasswordLength = 0;
const byte ROWS = 4; // Four rows
const byte COLS = 4; // Four columns
char keys[ROWS][COLS] = {
{'D', 'C', 'B', 'A'},
{'#', '9', '6', '3'},
{'0', '8', '5', '2'},
{'*', '7', '4', '1'},
};
void setup() {
Serial.begin(9600);
pinMode(buzzer, OUTPUT);
servo.attach(10);
servo.write(50);
ING. Z. PILLCO C.
lcd.init();
lcd.backlight();
lcd.setCursor(3, 0);
lcd.print("WELCOME TO");
lcd.setCursor(0, 1);
lcd.print("DOOR LOCK SYSTEM");
delay(3000);
lcd.clear();
}
void loop() {
lcd.setCursor(1, 0);
lcd.print("ENTER PASSWORD");
if (currentPasswordLength == maxPasswordLength) {
doorlocked();
dooropen();
ING. Z. PILLCO C.
}
}
void dooropen() {
if (password.evaluate()) {
digitalWrite(buzzer, HIGH);
delay(300);
digitalWrite(buzzer, LOW);
servo.write(50);
delay(100);
lcd.setCursor(0, 0);
lcd.print("CORRECT PASSWORD");
lcd.setCursor(0, 1);
lcd.print("DOOR OPENED");
delay(2000);
lcd.clear();
a = 5;
} else {
digitalWrite(buzzer, HIGH);
delay(200);
digitalWrite(buzzer, LOW);
delay(200);
digitalWrite(buzzer, HIGH);
delay(200);
digitalWrite(buzzer, LOW);
delay(200);
digitalWrite(buzzer, HIGH);
delay(200);
digitalWrite(buzzer, LOW);
delay(200);
lcd.setCursor(0, 0);
lcd.print("WRONG PASSWORD!");
lcd.setCursor(0, 1);
lcd.print("PLEASE TRY AGAIN");
delay(2000);
lcd.clear();
a = 5;
}
resetPassword();
}
void resetPassword() {
password.reset();
currentPasswordLength = 0;
lcd.clear();
a = 5;
}
ING. Z. PILLCO C.
void doorlocked() {
if (password.evaluate()) {
digitalWrite(buzzer, HIGH);
delay(300);
digitalWrite(buzzer, LOW);
servo.write(110);
delay(100);
lcd.setCursor(0, 0);
lcd.print("CORRECT PASSWORD");
lcd.setCursor(2, 1);
lcd.print("DOOR LOCKED");
delay(2000);
lcd.clear();
a = 5;
} else {
digitalWrite(buzzer, HIGH);
delay(200);
digitalWrite(buzzer, LOW);
delay(200);
digitalWrite(buzzer, HIGH);
delay(200);
digitalWrite(buzzer, LOW);
delay(200);
digitalWrite(buzzer, HIGH);
delay(200);
digitalWrite(buzzer, LOW);
delay(200);
digitalWrite(buzzer, HIGH);
delay(200);
digitalWrite(buzzer, LOW);
delay(200);
lcd.setCursor(0, 0);
lcd.print("WRONG PASSWORD!");
lcd.setCursor(0, 1);
lcd.print("PLEASE TRY AGAIN");
delay(2000);
lcd.clear();
a = 5;
}
resetPassword();
}
ING. Z. PILLCO C.