Sommario:

Un cane da inseguimento a infrarossi: 3 passaggi
Un cane da inseguimento a infrarossi: 3 passaggi

Video: Un cane da inseguimento a infrarossi: 3 passaggi

Video: Un cane da inseguimento a infrarossi: 3 passaggi
Video: Missouri, l’esecuzione di un uomo in pieno centro: la vittima uccisa sul marciapiede 2024, Luglio
Anonim
Image
Image
Un cane da inseguimento a infrarossi
Un cane da inseguimento a infrarossi

Un giorno ho trovato un video interessante su: https://arduinotr.com/cisim/?fbclid=IwAR22rYmiRQQJ0nqAusOLhBj_778gROseej6TUonvbOnAd65A-sl_wnyqrJQ&tdsourcetag=s_pcqq_aiomsg questo è davvero un buon video ma, barare

A prima vista mi sembra davvero strano, e poi i piedi imbrogliati, non so quale sia il motivo di fondo per cui questo designer ha fatto una storia così fuorviante… è impossibile con un semplice sensore IR, o anche senza alcun controller ma solo semplici triodi.

Non conosco il ragazzo e tutta la storia, cerco solo di farcela da solo. Ho appena realizzato il mio design, con moduli molto semplici:

  • Qualsiasi controller compatibile con Arduino come Maduino
  • Driver del motore L298N
  • 3x sensore IR
  • Alcuni ponticelli comuni

Passaggio 1: rilevamento degli ostacoli

Rilevamento ostacoli
Rilevamento ostacoli

Ci sono 3 sensori IR utilizzati per rilevare l'ostacolo e il sensore sinistro/destro ha rilevato l'ostacolo, dovrebbe essere ruotato verso la direzione dell'orologio/anti-orologio, mentre il sensore centrale rilevato, va tutto bene.

Il sensore 3 rileva se c'è qualche ostacolo davanti. Collega il pin del segnale ai pin di ingresso Maduino, come Pin2/3/4;

Come il software, controlla semplicemente lo stato dell'uscita del sensore, per decidere cosa dovrebbe fare il motore:

if (IR1_STA == ALTO & IR2_STA == BASSO & IR3_STA == ALTO)//Se il sensore centrale rileva l'ostacolo, il motore si ferma

{

analogWrite(EN, 0);

Fermare();

}

if (IR1_STA == BASSO & IR2_STA == ALTO & IR3_STA == ALTO)//se il sensore destro rileva l'ostacolo, il motore inverte ad alta velocità;

{

analogWrite(EN, alta velocità);

Inversione();

}

if (IR1_STA == BASSO & IR2_STA == BASSO & IR3_STA == ALTO) //se il

il sensore centrale destro rileva l'ostacolo, retromarcia del motore a bassa velocità;

{

analogWrite(EN, bassa velocità);

Inversione();

}

……

Passaggio 2: controllo del motore

Controllo del motore
Controllo del motore
Controllo del motore
Controllo del motore

E un driver del motore per guidare il motore, con velocità alta/bassa, dipende dallo stato del sensore.

Utilizzando un modulo L298N per pilotare il motore, con Maduino pin5/6 e pin PWM (Maduino Pin9) a L298N Enable pin e alimentare il modulo con 9V:

int EN=9; //controllo PWM

int highspeed = 80;//definire l'alta velocità

int lowspeed = 60;//definisce la bassa velocità

e quindi la velocità del motore può essere controllata da:

analogWrite(EN, alta velocità);

Passaggio 3: installa qualcosa lì, un cane del genere …

Installa qualcosa lì, un cane del genere …
Installa qualcosa lì, un cane del genere …

Installa i sensori e i motori e crea qualcosa su, per me, mi piace un cane con cui giocare con mia figlia di 1,5 anni. Scarica il codice Arduino qui … gratuitamente contattami: [email protected] per qualsiasi domanda

Consigliato: