Professional Documents
Culture Documents
PRESENTADO POR:
ROQUE GUTIERREZ BRAYAN OSCAR CUI: 20133357
AREQUIPA-PERU
2017
EJEMPLO PRÁCTICO DE USO DEL ARDUINO
Tabla de contenido
CRONOMETRO ARDUINO CON BOTONES DE INICIO Y PARADA ..................... 2
1. Especificaciones .................................................................................................... 2
1.1. Entradas y salidas ............................................................................................... 2
1.2. Diagrama de bloques ......................................................................................... 2
1.3. Diagrama de tiempos ......................................................................................... 2
2. Desarrollo .............................................................................................................. 2
2.1. Materiales ........................................................................................................... 2
2.2. Diagrama de conexiones .................................................................................... 5
2.3. Programación para el Arduino ........................................................................... 6
2.4. Simulación ....................................................................................................... 10
3. Prueba .................................................................................................................. 11
4. Evidencias............................................................................................................ 12
CONTROL DE MOTOR A PASOS CON ARDUINO ................................................. 14
1. Especificaciones .................................................................................................. 14
1.1. Entrada y salidas .............................................................................................. 14
1.2. Diagrama de bloques ....................................................................................... 14
1.3. Diagrama de tiempos ....................................................................................... 14
2. Desarrollo ............................................................................................................ 14
2.1. Materiales ......................................................................................................... 14
2.2. Diagrama de conexiones .................................................................................. 16
2.3. Programación para el Arduino ......................................................................... 17
3. Prueba .................................................................................................................. 19
4. Evidencias............................................................................................................ 21
1. Especificaciones
1.1. Entradas y salidas
1.2. Diagrama de bloques
1.3. Diagrama de tiempos
2. Desarrollo
2.1. Materiales
o Arduino UNO R3
o (2) Pulsadores
o Transistores 2N2222A
2 a
3 b
4 c
5 d
6 e
7 f
8 g
9 P
10 COM digito izquierdo usando Transistor NPN
11 COM digito derecho usando Transistor NPN
12 - Boton de inicio (se activa con GND)
13 - Boton de parada (se activa con GND)
int retardo=10; // tiempo que dura encendido cada 7 seg (10 mili segundos)
void setup() {
pinMode(2, OUTPUT); //seg a
pinMode(3, OUTPUT); //seg b
pinMode(4, OUTPUT); //seg c
pinMode(5, OUTPUT); //seg d
pinMode(6, OUTPUT); //seg e
pinMode(7, OUTPUT); //seg f
pinMode(8, OUTPUT); //seg g
void loop() {
delay(retardo); // tiempo que dura encendido cada 7seg antes de cambiar al otro
}
else{
digitalWrite(10, 0); // apaga el derecho
digitalWrite(11, 1); // enciende el izquierdo
var=decena; // iguala la variable que escribe el numero en el 7seg al valor de
la decena
conmutador=0; // cambia el conmutador para que en el siguiente ciclo cumpla
la otra condicion
}
switch (var) {
digitalWrite(3, 1);
digitalWrite(4, 1);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 1);
digitalWrite(8, 1);
break;
case 5: //escribe en el 7seg el numero 5
digitalWrite(2, 1);
digitalWrite(3, 0);
digitalWrite(4, 1);
digitalWrite(5, 1);
digitalWrite(6, 0);
digitalWrite(7, 1);
digitalWrite(8, 1);
break;
case 6: //escribe en el 7seg el numero 6
digitalWrite(2, 1);
digitalWrite(3, 0);
digitalWrite(4, 1);
digitalWrite(5, 1);
digitalWrite(6, 1);
digitalWrite(7, 1);
digitalWrite(8, 1);
break;
case 7: //escribe en el 7seg el numero 7
digitalWrite(2, 1);
digitalWrite(3, 1);
digitalWrite(4, 1);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 0);
break;
case 8: //escribe en el 7seg el numero 8
digitalWrite(2, 1);
digitalWrite(3, 1);
digitalWrite(4, 1);
digitalWrite(5, 1);
[NOMBRE DEL AUTOR] 9
EJEMPLO PRÁCTICO DE USO DEL ARDUINO
digitalWrite(6, 1);
digitalWrite(7, 1);
digitalWrite(8, 1);
break;
case 9: //escribe en el 7seg el numero 9
digitalWrite(2, 1);
digitalWrite(3, 1);
digitalWrite(4, 1);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 1);
digitalWrite(8, 1);
break;
case 0: //escribe en el 7seg el numero 0
digitalWrite(2, 1);
digitalWrite(3, 1);
digitalWrite(4, 1);
digitalWrite(5, 1);
digitalWrite(6, 1);
digitalWrite(7, 1);
digitalWrite(8, 0);
break;
default:
digitalWrite(2, 0);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 0);
}
}
2.4. Simulación
3. Prueba
4. Evidencias
1. Especificaciones
2. Desarrollo
2.1. Materiales
o Arduino UNO R3
o Driver ULN200
o Fuente de tención 5V DC
8 IN1
9 IN2
10 IN3
11 IN4
void setup() {
Serial.begin(9600); // inicializamos el puerto serie a 9600 baudios
pinMode(11, OUTPUT); // Pin 11 conectar a IN4
pinMode(10, OUTPUT); // Pin 10 conectar a IN3
pinMode(9, OUTPUT); // Pin 9 conectar a IN2
pinMode(8, OUTPUT); // Pin 8 conectar a IN1
}
void loop() {
while (Serial.available()) { // Leer el valor enviado por el Puerto serial
delay(retardo);
char c = Serial.read(); // Lee los caracteres
leeCadena += c; // Convierte Caracteres a cadena de caracteres
}
if (leeCadena.length()>0){
dato_rx = leeCadena.toInt(); // Convierte Cadena de caracteres a Enteros
Serial.print(dato_rx); // Envia valor en Grados
Serial.println(" Grados");
delay(retardo);
dato_rx = (dato_rx * 1.4222222222); // Ajuste de 512 vueltas a los 360 grados
}
digitalWrite(10, LOW);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
delay(retardo);
digitalWrite(11, LOW);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
digitalWrite(8, LOW);
delay(retardo);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
delay(retardo);
digitalWrite(11, HIGH);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, HIGH);
delay(retardo);
}
3. Prueba
4. Evidencias