Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

03 - Proyectos Basicos en Arduino

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

UNIDAD EDUCATIVA ADVENTISTA ELENA G.

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.

TECNICA TECNOLOGICA PRIMERO DE SECUNDARIA


UNIDAD EDUCATIVA ADVENTISTA ELENA G. DE WHITE

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.

TECNICA TECNOLOGICA PRIMERO DE SECUNDARIA


UNIDAD EDUCATIVA ADVENTISTA ELENA G. DE WHITE

}
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.

TECNICA TECNOLOGICA PRIMERO DE SECUNDARIA


UNIDAD EDUCATIVA ADVENTISTA ELENA G. DE WHITE

PIANO CON NOTAS MUSICALES

Material

Polarización

Circuito

ING. Z. PILLCO C.

TECNICA TECNOLOGICA PRIMERO DE SECUNDARIA


UNIDAD EDUCATIVA ADVENTISTA ELENA G. DE WHITE

Código Arduino

float F_RE = 1174.66;


float F_DO = 2093;
float F_SI = 1975.53;
float F_LA = 1760;
float F_SOL = 1567.98;
float F_FA = 1396.91;
float F_MI = 1318.51;

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.

TECNICA TECNOLOGICA PRIMERO DE SECUNDARIA


UNIDAD EDUCATIVA ADVENTISTA ELENA G. DE WHITE

else if (FA == LOW)


{
tone (zumbador, F_FA, 500);
}

else if (SOL == LOW)


{
tone (zumbador, F_SOL, 500);
}

else if (LA == LOW)


{
tone (zumbador, F_LA, 500);
}

else if (SI == LOW)


{
tone (zumbador, F_SI, 500);
}

else if (DO == LOW)


{
tone (zumbador, F_DO, 500);
}

else if (RE == LOW)


{
tone (zumbador, F_RE, 500);
}
}

ING. Z. PILLCO C.

TECNICA TECNOLOGICA PRIMERO DE SECUNDARIA


UNIDAD EDUCATIVA ADVENTISTA ELENA G. DE WHITE

PUERTA CON PASSWORD Y PANTALLA LCD


MATERIAL
- Arduino uno
- Jumper
- Pantalla LCD con modulo I2C
- Servomotr SG90
- Zumbador de 5v
- Teclado matricial de 4 x 4

CIRCUITO

ING. Z. PILLCO C.

TECNICA TECNOLOGICA PRIMERO DE SECUNDARIA


UNIDAD EDUCATIVA ADVENTISTA ELENA G. DE WHITE

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);

String newPasswordString; //hold the new password


char newPassword[6]; //charater string of newPasswordString
byte a = 5;
bool value = false;

Password password = Password("0123"); //Enter your password

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'},
};

byte rowPins[ROWS] = {2, 3, 4, 5};


byte colPins[COLS] = {6, 7, 8, 9};

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

void setup() {

Serial.begin(9600);
pinMode(buzzer, OUTPUT);
servo.attach(10);
servo.write(50);

ING. Z. PILLCO C.

TECNICA TECNOLOGICA PRIMERO DE SECUNDARIA


UNIDAD EDUCATIVA ADVENTISTA ELENA G. DE WHITE

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");

char key = keypad.getKey();


if (key != NO_KEY) {
delay(60);
if (key == 'C') {
resetPassword();
} else if (key == 'D') {
if (value == true) {
doorlocked();
value = false;
} else if (value == false) {
dooropen();
value = true;
}
} else {
processNumberKey(key);
}
}
}

void processNumberKey(char key) {


lcd.setCursor(a, 1);
lcd.print("*");
a++;
if (a == 11) {
a = 5;
}
currentPasswordLength++;
password.append(key);

if (currentPasswordLength == maxPasswordLength) {
doorlocked();
dooropen();

ING. Z. PILLCO C.

TECNICA TECNOLOGICA PRIMERO DE SECUNDARIA


UNIDAD EDUCATIVA ADVENTISTA ELENA G. DE WHITE

}
}

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.

TECNICA TECNOLOGICA PRIMERO DE SECUNDARIA


UNIDAD EDUCATIVA ADVENTISTA ELENA G. DE WHITE

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.

TECNICA TECNOLOGICA PRIMERO DE SECUNDARIA

También podría gustarte