Progetto Carro Arduino
José Johan Herrera Ropero
Maikol Alejandro Jerez Medina
Camilo Andrés Martínez Carreño
Valerie Janara Figueredo Bayona
Università Di Pamplona
Facoltà di Ingegneria
Laboratorio di Ingegneria Meccatronica
Villa Del Rosario
2023
Progetto Carro Arduino
José Johan Herrera Ropero
Maikol Alejandro Jerez Medina
Camilo Andrés Martínez Carreño
Valerie Janara Figueredo Bayona
[Link] Cinthia Rocío Trejos Chacón
Università di Pamplona
Facoltà di Ingegneria
Taller Di Ingegneria Meccatronica
Villa Del Rosario
2023
1. Introduzione
Nel vorticoso mondo della robotica e dell'ingegneria, l'innovazione diventa
il motore che spinge i designer e i creatori a superare limiti apparentemente
inquebrantabili. In questo contesto, il nostro progetto prende vita: un affascinante e ambizioso
carrello controllato da Arduino, equipaggiato con tecnologia Bluetooth, progettato per partecipare
in una competizione unica nel suo genere: la "Cars Batalla". Questa emozionante sfida non solo
pone a prova la destrezza tecnica e la capacità di design, ma esplora anche la
intersezione tra ingegneria e spirito competitivo.
Il nostro carrello Arduino Bluetooth non è solo una meraviglia tecnologica; è la
incarnazione della creatività e dell'abilità ingegneristica. In questo progetto, ci immergeremo in
la pianificazione, il design e l'implementazione di un veicolo autonomo in grado di affrontare
a altri carrelli in una competizione che sfida le leggi della fisica e della logica. Da
selezione dei componenti fino alla programmazione di algoritmi sofisticati, ogni aspetto ha
è stato considerato meticulosamente per garantire prestazioni eccezionali nel campo di
battaglia della "Cars Batalla".
Mentre esploriamo i dettagli del nostro carrello Arduino Bluetooth,
scopriremo come la sinergia tra hardware e software può liberare un potenziale
stupefacente. Con un'enfasi sull'adattabilità e la strategia, il nostro progetto cerca non solo
destacare in termini di velocità e agilità, ma anche in tattiche intelligenti che
fate la differenza nel fervore della competizione.
2. Obiettivi
2.1 Obiettivo generale
• Progettare, costruire e programmare un carrello controllato da Arduino con tecnologia
Bluetooth, con l'intento di partecipare in modo competitivo a una guerra di
carrelli sotto parametri stabiliti, dimostrando innovazione, efficienza e
strategia in un ambiente robotico.
2.2 obiettivi specifici
• Implementare un sistema di controllo robusto che permetta una navigazione precisa e la
risposta agile del carrello nel terreno di competizione.
• Ottimizzare gli algoritmi di controllo per garantire la stabilità e la manovrabilità del
carrello in situazioni di alta competitività e richiesta.
• Configurare e programmare un modulo Bluetooth per stabilire una comunicazione
affidabile e sicura tra il carrello e un dispositivo remoto di controllo.
• Sviluppare un'interfaccia utente intuitiva che consenta un controllo efficace del carrello
attraverso la connessione Bluetooth, facilitando la partecipazione alla competizione.
• Assicurarsi che il carrello soddisfi i requisiti tecnici e dimensionali
stabiliti dalla competizione.
• Eseguire test approfonditi per garantire che il carrello funzioni all'interno di
i limiti consentiti dalle regole della guerra dei carrelli, dimostrando il loro
capacità in un ambiente competitivo realistico.
3. Marco teorico
3.1 specifiche tecniche
Di seguito verranno mostrati i diversi elementi utilizzati per la
elaborazione del nostro carro Arduino, tutti con le rispettive informazioni
tecniche.
Arduino UNO R3: L'Arduino Uno R3 è una scheda di sviluppo compatta
e versatile che utilizza il microcontrollore ATmega328P. Con 14 pin digitali di
ingresso/uscita, 6 dei quali sono adatti per uscite PWM, e 6 pin analogici,
fornisce ampie opzioni per il collegamento di sensori e attuatori. Con una
frequenza di clock di 16 MHz e 32 KB di memoria flash, è in grado di eseguire compiti
diverse. Può essere alimentato tramite la porta USB o con un adattatore di
corrente esterna che fornisca tra 7 e 12V. La sua facile programmazione attraverso il
l'ambiente di sviluppo Arduino, basato sul linguaggio Wiring, lo rende un
opzione ideale per progetti elettronici e di robotica. Con dimensioni compatte
di 68,6 mm di lunghezza e 53,4 mm di larghezza, così come un peso di 25 g, l'Arduino
Uno R3 è uno strumento potente ed efficiente per la creazione di prototipi e
progetti integrati.
Immagine 1
Arduino UNO R3
Modulo Bluetooth HC-06: Il modulo Bluetooth HC-06 è un'aggiunta
valiosa per progetti elettronici, offrendo connettività wireless attraverso
Bluetooth. Equipaggiato con il popolare modulo Bluetooth HC-06, questo componente
permette la comunicazione seriale wireless tra dispositivi. Con un raggio di
funzionamento tipico di fino a 10 metri, l'HC-06 facilita l'integrazione di
funzionalità Bluetooth in progetti elettronici. Con un design compatto e
leggero, questo modulo è facile da incorporare in applicazioni dove è richiesta una
connessione wireless. Alimentato attraverso tensioni comuni di 3.3V o 5V,
HC-06 si integra senza problemi con schede di sviluppo come l'Arduino Uno R3.
Il suo semplice processo di accoppiamento e configurazione, insieme alla sua compatibilità
con lo standard Bluetooth 2.0, lo rende un'opzione efficace per progetti che
cercano a implementare la comunicazione wireless in modo semplice ed efficace.
Immagine 2
Modulo Bluetooth HC-06
L'inclusione del ponte H L298 in un progetto amplifica le
capacità di controllo dei motori, consentendo una gestione efficiente dei motori di
corrente continua. Il ponte H L298, compatibile con l'Arduino Uno R3, facilita il
controllo bidirezionale dei motori, con due canali che ammettono correnti fino a 2
amperios per canale. Questo componente offre la capacità di controllare la velocità e
direzione di motori CC, essendo ideale per applicazioni di robotica e veicoli
motorizzati. Con ingressi logici compatibili con livelli TTL, l'L298 si integra
senza problemi con la logica di controllo dell'Arduino Uno R3. Inoltre, il suo design
robusto e capace di gestire carichi induttivi lo rende un'opzione affidabile
per progetti che richiedono il controllo preciso dei motori. Alimentato generalmente
con una fonte di tensione da 7 a 35V, il ponte H L298 diventa un componente
essenziale per progetti che richiedono un controllo motorio preciso e versatile.
Immagine 3
Puente H L298
Batterie al Litio 18650 6000mAh: L'inserimento di batterie al litio 18650 di
6000mAh al progetto fornisce una fonte di energia affidabile e di alta capacità per alimentare
dispositivi elettronici per un periodo prolungato. Con una capacità di 6000mAh, questi
le batterie offrono una generosa quantità di energia, essendo ideali per applicazioni a bassa
consumo o dove è necessaria un'autonomia estesa. L'utilizzo di batterie al litio
fornisce una fonte di energia efficiente e ricaricabile.
Quando combinate con l'Arduino Uno R3 e altri componenti, come il modulo
Bluetooth HC-06 e il ponte H L298, le batterie 18650 offrono la mobilità necessaria per
progetti wireless o dispositivi mobili. È fondamentale considerare la gestione
adeguata al carico e scarico delle batterie tramite circuiti di protezione e regolazione
di tensione per garantire una prestazione sicura e ottimizzata. Inoltre, queste batterie sono
ricaricabili, il che aggiunge un vantaggio in termini di sostenibilità ed economia a lungo termine
per progetti che richiedono una fonte di energia duratura e portatile.
Immagine 4
Batterie al litio 18650
Motoriduttori con ruote: L'incorporazione di motoriduttori con ruote è stata
essenziale per la mobilità e il controllo del veicolo robotico. Questi motori integrano sia il
motore come un sistema di riduzione degli ingranaggi, che consente di ottenere più coppia a
spese della velocità angolare.
Immagine 5
Motoriduttori
Cavo jumper: sono cavi con connettori a entrambe le estremità che permettono di effettuare
connessioni rapide e temporanee tra componenti elettronici, come schede di sviluppo,
sensori, attuatori e altri dispositivi.
Immagine 6
Cavo ponte
4. Descrizione del progetto
Il veicolo è stato meticolosamente costruito, pezzo per pezzo, attraverso l'acquisizione
di tutti i componenti necessari precedentemente specificati. Il processo di assemblaggio
si è iniziato con l'installazione dei motoriduttori e della piastra base, accompagnati dai loro
alimentatori, che fungono da supporto per le batterie. Inoltre, è stato implementato
una seconda base per montare il ponte H, insieme all'Arduino e il suo corrispondente modulo
Bluetooth.
4.1 descrizione dei comandi AT
In una fase successiva, è stata effettuata un'adattamento nel codice dell'Arduino.
incorporando comandi AT nel modulo Bluetooth. Questa impostazione si rifletterà più avanti in
il funzionamento del veicolo. Di seguito è presentato un riepilogo del sistema di
connessioni utilizzate per abilitare il movimento dell'automobile.
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
int Pin_Motore_Der_A = 2;
int Pin_Motor_Der_B = 4;
int ENA = 3;
int Pin_Motor_Izq_A = 7;
int Pin_Motor_Izq_B = 6;
int ENB = 5;
int tempo=0;
void setup() {
[Link](9600);
pinMode(Pin_Motor_Der_A, OUTPUT);
pinMode(Pin_Motor_Der_B, USCITA);
pinMode(Pin_Motor_Izq_A, OUTPUT);
pinMode(Pin_Motor_Izq_B, OUTPUT);
pinMode(ENA, OUTPUT);
pinMode(ENB, OUTPUT);
}
void loop() { // esegui ripetutamente
se (mySerial disponibile) {
char dato=[Link]();
se(dato=='F')
{
Muovi_In_Avanti();
0
}
altrimenti se(dato=='B')
{
Mover_Retroceso();
tiempo=0;
}
altro se (dato=='R')
{
Muovi_Destro();
tiempo=0;
}
altrimenti se(dato=='L')
{
Muovere_Sinistra();
0
}
}
se(tiempo<200) // 100 cicli di 1ms
{
tempo=tempo+1;
}
altrimenti //sono già trascorsi 100 ms (100 cicli)
{
Mover_Ferma();
}
delay(1); //pausa di 1ms per ciclo
void Mover_Avanti()
{
digitalWrite (Pin_Motor_Der_A, ALTO);
digitalWrite (Pin_Motor_Der_B, BASSO);
analogWrite(ENA,250);
digitalWrite (Pin_Motor_Izq_A, ALTO);
digitalWrite (Pin_Motor_Izq_B, BASSO);
analogWrite(ENB,230);
}
void Mover_Retrocesso()
{
digitalWrite(Pin_Motor_Der_A, LOW);
digitalWrite(Pin_Motor_Der_B, ALTO);
analogWrite(ENA,250);
digitalWrite(Pin_Motor_Izq_A, LOW);
digitalWrite(Pin_Motor_Izq_B, HIGH);
analogWrite(ENB,230);
}
void Muovi_Destro()
{
digitalWrite(Pin_Motor_Der_A, ALTO);
digitalWrite(Pin_Motor_Der_B, LOW);
analogWrite(ENA,170);
digitalWrite(Pin_Motor_Izq_A, ALTO);
digitalWrite(Pin_Motor_Izq_B, LOW);
analogWrite(ENB,240);
}
void Mover_Sinistra()
{
digitalWrite(Pin_Motor_Der_A,ALTO);
digitalWrite(Pin_Motor_Der_B, LOW);
analogWrite(ENA,250);
digitalWrite(Pin_Motor_Izq_A, ALTO);
digitalWrite(Pin_Motor_Izq_B, LOW);
analogWrite(ENB,155);
}
void Mover_Fermati()
{
digitalWrite(Pin_Motor_Der_A, BASSO);
digitalWrite(Pin_Motor_Der_B, BASSO);
analogWrite(ENA,0);
digitalWrite (Pin_Motor_Izq_A, BASSO);
digitalWrite(Pin_Motor_Izq_B, BASSO);
analogWrite(ENB,0);
}
4.2 descrizione del sistema di connessioni
L'attenzione dettagliata all'acquisto e all'assemblaggio di ogni componente ha garantito un
processo preciso e strutturato nella costruzione del veicolo. L'adattamento del codice con
comandiATen il modulo Bluetooth ha aggiunto uno strato di controllo aggiuntivo, fornendo
maggiore flessibilità e capacità di adattamento nel funzionamento del sistema. Di seguito, si
dettagliano le connessioni essenziali per ottenere la mobilità dell'auto, completando così il
montaggio integrale del progetto.
Immagine 7
Sistema di connessioni (Proteus)
5. CONCLUSIONI
Il progetto, sviluppato mediante l'integrazione di hardware e software in un
l'ambiente Arduino si è dimostrato un successo in termini di funzionalità ed esperienza di
utente. La combinazione efficiente di motori, ponti H, Arduino e un modulo Bluetooth
ha permesso la creazione di un veicolo robotico in grado di eseguire diverse strategie di
movimento durante la competizione.
L'implementazione della comunicazione wireless tramite il modulo Bluetooth non
non solo ha facilitato il controllo remoto del veicolo, ma ha anche aggiunto uno strato di
interattività, permettendo ai partecipanti di personalizzare le loro strategie di battaglia di
maniera semplice ed efficace. La programmazione in Arduino si è dimostrata uno strumento
accessibile per la progettazione della logica di controllo, consentendo movimenti precisi come
avanti, indietro, svolte a destra e sinistra, così come la fermata, fondamentali per una
battaglia dinamica.
Il progetto non solo si è distinto per la sua funzionalità, ma anche per il suo potenziale
educativo e ludico. Ha offerto un'esperienza pratica e divertente che ha combinato aspetti di
programmazione, elettronica e progettazione di robot in un contesto di competizione. Inoltre, ha servito
come piattaforma ispiratrice per futuri progetti, suggerendo possibili miglioramenti come la
incorporazione di sensori aggiuntivi o elementi visivi per arricchire l'esperienza.
ALLEGATI
Immagine 8
Design della custodia in Blender
Immagine 9
Design della custodia (stampata)
Immagine 10
Sistema di collegamenti in sico