RacingSenna FASE 2
______________________________________________________________________________________________________________________
_________________________________________________________________________________________________________________________Introducción a la Ingeniería Electrónica
Pablo Esteban Brand Tegue - 202127028
Juan Camilo Pavi Valencia - 202170217
Docente Oscar Casas García
_______________________________________
Para la segunda fase de nuestro de proyecto se definirá el sistema de alimentación del robot, especificando sus características técnicas y funcionales junto con un primer vistazo a la plataforma de arduino, con la que se realizara un pequeño ejercicio con el que se nos introducirá al funcionamiento de la placa de control.
__________________________________________________________________________________________________________
ALIMENTACION
__________________________________________________________________________________________________________
Utilizaremos 4 baterías de 1.5 voltios conectas a un porta celdas, con la cual tenemos pensado alimentar nuestro seguido de linea, de modo que a través del modulo L298n los motorreductores funcionen a través de las señales de nuestro arduino, guiado por lo que les indican los sensores de la parte frontal del robot.
Características del modulo L298n:
- Canales: 2 (soporta 2 motores DC o 1 motor PAP)
- Voltaje lógico: 5V
- Voltaje de potencia (V motor): 5V - 35V corriente continua
- Consumo de corriente (lógico): 0 a 36mA
- Capacidad de corriente: 2A (picos de hasta 3A)
- Potencia máxima: 25W
- Dimensiones: 43 * 43 * 27 mm
- Peso: 30g
CARACTERISTICAS DE LAS BATERIAS
_________________________________________________
PRIMER ACERCAMIENTO A LA PLATAFORMA ARDUINO
_________________________________________________
Para el desarrollo del ejercicio utilizamos el Arduino Uno como placa controladora con la que través del microcontrolador Atmega 328P logramos encender dos leds a través sus correspondientes pulsadores, de modo que mientras se tuviese presionado el pulsado1, el LED1 se mantendría encendido a menos que se dejase de presionar el botón. Mientras que el LED 2 a través de un solo pulso se mantendría encendido hasta que se volviese a pulsar nuevamente su botón.
___________________________ EVIDENCIAS ___________________________



______________________ CIRCUITO UTILIZADO ______________________
___________________________ CODIGO ___________________________
int PULSADOR=3 ;
int LED=2 ;
int ESTADO=LOW ;
const int LED3=11 ;
const int BOTON=13 ;
int val ;
void setup ()
{ pinMode (PULSADOR, INPUT) ;
pinMode (LED, OUTPUT) ;
digitalWrite (LED, LOW) ;
pinMode (LED3, OUTPUT) ;
pinMode (BOTON, INPUT) ; }
void loop ()
{
while (digitalRead(PULSADOR)==LOW) ;
ESTADO= digitalRead (LED) ;
digitalWrite (LED, !ESTADO) ;
while (digitalRead (PULSADOR)==HIGH) ;
{ val=digitalRead (BOTON) ;
if (val==HIGH){
digitalWrite(LED3, HIGH) ; }
else {digitalWrite(LED3,LOW);}
}
}
_______________________ EXPLICACION DEL CODIGO ______________________
Primeramente se
deben declarar las variables, en este caso se nombraron las variables int para el led numero 2 que debe prender con cada
pulsada y permanecer prendido hasta que se vuelva a pulsar, igual mente así fue
para el pulsador, en el caso del led y del pulsador uno se optó por nombrarlos conts int, además se designan dos variables extras
que nos permiten leer los estados del led, a una le llamamos (int ESTADO= LOW;) la otra se definió como (int val; ). En el void setup para el led 2 se
utiliza la función pinMode,
para declarar en cada caso los pulsadores como entrada y los leds como salidas,
se necesitó el digitalWrite para dejar los leds apagados. Pasamos a configurar el void loop,
en el que utilizamos el while, esta nos permite hacer repeticiones sin saber
el numero de estas, dentro de esta hacemos uso de herramienta digitalRead,
dándole la orden que nos lea el pulsador y siendo así ponemos como condicion
que nos prenda el led dependiendo del estado del pulsador. En el caso del led
1, se utiliza la variable val, para leer el
led y se utiliza como condicional el if,
esta con la función digitalWrite, de esta manera definimos si el led
esta en estado HIGH o LOW dependiendo del led.
Solucionamos el
problema de rebote con el led 2 utilizando el While y pidiendo que el Arduino
lea si el estado del pulsador esta en HIGH para que todo vuelva a repetirse. De
esta manera while(digitalRead(PULSADOR)==LOW; se
contrarresta con while(digitalRead(PULSADOR)==HIGH;
Enlace al video de muestra: https://drive.google.com/file/d/1J0TfRZN0Fe3Xvi-V_xXISCn7lmDLRoL_/view?usp=sharing
_______________________________________________________________________________________________________________________
Comentarios
Publicar un comentario