0% encontró este documento útil (0 votos)
96 vistas40 páginas

Arduino3a PDF

El documento presenta varios programas para Arduino. El Programa 13 controla motores de CD mediante terminales digitales. El Programa 14 muestra mensajes en un display LCD. El Programa 15 mide temperatura con un sensor LM35 y muestra los resultados por monitor serie o LCD. El Programa 16 reconoce teclas de un teclado 4x3 y las muestra por serie. El Programa 17 funciona como cerradura electrónica de 4 dígitos que identifica usuarios.

Cargado por

Aley C. Colen
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
96 vistas40 páginas

Arduino3a PDF

El documento presenta varios programas para Arduino. El Programa 13 controla motores de CD mediante terminales digitales. El Programa 14 muestra mensajes en un display LCD. El Programa 15 mide temperatura con un sensor LM35 y muestra los resultados por monitor serie o LCD. El Programa 16 reconoce teclas de un teclado 4x3 y las muestra por serie. El Programa 17 funciona como cerradura electrónica de 4 dígitos que identifica usuarios.

Cargado por

Aley C. Colen
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

1

Programa 13,A,B,C

2
Programa 13 A

Puede ser sustituida


por fuente externa

3
/*Programa 13A

* Control de un motor de CD
* Terminales 6 y 7 para el control del Motor
*/
int IN1=6; //Conector IN1 a pin 6 de Arduino
int IN2=7; //Conector IN2 a pin 7 de Arduino

void setup()
{
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
}

void loop()
{
digitalWrite(IN1,HIGH); //5 Volts a IN1
digitalWrite(IN2,LOW); //0 volts a IN2
}

4
Programa 13 B

Puede ser sustituida


por fuente externa

5
Programa 13B

* Control de dos motores de CD


* Terminales 5, 6, 9 y 10 para el control de los Motores
*/

int IN1=5; //Conector IN1 a pin 5 de Arduino


int IN2=6; //Conector IN2 a pin 6 de Arduino
int IN3=9; //Conector IN3 a pin 9 de Arduino
int IN4=10; //Conector IN4 a pin 10 de Arduino

void setup()
{
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
pinMode(IN3,OUTPUT);
pinMode(IN4,OUTPUT);
}

void loop()
{
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
//Acciona el motor conectado a los pines 5 y 6

digitalWrite(IN4,HIGH);
digitalWrite(IN3,LOW);
//Acciona el motor conectado a los pines 9 y 10
} 6
Programa 13 C

Puede ser sustituida


por fuente externa

7
Programa 13C

/*Varia la velocidad de un motor (conectado a Terminal 9),


mediante un potenciometro conectado a A0. */

int motorPin=9; //Se conecta el motor a la terminal digital 9, con PWM


int potPin=A0; //se conecta el potenciometro a A0
int potValue;

void setup()
{
pinMode(motorPin,OUTPUT);
}

void loop()
{
potValue=analogRead(potPin)/4; //Se manda el valor de A0 a la variable potValue
analogWrite(motorPin,potValue); //Se manda el valor anterior (potenciomentro en A0) al motor (pwm 9)
}

8
Programa 14 A, B

9
Programa 14 A, B

10
Programa 14 A, B

11
Programa 14 A, B

12
/*Programa 14A

Programa para mensaje fijo en Display*/

#include <LiquidCrystal.h>

LiquidCrystal lcd(6,7,8,9,10,11,12); //9 a 12, bus de datos


// 6(RS), 7(RW), 8(E)

void setup()
{
lcd.begin(16,2);
lcd.print("ola k ases");
}

void loop()
{
lcd.setCursor(0,1);
lcd.print(millis()/1000);
}

13
/*Programa 14B

Programa 10 para mensaje en Display avanzando*/

#include <LiquidCrystal.h>

LiquidCrystal lcd(6,7,8,9,10,11,12);

void setup()
{
lcd.begin(16,2);
lcd.print("ola k ases Programando Arduino ??????");
}

void loop()
{
lcd.setCursor(0,1);

14
for(int posContador=0; posContador<36; posContador++)
{
lcd.scrollDisplayRight(); //Desplazar la pantalla a la derecha
delay(300);
}

for(int posContador=0; posContador<40; posContador++)


{
lcd.scrollDisplayRight();
delay(250);
}

for(int posContador=0; posContador<16; posContador++)


{
lcd.scrollDisplayRight();
delay(300);
}
lcd.print(millis()/1000);
}

15
Programa 15 A,B
Sensor de temperatura LM35

16
Programa 15 A, B

17
/*Programa 15A

* Medidor de temperatura con sensor LM35


* por monitor serial*/

float valor=0;
int grados=0;

int temp=A0;

void setup()
{
Serial.begin(9600);
pinMode(temp,INPUT);
}

void loop()
{
valor=analogRead(temp);
grados=valor*0.48828125; //resultado de 5*100/1024
Serial.print("Temperatura= ");
Serial.print(grados);
Serial.print("grados ");
Serial.println();
delay(60000); //esperamos un minuto para actualizar la temperatura
}

18
/*Programa 15B

* Medidor de temperatura con sensor LM35


* y Display LCD*/

#include <LiquidCrystal.h>
LiquidCrystal lcd(6,7,8,9,10,11,12);

float valor=0;
float grados=0;

int temp=A0;

void setup()
{
Serial.begin(9600);
pinMode(temp,INPUT);
lcd.begin(16,2);
}

19
void loop()
{
valor=analogRead(temp);
grados=valor*0.48828125; //resultado de 5*100/1024
lcd.setCursor(0,0);
lcd.write("Temperatura: ");
lcd.setCursor(0,1);
lcd.print(grados);
lcd.setCursor(6,1);
lcd.write("Grados");
Serial.print("Grados= "); //También por el monitor serial
Serial.print(grados);
Serial.println();
delay(60000);
}

20
Programa 16, 17

21
Programa 16

22
//Programa 16 de teclado 4x3.

/*Programa 16 A
* Programa de teclado 4x3 mostrada
* en terminal serie
*/

// Añadimos la librería keypad


#include<Keypad.h>

//creamos una constante para definir que nuestro teclado tiene 4 filas
const byte ROWS=4;

//creamos una constante para definir que nuestro teclado tiene 3 columnas
const byte COLS=3;

//Creamos una matriz con los caracteres del teclado


char keys[ROWS][COLS]={
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
//Indicamos a que pines de Arduino están conectadas las filas del teclado
byte rowPins[ROWS]={5,4,3,2,};
//Indicamos a que pines de Arduino están conectadas las columnas
byte colPins[COLS]={8,7,6};
//Creamos un objeto de la librería Keypad para usar sus funciones
Keypad keypad=Keypad(makeKeymap(keys),rowPins,colPins,ROWS, COLS);
23
void setup()
{
//Iniciamos la conexión serial a 9600 baudios
Serial.begin(9600);
}

void loop()
{
//Cuando se pulse una tecla se guardará en una variable llamada key
char key=keypad.getKey();

//Si se ha pulsado una tecla, se envía por el serial


if(key!=NO_KEY)
{
Serial.println(key);
}
}

24
25
Programa 17

7 (1)

1 (7)

26
/*Programa 17

* Programa de cerradura electrónica de 4 digitos


* identificando a usuario
*/

// Añadimos la librería keypad y LiquidCrystal


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

LiquidCrystal lcd(7,8,9,10,11,12,13); //10 a 13, bus de datos


// 7(RS), 8(RW), 9(E)

//creamos una constante para definir que nuestro teclado tiene 4 filas
const byte ROWS=4;

//creamos una constante para definir que nuestro teclado tiene 3 columnas
const byte COLS=3;

//Creamos una matriz con los caracteres del teclado


char keys[ROWS][COLS]={
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
27
//Indicamos a que pines de Arduino están conectadas las filas del teclado
byte rowPins[ROWS]={3,2,1,0,};
//Indicamos a que pines de Arduino están conectadas las columnas
byte colPins[COLS]={6,5,4};
char i[4]={0,0,0,0}; //vector que contendrá 4 los digitos de la clave
int j=0;
int clave=0;
int cont=0;
//Creamos un objeto de la librería Keypad para usar sus funciones
Keypad keypad=Keypad(makeKeymap(keys),rowPins,colPins,ROWS, COLS);

void setup()
{
lcd.begin(16,2);
pinMode(A0,OUTPUT);
cerrado();
borrar();
inicio();
}

void loop()
{
while(cont<4)
{

28
char key=keypad.getKey();
i[j]=key;
if(key)
{
lcd.setCursor(0,0);
lcd.print("*"); //Aparecen * de los números tecleados
j=j+1;
cont=cont+1;
}
}
//Clave autorizada
if(i[0]=='1'&&i[1]=='2'&&i[2]=='1'&&i[3]=='2')
{
borrar(); //*****
lcd.setCursor(0,0);
lcd.write("CLAVE ACEPTADA");
analogWrite(A0,255);
delay(100); //*****
borrar();
lcd.setCursor(0,0);
lcd.write("Saludos");
lcd.setCursor(0,1);
lcd.write("Usuario1");
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
delay(4000);
borrar();
inicio();
analogWrite(A0,0);
}

29
else
{
if(i[0]=='2'&&i[1]=='3'&&i[2]=='2'&&i[3]=='3')
{
borrar(); //*****
lcd.setCursor(0,0);
lcd.write("CLAVE ACEPTADA");
analogWrite(A0,255);
delay(100); //*****
borrar();
lcd.setCursor(0,0);
lcd.write("Saludos");
lcd.setCursor(0,1);
lcd.write("Usuario2");
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
delay(4000);
borrar();
inicio();
analogWrite(A0,0);
}

30
else
{
borrar(); //*****
lcd.setCursor(0,0);
lcd.write("CLAVE INCORRECTA");
borrar();
lcd.setCursor(0,0);
lcd.write("ACCESO");
lcd.setCursor(0,1);
lcd.write("DENEGADO");

i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
delay(3000);
borrar();
cerrado();
delay(3000);
borrar();
inicio();
}
cont=0;
}
}

31
//Funciones

void borrar()
{
lcd.setCursor(0,0);
lcd.write(" ");
lcd.setCursor(0,1);
lcd.write(" ");
}

void inicio()
{
lcd.setCursor(0,0);
lcd.write("ENTRAR");
lcd.setCursor(0,1);
lcd.write("CLAVE");
}

void cerrado()
{
lcd.setCursor(0,0);
lcd.write("ACCESO");
lcd.setCursor(0,1);
lcd.write("CERRADO");
}

32
Programa 18

33
Programa 18

34
Programa 18

35
//Programa 18

//Programa para uso de presencia mediante Red Switch

int switchPin=6; //Red switch al pin digital 6


int LED1=8; //LED de salida

void setup()
{
pinMode(switchPin,INPUT); //SwitchPin es una entrada
digitalWrite(switchPin,HIGH); //Activar la resistencia Pull-up interna
pinMode(LED1,OUTPUT);
Serial.begin(9600);
}

void loop()
{

Serial.println(digitalRead(switchPin)); //Muestra el valor actual


delay(100);
}
36
Programa 19

37
Programa 19

38
Programa 19

39
//Programa 19

//Activa un Relé

int pinOut=10;

void setup()
{
pinMode(pinOut,OUTPUT);
}

void loop()
{
digitalWrite(pinOut,HIGH);
delay(1000);
digitalWrite(pinOut,LOW);
delay(1000);
}

40

También podría gustarte