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