Está en la página 1de 31

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.

También podría gustarte