Valeria Sosa IMC
Universidad Carolina
Microcontroladores
Docente: Alfonso Ballesteros
Manual de Prácticas Arduino
Alumna: Valeria de los Angeles Sosa Reyes
Sábado, 30 de Julio del 2022
Valeria Sosa IMC
Práctica 1. LED´S en secuencia
Una programación secuenciada se basa en tener ciertas instrucciones que sigue una a
otra. Dentro de esta práctica se darán valores variados a los LED´S, de igual manera se
declararán sus entradas y salidas con tiempo.
Material a utilizar:
1. Arduino UNO
2. Protoboard
3. 6 LED´S (pueden ser de un solo color o variados)
4. 6 resistencias de 330Ω
5. Cables para conexión
Programación: Dentro del programa, realizar la siguiente programación:
const int rojo=0;
const int amarillo=1; Conexión: Utilizamos los pines digitales 0 (rojo), 1 (amarillo),
const int verde=2; 2 (verde), 3 (azul), 4 (naranja) y 5 (blanco).
const int azul=3; Se debe de tener en cuenta la polaridad de los led´s:
const int naranja=4; patita corta a negativo y pata larga a positivo y se conectan
const int blanco=5; al pin del Arduino correspondiente, como se muestra en la
imagen.
void setup() {
pinMode(rojo,OUTPUT);
pinMode(amarillo,OUTPUT);
pinMode(verde,OUTPUT);
pinMode(azul,OUTPUT);
pinMode(naranja,OUTPUT);
pinMode(blanco,OUTPUT);
digitalWrite(rojo,LOW);
digitalWrite(amarillo,LOW);
digitalWrite(verde,LOW);
digitalWrite(azul,LOW);
digitalWrite(naranja,LOW);
digitalWrite(blanco,LOW);
}
Valeria Sosa IMC
void loop() {
digitalWrite(rojo,HIGH);
delay(100);
digitalWrite(amarillo,HIGH);
delay(100);
digitalWrite(verde,HIGH);
delay(100);
digitalWrite(azul,HIGH);
delay(100);
digitalWrite(naranja,HIGH);
delay(100);
digitalWrite(blanco,HIGH);
delay(100);
digitalWrite(rojo,LOW);
delay(100);
digitalWrite(amarillo,LOW);
delay(100);
digitalWrite(verde,LOW);
delay(100);
digitalWrite(azul,LOW);
delay(100);
digitalWrite(naranja,LOW);
delay(100);
digitalWrite(blanco,LOW);
delay(100);
}
Valeria Sosa IMC
Práctica 2. Semáforo
Dentro de esta práctica seguiremos trabajando con programación secuenciada, relizando
así un sistema tipo semáforo. Para esta práctica necesitaremos el siguiente material:
1. Arduino UNO
2. Protoboard
3. 1 LED rojo
4. 1 LED verde
5. 1 LED amarillo
6. 3 resistencias de 330Ω
7. Cables para conexión
Programación: Dentro del programa, realizar la siguiente programación:
//semaforo// Conexión: Utilizamos los pines digitales 13 (rojo),
const int rojo=13; 11 (amarillo) y 9 (verde). Se debe de tener en cuenta
const int amarillo=11; la polaridad en led´s: patita corta a negativo y pata
const int verde=9; larga a positivo y se conectan al pin del Arduino
void setup () { correspondiente, como se muestra en la imagen.
pinMode(rojo,OUTPUT);
pinMode (amarillo, OUTPUT);
pinMode (verde, OUTPUT);
digitalWrite (rojo, LOW);
digitalWrite (amarillo, LOW);
digitalWrite (verde, LOW);
}
void loop ( ) {
digitalWrite (rojo, HIGH);
delay (1000);
digitalWrite (rojo, LOW);
digitalWrite (verde, HIGH);
delay (1000);
digitalWrite (verde, LOW);
digitalWrite (amarillo, HIGH);
delay (1000);
digitalWrite (amarillo, LOW);
}
Valeria Sosa IMC
Práctica 3. Encendido y apagado de LED
Dentro de esta práctica tenemos como objetivo realizar encendido de un led con tiempo
determinado de 1 segundo para posteriormente apagarlo de igual manera 1 segundo,
generando así un parpadeo. Para realizar esta práctica necesitaremos el siguiente
material:
1. Arduino UNO
2. Protoboard
3. 1 LED
4. 1 resistencias de 330Ω
5. Cables para conexión
Programación: Dentro del programa, realizar la siguiente programación:
void setup () {
pinMode(13, OUTPUT);
} Conexión: Utilizamos el pin digital 13 (verde), conectamos
Void loop () { led verde a su salida establecida, resistencia a negativo,
digitalWrite(13,HIGH); GND a negativo y 5V a positivo.
delay(1000);
digitalWrite(13,LOW);
delay(1000);
Valeria Sosa IMC
Práctica 4. Encendido y apagado de LED con botón pulsador
En esta práctica se tiene como objetivo encender y apagar un led por medio de botón
pulsador. El material para realizar la práctica es el siguiente:
1. Arduino UNO
2. Protoboard
3. 1 LED
4. 2 resistencias de 330Ω
5. Botón pulsador
6. Cables para conexión
Programación: Dentro del programa, realizar la siguiente programación:
void setup() {
pinMode(2, INPUT); //ENTRADA
pinMode(3,OUTPUT);//SALIDA
}
void loop() { Conexión: Utilizamos pines digitales 2(boton pulsador),
if(digitalRead (2)==HIGH) { 3(verde), conectamos esos pines a sus correspondientes,
digitalWrite(3,HIGH); en las resistencias sus conexiones van alimentadas
} una a negativo y el otro pin a positivo. GND va a negativo
else { y 5V a positivo, como se muestra en la imagen.
digitalWrite(3,LOW);
}
}
Valeria Sosa IMC
Práctica 4. Sensor Ultrasónico
Un sensor ultrasónico consiste en emitir un sonido por uno de sus transductores, en el
cual, espera a que el sonido rebote en algún objeto presente y el eco es captado por el
segundo transductor. La distancia es proporcional al tiempo que tarda en llegar el eco.
Para esta práctica necesitaremos el siguiente material:
1. Arduino UNO
2. Protoboard
3. Sensor Ultrasónico
4. 1 resistencia 330Ω
5. 1 LED
6. 1 boozer
7. Cables de conexión
Programación: Dentro del programa, realizar la siguiente programación:
int TRIG=10;
int ECO=9;
int LED=3;
int DURACION;
int DISTANCIA;
void setup() {
pinMode(TRIG,OUTPUT);
pinMode(ECO,INPUT);
pinMode(LED,OUTPUT);
Serial.begin (9600);
Void loop () {
digitalWrite(TRIG,HIGH);
delay(1);
digitalWrite(TRIG,LOW);
DURACION=pulseIn (ECO,HIGH);
DISTANCIA=DURACION/58.2;
Serial.printIn (DISTANCIA);
delay (500);
if (DISTANCIA<=20&&DISTANCIA>=0){
digitalWrite(LED,HIGH);
delay(DISTANCIA*10);
Valeria Sosa IMC
digitalWrite(LED,LOW);
}
}
Conexión: Utilizamos pines digitales 3(led), 9(ECO), 10(TRIG), establecemos conexión
en sus correspondientes, GND de sensor a negativo, VCC de sensor a positivo. En
boozer: negativo del led a negativo de boozer y positivo de led a positivo de boozer.
Resistencia por parte negativa del led, GND de tarjeta Arduino a negativo de protoboard y
5V a positivo, como se muestra en a imagen.
Valeria Sosa IMC
Práctica 5. Servomotor
Durante las próximas prácticas se realizarán diversas actividades con un servomotor. El
servomotor es un actuador de tipo rotativo o motor que nos permite realizar controles
precisos en cuanto a posiciones angulares.
El material para realizar la práctica es el siguiente:
1. Arduino UNO
2. Protoboard
3. 1 Servomotor
4. Cables para conexión
Programación: Dentro del programa, realizar la siguiente programación:
#include <Servo.h>
Servo servo1;
int PINSERVO=2;
int PULSOMIN=900;
int PULSOMAX=2100;
void setup() {
servo1.attach(PINSERVO,PULSOMIN,PULSOMAX);
}
void loop () { Conexión: Utilizamos pin digítal 2(servo), por lo que lo conectamos
servo2.write(0); en salida 2 de arduino, cable rojo de servo va a positivo y café a
delay(2000); negativo ambos al de protoboard, GND de tarjeta Arduino a
servo2.write(180); negativo de protoboard y 5V a positivo, como se muestra en la
delay(2000); imagen.
}
Valeria Sosa IMC
Práctica 5.1 Servomotor con LED´S
En esta práctica basandonos de la anterior, implementaremos led´s en momentos de
rotación angular.
El material para realizar la práctica es el siguiente:
1. Arduino UNO
2. Protoboard
3. 1 Servomotor
4. 1 LED rojo
5. 1 LED verde
6. 2 resistencias 330Ω
7. Cables para conexión
Programación: Dentro del programa, realizar la siguiente programación:
#include <Servo.h>
Servo servo1;
int PINSERVO =2;
int PULSOMIN =500;
int PULSOMAX =2500;
int LEDVERDE= 4;
int LEDROJO= 3;
void setup() {
servo1.attach (PINSERVO, PULSOMIN, PULSOMAX);
pinMode(LEDROJO,OUTPUT);
pinMode(LEDVERDE,OUTPUT);
}
void loop() {
if(digitalRead) {
servo1.write(0);
digitalWrite(LEDROJO, HIGH);
delay(3000);
digitalWrite(LEDROJO, LOW);
}
if(digitalRead) {
servo1.write(180);
Valeria Sosa IMC
digitalWrite(LEDVERDE, HIGH);
delay(3000);
digitalWrite(LEDVERDE, LOW);
}
}
Conexión: Utilizamos pin digítal 2 (servo), 3 (led rojo), 4(led verde) conectamos a
correspondientes, cable rojo de servo va a positivo y café a negativo ambos al de
protoboard, GND de tarjeta Arduino a negativo de protoboard y 5V a positivo, como se
muestra en a imagen.
Valeria Sosa IMC
Práctica 5.2 Servomotor con potenciómetro
A continuación solo implementaremos el control a traves de potenciómetro.
El material para realizar la práctica es el siguiente:
1. Arduino UNO
2. Protoboard
3. 1 Servomotor
4. 1 potenciómetro
5. Cables para conexión
Programación: Dentro del programa, realizar la siguiente programación:
#include <Servo.h>
Servo servo1; Conexión: Utilizamos pin digítal 2 (servo) cable rojo de servo va
int PINSERVO=2; a positivo y café a negativo ambos al de protoboard.
int PULSOMIN=700; GND va a negativo y 5V a positivo como se muestra en la imagen.
int PULSOMAX=2850;
int VALORPOT;
int ANGULO;
int POT=0;
void setup() {
servo1.attach(PINSERVO,PULSOMIN, PULSOMAX);
}
void loop() {
VALORPOT= analogRead(POT);
ANGULO=map(VALORPOT,0,1000,0,180);
servo1.write(ANGULO);
delay(20);
}
Valeria Sosa IMC
Práctica 6. Display secuenciado.
Un display nos sirve para brindar información mediante manera visual y táctil,
comunmente números. Dentro de esta práctica lograremos comprender la manera de su
funcionamiento mediante secuencia.
El material para realizar la práctica es el siguiente:
1. Arduino UNO
2. 1 display
3. 8 resistencias 330Ω
4. Cables para conexión
Programación: Dentro del programa, realizar la siguiente programación:
const int a=2;
const int b=3;
const int c=4
const int d=5;
const int e=6;
const int f=7;
const int g=8;
void setup() {
pinMode (a,OUTPUT);
pinMode (b,OUTPUT);
pinMode (c,OUTPUT);
pinMode (d,OUTPUT);
pinMode (e,OUTPUT);
pinMode (f,OUTPUT);
pinMode (g,OUTPUT);
}
void loop(){
//0
digitalWrite (a, HIGH);
digitalWrite (b, HIGH);
digitalWrite (c, HIGH);
digitalWrite (d, HIGH);
digitalWrite (e, HIGH);
Valeria Sosa IMC
digitalWrite (f, HIGH);
digitalWrite (g, LOW);
delay(500);
//1
digitalWrite (a, LOW);
digitalWrite (b, HIGH);
digitalWrite (c, HIGH);
digitalWrite (d, LOW);
digitalWrite (e, LOW);
digitalWrite (f, LOW);
digitalWrite (g, LOW);
delay(500);
//2
digitalWrite (a, HIGH);
digitalWrite (b, HIGH);
digitalWrite (c, LOW);
digitalWrite (d, HIGH);
digitalWrite (e, HIGH);
digitalWrite (f, LOW);
digitalWrite (g, HIGH);
delay(500);
//3
digitalWrite (a, HIGH);
digitalWrite (b, HIGH);
digitalWrite (c, HIGH);
digitalWrite (d, HIGH);
digitalWrite (e, LOW);
digitalWrite (f, LOW);
digitalWrite (g, HIGH);
delay(500);
//4
Valeria Sosa IMC
digitalWrite (a, LOW);
digitalWrite (b, HIGH);
digitalWrite (c, HIGH);
digitalWrite (d, LOW);
digitalWrite (e, LOW);
digitalWrite (f, HIGH);
digitalWrite (g, HIGH);
delay(500);
//5
digitalWrite (a, HIGH);
digitalWrite (b, LOW);
digitalWrite (c, HIGH);
digitalWrite (d, HIGH);
digitalWrite (e, LOW);
digitalWrite (f, HIGH);
digitalWrite (g, HIGH);
delay(500);
//6
digitalWrite (a, HIGH);
digitalWrite (b, LOW);
digitalWrite (c, HIGH);
digitalWrite (d, HIGH);
digitalWrite (e, HIGH);
digitalWrite (f, HIGH);
digitalWrite (g, HIGH);
delay(500);
//7
digitalWrite (a, HIGH);
digitalWrite (b, HIGH);
digitalWrite (c, HIGH);
digitalWrite (d, LOW);
Valeria Sosa IMC
digitalWrite (e, LOW);
digitalWrite (f, LOW);
digitalWrite (g, HIGH);
delay(500);
//8
digitalWrite (a, HIGH);
digitalWrite (b, HIGH);
digitalWrite (c, HIGH);
digitalWrite (d, HIGH);
digitalWrite (e, HIGH);
digitalWrite (f, HIGH);
digitalWrite (g, HIGH);
delay(500);
//9
digitalWrite (a, HIGH);
digitalWrite (b, HIGH);
digitalWrite (c, HIGH);
digitalWrite (d, LOW);
digitalWrite (e, LOW);
digitalWrite (f, HIGH);
digitalWrite (g, HIGH);
delay(500);
}
Conexión: Utilizamos pines digitales 2(a), 3(b), 4(c), 5(d), 6(e), 7(f), 8(g), establecemos
conexión en sus correspondientes, GND a negativo de display, salida derecha inferior a
5V, como se muestra en a imagen.
Valeria Sosa IMC
Práctica 7. Display incremento/decremento.
Dentro de la siguiente práctica se realizará un ejercicio similar al anterior, con incremento
y decremento de números en display por medio de un botón pulsador.
El material para realizar la práctica es el siguiente:
1. Arduino UNO
2. 2 botónes pulsadores
3. 1 display
4. 8 resistencias 330Ω
5. Cables para conexión
Programación: Dentro del programa, realizar la siguiente programación:
const int a = 2;
const int b = 3;
const int c = 4;
const int d = 5;
const int e = 6;
const int f = 7;
const int g = 8;
const int botonIncremento = 9;
const int botonDecremento = 10;
const int tiempoAntirebote = 10;
int cuenta = 0; // donde quiero que empiece la cuenta
int estadoBotonIncremento; // cada boton tiene su función de antirebote
int estadoBotonAnteriorIncremento;
int estadoBotonDecremento;
int estadoBotonAnteriorDecremento;
boolean antirebote (int pin) {
int contador = 0;
boolean estado;
boolean estadoAnterior;
Valeria Sosa IMC
do {
estado = digitalRead(pin);
if(estado != estadoAnterior) {
contador = 0;
estadoAnterior = estado;
}
else {
contador = contador +1;
}
delay(1);
} while(contador < tiempoAntirebote);
return estado;
}
void actualizarNumero() {
switch(cuenta) {
case 0:
digitalWrite (a, HIGH);
digitalWrite (b, HIGH);
digitalWrite (c, HIGH);
digitalWrite (d, HIGH);
digitalWrite (e, HIGH);
digitalWrite (f, HIGH);
digitalWrite (g, LOW);
break;
case 1:
digitalWrite (a, LOW);
digitalWrite (b, HIGH);
digitalWrite (c, HIGH);
Valeria Sosa IMC
digitalWrite (d, LOW);
digitalWrite (e, LOW);
digitalWrite (f, LOW);
digitalWrite (g, LOW);
break;
case 2:
digitalWrite (a, HIGH);
digitalWrite (b, HIGH);
digitalWrite (c, LOW);
digitalWrite (d, HIGH);
digitalWrite (e, HIGH);
digitalWrite (f, LOW);
digitalWrite (g, HIGH);
break;
case 3:
digitalWrite (a, HIGH);
digitalWrite (b, HIGH);
digitalWrite (c, HIGH);
digitalWrite (d, HIGH);
digitalWrite (e, LOW);
digitalWrite (f, LOW);
digitalWrite (g, HIGH);
break;
case 4:
digitalWrite (a, LOW);
digitalWrite (b, HIGH);
digitalWrite (c, HIGH);
digitalWrite (d, LOW);
digitalWrite (e, LOW);
digitalWrite (f, HIGH);
Valeria Sosa IMC
digitalWrite (g, HIGH);
break;
case 5:
digitalWrite (a, HIGH);
digitalWrite (b, LOW);
digitalWrite (c, HIGH);
digitalWrite (d, HIGH);
digitalWrite (e, LOW);
digitalWrite (f, HIGH);
digitalWrite (g, HIGH);
break;
case 6:
digitalWrite (a, HIGH);
digitalWrite (b, LOW);
digitalWrite (c, HIGH);
digitalWrite (d, HIGH);
digitalWrite (e, HIGH);
digitalWrite (f, HIGH);
digitalWrite (g, HIGH);
break;
case 7:
digitalWrite (a, HIGH);
digitalWrite (b, HIGH);
digitalWrite (c, HIGH);
digitalWrite (d, LOW);
digitalWrite (e, LOW);
digitalWrite (f, LOW);
digitalWrite (g, HIGH);
break;
Valeria Sosa IMC
case 8:
digitalWrite (a, HIGH);
digitalWrite (b, HIGH);
digitalWrite (c, HIGH);
digitalWrite (d, HIGH);
digitalWrite (e, HIGH);
digitalWrite (f, HIGH);
digitalWrite (g, HIGH);
break;
case 9:
digitalWrite (a, HIGH);
digitalWrite (b, HIGH);
digitalWrite (c, HIGH);
digitalWrite (d, LOW);
digitalWrite (e, LOW);
digitalWrite (f, HIGH);
digitalWrite (g, HIGH);
break;
}
}
void setup() {
pinMode (a, OUTPUT);
pinMode (b, OUTPUT);
pinMode (c, OUTPUT);
pinMode (d, OUTPUT);
pinMode (e, OUTPUT);
pinMode (f, OUTPUT);
pinMode (g, OUTPUT);
pinMode (botonIncremento, INPUT);
pinMode (botonDecremento, INPUT);
Valeria Sosa IMC
void loop() {
estadoBotonIncremento = digitalRead (botonIncremento);
if (estadoBotonIncremento != estadoBotonAnteriorIncremento) {
if(antirebote(botonIncremento)) {
cuenta++;
if(cuenta > 9){
cuenta =9;
}
}
}
estadoBotonAnteriorIncremento = estadoBotonIncremento;
estadoBotonDecremento = digitalRead (botonDecremento);
if (estadoBotonDecremento != estadoBotonAnteriorDecremento) {
if(antirebote(botonDecremento)) {
cuenta--;
if(cuenta < 0){
cuenta =0;
}
}
}
estadoBotonAnteriorDecremento = estadoBotonDecremento;
actualizarNumero();
}
Conexión: Utilizamos pines digitales 2(a), 3(b), 4(c), 5(d), 6(e), 7(f), 8(g), 9(pulsador 1)
10(pulsador 2) establecemos conexión en sus correspondientes, lado izquierdo de
pulsador a negativo y derecho con resistencia a positivo de proto, GND a negativo de
display y de protoboard, salida derecha inferior a positivo de proto, 5V a positivo de proto,
como se muestra en a imagen.
Valeria Sosa IMC
Valeria Sosa IMC
Práctica 8. LCD display
En esta práctica integraremos el uso de un LCD por sus siglas en inglés Liquid Crystal
Display, normalmente utilizado para realizar movimientos o imágenes fijas.
El material para realizar la práctica es el siguiente:
1. Arduino UNO
2. 1 LCD
3. Protoboard
4. 1 resistencia de 2KΩ
5. 1 resistencia de 220Ω
6. Cables para conexión
Programación: Dentro del programa, realizar la siguiente programación:
#include <LiquidCrystal.h>
LiquidCrystal lcd(7,6,5,4,3,2);
void setup() {
lcd.begin(16,2);
}
void loop() {
lcd.setCursor(0,0);
lcd.print("Universidad");
lcd.setCursor(0,1);
lcd.print("Carolina");
lcd.display();
delay(1000);
lcd.noDisplay();
delay(500);
}
Conexión: Utilizamos pines digitales 7 (RS), 6(E), 5(D4), 4(D5), 3(D6), 2(D7),
establecemos conexión en sus correspondientes. Salida VSS de LCD a negativo de proto,
VDD a positivo de proto, V0 con resistencia 2KΩ a negativo de proto, RW negativo de proto.
Salida A de LCD con resistencia de 220Ω a positivo de proto, K a negativo de proto, GND
a negativo y 5V a positivo de proto, como se muestran en las imágenes.
Valeria Sosa IMC
Valeria Sosa IMC
Práctica 8. Módulo Joystick
El material para realizar la práctica es el siguiente:
1. Arduino UNO
2. 1 módulo joystick
3. 2 LEDs rojos
4. 2 LEDs verdes
5. 1 LED amarillo
6. 5 resistencias 330Ω
7. 1 resistencia 10 KΩ
8. Cables para conexión
Programación: Dentro del programa, realizar la siguiente programación:
int X; // variable para almacenar valor leido del eje X
int Y; // variable para almacenar valor leido del eje y
int LED_IZQUIERDO=3; // LED izquierdo un pin digital 3
int LED_DERECHO = 5; // LED derecho a pin digital 5
int LED_ABAJO = 6; // LED de abajo un pin digital 6
int LED_ARRIBA = 9; // LED de arriba a pin digital 9
int PULSADOR = 10; // pulsador incorporado pin digital 10
int LED_SW = 11; // LED de pulsador a pin digital 11
int SW; // variable para almacenar valor leido del pulsador
(){
pinMode(LED_IZQUIERDO, SALIDA); // LED como salida
pinMode(LED_DERECHO, SALIDA); // LED como salida
pinMode(LED_ABAJO, SALIDA); // LED como salida
pinMode(LED_ARRIBA, SALIDA); // LED como salida
pinMode(LED_SW, SALIDA); // LED como salida
pinMode(PULSADOR, ENTRADA); // pulsador como entrada
// entradas analogicas no requiere inicializacion
}
()
{
X=A0; // lectura de valor de eje x
Valeria Sosa IMC
Y=A1; // lectura de valor de eje x
SW = digitalRead(PULSADOR); // lectura de valor de pulsador
if (X >= 0 && X < 480){ // si X esta en la zona izquierda
analogWrite(LED_IZQUIERDO, mapa(X, 0, 480, 255, 0)); // brillo LED proporcional
}
{
analogWrite(LED_IZQUIERDO, 0); // X en zona de reposo, apaga LED
}
if (X > 520 && X <= 1023){ // si X esta en la zona derecha
analogWrite(LED_DERECHO, mapa(X, 520, 1023, 0, 255)); // brillo LED proporcional
}
{
analogWrite(LED_DERECHO, 0); // X en zona de reposo, apaga LED
}
if (Y >= 0 && Y < 480){ // si Y esta en la zona de abajo
analogWrite(LED_ABAJO, mapa(Y, 0, 480, 255, 0)); // brillo LED proporcional
}
{
analogWrite(LED_ABAJO, 0); // Y en zona de reposo, apaga LED
}
if (Y > 520 && Y <= 1023){ // si Y esta en la zona de arriba
analogWrite(LED_ARRIBA, mapa(Y, 520, 1023, 0, 255)); // brillo LED proporcional
}
{
analogWrite(LED_ARRIBA, 0); // Y en zona de reposo, apaga LED
}
escritura digital(LED_SW, !SW); // escribe en LED valor opuesto al leido del pulsador
}
Valeria Sosa IMC
Valeria Sosa IMC
Práctica 8. Motor paso a paso y un módulo controlador
El material para realizar la práctica es el siguiente:
1. Arduino UNO
2. 1 modulo ULN 2003 para motor a pasos mod 28BYJ-48
3. Cables para conexión
Programación: Dentro del programa, realizar la siguiente programación:
int IN1=8;
int IN2=9;
int IN3=10;
int IN4=11;
void setup() {
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
pinMode(IN3,OUTPUT);
pinMode(IN4,OUTPUT);
}
void loop(){
for(int i=0; i< 512; i++){
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,LOW);
delay(2);
digitalWrite(IN1,LOW);
digitalWrite(IN2,HIGH);
digitalWrite(IN3,LOW);
digitalWrite(IN4,LOW);
delay(2);
Valeria Sosa IMC
digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW);
delay(2);
digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,HIGH);
delay(2);
}
digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,LOW);
delay(2000);
}
Valeria Sosa IMC
Conexión: Utilizamos pines digitales IN1 (PIN8), IN2(PIN9), INE3(PIN10), INE4(PIN11),
establecemos conexión en sus correspondientes. GND a negativo y 5V a positivo de
proto, como se muestran en las imágenes.