Diseño Proyecto Tecnológico
Uso de herramientas como: Fritzing, UnoArduSim, TinkerCad (online), EasyEDA simulator (online, versión estándar gratuita)
Fritzing
Fritzing es un programa libre de automatización de diseño electrónico que busca ayudar a diseñadores y artistas para que puedan pasar de prototipos a productos finales
Fritzing es el programa por excelencia para la realización de esquemas eléctricos en proyectos con Arduino y es open source.
Fritzing es el programa por excelencia para la realización de esquemas eléctricos en proyectos con Arduino y es open source.
UnoArduSim
Es una herramienta de simulación creada por el Profesor Stan Simmons de la Universidad de Queen, con la cual, sin necesidad de disponer de ningún dispositivo hardware, podemos probar o depurar el funcionamiento de nuestros programas escritos para Arduino Uno.
Es una herramienta de simulación creada por el Profesor Stan Simmons de la Universidad de Queen, con la cual, sin necesidad de disponer de ningún dispositivo hardware, podemos probar o depurar el funcionamiento de nuestros programas escritos para Arduino Uno.
TinkerCad
EasyEDA
Esquema del seguidor de linea en Fritzing
Esquema del funcionamiento de los sensores
Programación requerida específicamente para el proyecto elegido
int Velocidad;
boolean sensorDerecho;
boolean sensorIzquierdo;
int l298n_ena=10;
int l298n_in1=9;
int l298n_in2=8;
int l298n_in3=6;
int l298n_in4=7;
int l298n_enb=3;
void setup()
{
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
pinMode(8, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(3, OUTPUT);
pinMode(11, INPUT);
pinMode(12, INPUT);
Velocidad = 110;
}
void loop()
{
sensorDerecho = digitalRead(11);
sensorIzquierdo = digitalRead(12);
if ((sensorDerecho && (!sensorIzquierdo))) {
digitalWrite(l298n_in3,LOW);
digitalWrite(l298n_in4,HIGH);
analogWrite(l298n_enb,(Velocidad));
digitalWrite(l298n_in1,LOW);
digitalWrite(l298n_in2,HIGH);
analogWrite(l298n_ena,(0));
}
if (((!sensorDerecho) && sensorIzquierdo)) {
digitalWrite(l298n_in1,LOW);
digitalWrite(l298n_in2,HIGH);
analogWrite(l298n_ena,(Velocidad));
digitalWrite(l298n_in3,LOW);
digitalWrite(l298n_in4,HIGH);
analogWrite(l298n_enb,(0));
}
if (((!sensorDerecho) && (!sensorIzquierdo))) {
digitalWrite(l298n_in3,LOW);
digitalWrite(l298n_in4,HIGH);
analogWrite(l298n_enb,(0));
digitalWrite(l298n_in1,LOW);
digitalWrite(l298n_in2,HIGH);
analogWrite(l298n_ena,(0));
}
if ((sensorDerecho && sensorIzquierdo)) {
digitalWrite(l298n_in3,LOW);
digitalWrite(l298n_in4,HIGH);
analogWrite(l298n_enb,(Velocidad));
digitalWrite(l298n_in1,LOW);
digitalWrite(l298n_in2,HIGH);
analogWrite(l298n_ena,(Velocidad));
}
}
int Velocidad;
boolean sensorDerecho;
boolean sensorIzquierdo;
int l298n_ena=10;
int l298n_in1=9;
int l298n_in2=8;
int l298n_in3=6;
int l298n_in4=7;
int l298n_enb=3;
void setup()
{
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
pinMode(8, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(3, OUTPUT);
pinMode(11, INPUT);
pinMode(12, INPUT);
Velocidad = 110;
}
void loop()
{
sensorDerecho = digitalRead(11);
sensorIzquierdo = digitalRead(12);
if ((sensorDerecho && (!sensorIzquierdo))) {
digitalWrite(l298n_in3,LOW);
digitalWrite(l298n_in4,HIGH);
analogWrite(l298n_enb,(Velocidad));
digitalWrite(l298n_in1,LOW);
digitalWrite(l298n_in2,HIGH);
analogWrite(l298n_ena,(0));
}
if (((!sensorDerecho) && sensorIzquierdo)) {
digitalWrite(l298n_in1,LOW);
digitalWrite(l298n_in2,HIGH);
analogWrite(l298n_ena,(Velocidad));
digitalWrite(l298n_in3,LOW);
digitalWrite(l298n_in4,HIGH);
analogWrite(l298n_enb,(0));
}
if (((!sensorDerecho) && (!sensorIzquierdo))) {
digitalWrite(l298n_in3,LOW);
digitalWrite(l298n_in4,HIGH);
analogWrite(l298n_enb,(0));
digitalWrite(l298n_in1,LOW);
digitalWrite(l298n_in2,HIGH);
analogWrite(l298n_ena,(0));
}
if ((sensorDerecho && sensorIzquierdo)) {
digitalWrite(l298n_in3,LOW);
digitalWrite(l298n_in4,HIGH);
analogWrite(l298n_enb,(Velocidad));
digitalWrite(l298n_in1,LOW);
digitalWrite(l298n_in2,HIGH);
analogWrite(l298n_ena,(Velocidad));
}
}
Comentarios
Publicar un comentario