Arduino3a PDF

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

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