Lab 7 - Arduino 2
Lab 7 - Arduino 2
1
3.3. Realice la explicación de forma gráfica del
Vref Es una constante de
funcionamiento de Motor vs SENSOR. Para ello se
un valor de voltaje
recomienda una gráfica en términos porcentuales.
definido al inicio como
¿Dónde iría el sentido de giro?
0.55
En el serial motor se ve reflejado el sentido de giro
o su detención.
Volt Es una variable de tipo
int la cual es la entrada
Anexo 3
del voltaje al sistema
Anexo 4
modulada por medio
Anexo 5
del potenciómetro
Anexo 6
Anexo 7
Vini Es una variable la cual
guarda una constante
3.4. Realice la correspondiente codificación de
de 5 que simboliza los
este problema. No olvide dentro de su código
5 volts con el cual es
comentar y enlazar el código con lo realizado como
alimentado el circuito,
Pseudo-algoritmo y diagrama de flujo.
y al que se se le va a
multiplicar por un por
Anexo 8
un decimal para sacar
el porcentaje que
3.5. Plantee una tabla que resuma el
convenga.
experimento o prueba para verificar el
funcionamiento de su sistema. ¿qué variables son
importantes para dicha verificación y por qué?
SALIDAS TIPO DE VARIABLE
Prueba para Si el valor que se
VelGiro Es una salida que ya comprobar si la está leyendo es
sea puede ser float o lectura está por mayor de 55 gira
double que indica la
encima del 80% del a la izquierda
velocidad de giro del
motor al final. voltaje de
referencia
DirGiro Es una variable de tipo
entera la cual indica el
giro el cual va a dar el Prueba para Si el valor que se
motor. comprobar si la está leyendo es
lectura decae por menor de 55 gira
3.2. Realice el diagrama de flujo. ¿se puede debajo del 30% del a la derecha
simplificar la lógica?. Plantee también como voltaje de
alternativa este problema como una máquina de referencia
estados finito (FSM). ¿cambian las variables
planteadas originalmente, es decir se requiere algo
adicional o se elimina algo también.? Prueba para Se determina si el
determinar si la valor que se está
Diagrama de flujo lectura se leyendo se
encuentra en un encuentra entre el
Anexo 1
rango intermedio 30 y 80% del
Máquina de estados finitos voltaje de
referencia
Anexo 2
2
3.6. Si se quisiera cambiar o dejar variables los
valores límites que establecen el cambio de Por ello el plan de pruebas del proyecto es una de
sentido de giro. ¿en que modifican su diseño y las actividades más importantes y fundamentales
desarrollo original en todas las etapas descritas? en el desarrollo del mismo, ya que posibilita los
procesos, métodos de trabajo y herramientas
Tanto en el diagrama de flujo como en el diagrama necesarias para garantizar la calidad de cualquier
de estados, cambiaría sencillamente los valores de proyecto.
los porcentajes en los que daría el sentido de giro
y detención. 4.3. Nombre y enliste los problemas y obstáculos
que tuvo durante el desarrollo de la práctica y
En el diseño del circuito no habría ningún cambio, como los corrigió.
pero el código cambiaría los valores en los cuales - en el diagrama de flujo se tuvo un
daría el sentido de giro. inconveniente en cuanto a los valores de
voltaje de referencia y del potenciómetro, y
gracias a la mejor comprensión y la lógica
4. Preguntas del laboratorio de arduino se logró solucionar, tomando
valores de fuente mucho más reales, ya
4.1.¿Cómo fue el proceso de diseño y desarrollo que en un principio, el valor del voltaje de
planteado en esta práctica? ¿lo podemos la fuente era de 1V.
relacionar con la metodología en V?
Para llevar a cabo el desarrollo de la práctica,
inicialmente se establecieron las variables, tal
como el voltaje de referencia, voltaje del 5. CONCLUSIONES
potenciómetro, entre otras. Así mismo hasta qué
valor se debía llegar para determinar si la lectura
estaba por encima del 80% o por debajo del 30% - A partir de lo realizado en el respectivo
para determinar el sentido del giro. Asimismo, se laboratorio, se puede concluir que el
planteó el respectivo diagrama de flujo, y llevar a manejo adecuado de la lógica de Arduino,
cabo de manera ordenada y lógica la solución al permite la realización de diferentes
problema y poder realizar la simulación del circuito aplicaciones basadas en los circuitos
y realizar la respectiva codificación. Lo eléctricos. En el circuito implementado se
anteriormente mencionado, claramente se puede evidenció que llegando al valor establecido
relacionar con la metodología en V, ya que lo en el voltaje de referencia o estando por
primero que se debe hacer el desde la parte encima del 80% del mismo, en efecto, el
teórica es plantear y determinar los valores de motor gira en sentido antihorario, o por
voltaje que se van a usar y definir las variables y a debajo del 30% del voltaje de referencia, el
partir de allí dar paso a la creación del diagrama y motor gira en sentido horario. Por lo que
posteriormente la simulación, por tanto cada paso algo muy importante de destacar es que
está concatenado, y la solución se va dando con esto se dio en gran parte al buen manejo
un orden específico. de las instrucciones de control de flujo, y
de la lógica que se usa al momento de
4.2.¿por qué y para qué es importante el plan de codificar en Arduino
pruebas en cualquier proyecto?
- Los diagramas de flujo permiten tener
En un proyecto de desarrollo de software los mejor orden y mayor claridad a la hora de
errores pueden presentarse en cualquiera de las resolver algún problema planteado, ya que
etapas del prototipo a desarrollar. facilita el proceso del paso al código.
Aún cuando se intente detectarlos después de
cada fase utilizando técnicas como la inspección, - El diagrama de flujo permite que el lector
algunos errores permanecen sin ser descubiertos. entienda la metodología con que se va a
Por lo tanto es muy probable que el código final desarrollar el problema y las variables con
contenga errores de requerimientos y diseño, que este sistema cuenta.
adicionales a los introducidos en la codificación.
3
Artículo como Informe de Investigación –
Modelo IEEE – 2010-2011 – Adaptado para
el CEII
6. REFERENCIAS
4
6. Anexos
6
Anexo 5 velocidad de giro por debajo del 80%
7
Anexo 7 giro a la derecha por debajo del 30%
//Variables
int E;
float Vref;
float Vel;
int Vini;
float Volt;
float auxF;
String sentido;
float VelP;
//pines
int izq = 4;
int der = 5;
int pot = 0;
int swt = 3;
int velo = 6;
void setup() {
//definicion pines
pinMode(izq,OUTPUT);
pinMode(der,OUTPUT);
pinMode(pot,INPUT);
pinMode(swt,INPUT);
pinMode(velo,OUTPUT);
digitalWrite(izq,LOW);
digitalWrite(der,LOW);
Serial.begin(9600);
void loop() {
E = digitalRead(swt);
if (E == HIGH){
Vini = 5;
8
Vref = Vini*0.5;
Volt = analogRead(pot);
Volt = map(Volt,0,1023,0,5);
if (Volt == Vref){
analogWrite(velo,0);
}
else{
}else{
digitalWrite(izq,LOW);
digitalWrite(der,HIGH);
auxF = Vini*0.3;
sentido = "Giro a la derecha";
}else{
Vel = 0;
digitalWrite(izq,LOW);
digitalWrite(der,LOW);
analogWrite(velo, Vel);
VelP = map(Vel,0,255,0,100);
Serial.print("Velocidad: ");
Serial.print(VelP);
Serial.print("\t");
Serial.println(sentido);
delay(500);
}
9
10