Hola, buenas noches! Me llamo Gabriel, soy nuevo en Arduino y mi problema o dudas son las siguientes:
Necesito hacer un código con el cual en el display tengo que mostrar la palabra "HOLA" pero dicha palabra se tiene que mover hacia la derecha hasta desaparecer y nuevamente volver hasta la izquierda hasta desaparecer.
El primer movimiento hacia la derecha, lo tengo que activar con el 1er botón.
El segundo movimiento hacia la izquierda, igualmente se activa con el 2do botón.
¿Alguien me podría ayudar con la programación respecto al movimiento de la palabra? Quiero que la palabra HOLA se vaya corriendo un dígito hacia el lado que corresponde.
Ya hice el código y la conexión, pero por ahora solo puedo mostrar la palabra "HOLA" en modo fijo. Agradecería de su ayuda.
int t=1000;
int inPin = 9;
int inPin1 =1;
int cont;
int cont1;
int cont2;
int n;
void setup() {
pinMode(inPin, INPUT);
pinMode(inPin1, INPUT);
pinMode(2, OUTPUT); //Declaración de pines
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(4, OUTPUT);
pinMode(8, OUTPUT);
pinMode(10, OUTPUT); //Pines del display
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}
void loop() {
ciclo:
cont=digitalRead(inPin);
if (cont == 0)
goto ciclo;
//for (int d=0; d<=1; d++)
{
digitalWrite(13,HIGH);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
display(1);
delay(t);
digitalWrite(13,LOW);
digitalWrite(12,HIGH);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
display(2);
delay(t);
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,HIGH);
digitalWrite(10,LOW);
display(3);
delay(t);
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,HIGH);
display(4);
delay(t);
}
}
void display (int n)
{
if(n==1)
{
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH); //Letra "H"
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
}
if(n==2)
{
digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH); //Letra "O"
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
}
if(n==3)
{
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW); //Letra "L"
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
}
if(n==4)
{
digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH); //Letra "A"
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
}
}
Modificar.ino (2.31 KB)

