Sommario:

Come realizzare un fantastico robot da un'auto radiocomandata: 11 passaggi
Come realizzare un fantastico robot da un'auto radiocomandata: 11 passaggi

Video: Come realizzare un fantastico robot da un'auto radiocomandata: 11 passaggi

Video: Come realizzare un fantastico robot da un'auto radiocomandata: 11 passaggi
Video: Costruisco un Mini Drone RADIOCOMANDATO D'ATTACCO 🔥🔫 2024, Dicembre
Anonim
Come realizzare un fantastico robot da un'auto radiocomandata
Come realizzare un fantastico robot da un'auto radiocomandata

Questo fantastico progetto è per gli studenti delle scuole superiori o per qualsiasi appassionato che voglia creare un robot fantastico. Stavo cercando di creare un robot interattivo da molto tempo, ma realizzarne uno non è facile se non conosci l'elettronica oi linguaggi di programmazione speciali. Ora c'è un linguaggio di programmazione chiamato nqBASIC, totalmente gratuito, per creare il tuo robot personale.

Passaggio 1: cosa ti serve?

Quello di cui hai bisogno?
Quello di cui hai bisogno?
Quello di cui hai bisogno?
Quello di cui hai bisogno?
Quello di cui hai bisogno?
Quello di cui hai bisogno?
Quello di cui hai bisogno?
Quello di cui hai bisogno?

Avrai bisogno di alcune parti per questo fantastico progetto.1) Vai e trova un'auto RC con due motori CC. Ho trovato un'auto molto economica chiamata thunder tumbler per $ 12. L'immagine è sotto.2) Avrai bisogno di una scheda controller Servo Sensor chiamata SSMI. Ecco il link per ottenerlo https://www.technologicalarts.ca/catalog/product_info.php?currency=USD&products_id=2763) Avrai bisogno di un micro controller per questa scheda chiamato NanoCore12DXhttps://www.technologicalarts.ca/catalog/ product_info.php?cPath=50_36_92&products_id=4294) Hai bisogno di due sensori se vuoi rendere interattivo il tuo robothttps://www.technologicalarts.ca/catalog/product_info.php?cPath=25_147&products_id=1885) Cavo seriale a cui collegare il tuo computer il tuo robot da programmare.https://www.technologicalarts.ca/catalog/product_info.php?cPath=26&products_id=386) Un fantastico linguaggio per robot sviluppato per questo prodotto si chiama nqBASIC. Vai su https://www.nqbasic.com e scaricalo gratuitamente. Puoi anche fare domande dal loro forum.7) 4 batterie AA (alcaline o ricaricabili)

Passaggio 2: smonta l'auto RC

Smonta l'auto RC
Smonta l'auto RC

1) Ho tolto tutta l'elettronica. Tagliare i cavi dall'unità di controllo all'interno dell'auto RC, lasciando solo la batteria, perché era giusto alimentare la SSMI (Servo/Sensor/Motor Interface Board per NanoCore12DX).

Passaggio 3: cavi CC e cavi della batteria collegati

Cavi CC e cavi della batteria collegati
Cavi CC e cavi della batteria collegati

I due motori CC dell'auto R/C avevano già dei cavi, quindi li ho collegati ai connettori a innesto (forniti con la scheda SSMI) sul mio SSMI. Ho fatto lo stesso con il cavo della batteria.

Passaggio 4: cavi LED

Cavi LED
Cavi LED
Cavi LED
Cavi LED
Cavi LED
Cavi LED
Cavi LED
Cavi LED

Sono rimasti 4 cavi. Sono magri. Questi sono i cavi che escono dalle ruote. Questa macchina RC ha LED all'interno delle ruote posteriori. Da ogni ruota provengono due cavi. Il tuo robot può essere carino con questi LED. Ho deciso di utilizzare questi LED per rendere il robot più divertente. Puoi vedere questi cavi dall'immagine. Ho montato un pezzo di plastica nera che è venuto dal retro dell'auto sulla parte anteriore dell'auto per creare una bella superficie piana per montare la scheda SSMI. Ho usato i velcro per montare SSMI su di esso. Puoi usare del nastro biadesivo e delle fascette se vuoi. Poi ho inserito i cavi LED attraverso i fori nella parte anteriore dell'auto. Ho montato SSMI sull'auto. Quindi ho collegato i motori CC e le spine della batteria alle loro posizioni.

Passaggio 5: collegare i cavi LED alla scheda SSMI

Collegare i cavi LED alla scheda SSMI
Collegare i cavi LED alla scheda SSMI
Collegare i cavi LED alla scheda SSMI
Collegare i cavi LED alla scheda SSMI
Collegare i cavi LED alla scheda SSMI
Collegare i cavi LED alla scheda SSMI

Quindi collegare i cavi LED nei punti giusti. Devi imparare dal manuale della scheda SSMI quali connettori puoi usare. Vai avanti e collegali negli stessi posti in cui ho fatto. Più tardi puoi imparare a mettere questi cavi in posti diversi se vuoi. Guarda le foto

Passaggio 6: collegare i sensori

Connetti i sensori
Connetti i sensori
Connetti i sensori
Connetti i sensori
Connetti i sensori
Connetti i sensori
Connetti i sensori
Connetti i sensori

Collegare i cavi del sensore nei punti giusti.

Passaggio 7: il tuo robot è pronto per il lancio

Il tuo robot è pronto a partire
Il tuo robot è pronto a partire

L'hardware del tuo robot è pronto. Ora devi programmarlo.

Passaggio 8: installare il software

Installa il software
Installa il software

Vai a https://www.nqbasic.com e scarica il software dal sito web. Tutte le istruzioni sono sul sito Web: come installare e preparare il computer per questo. C'è anche un bel video di YouTube che mostra come registrare il software gratuitamente. Questo linguaggio di programmazione è totalmente gratuito. Non esitare a registrarti. Altrimenti non puoi compilare il tuo codice.

Passaggio 9: pronto per la programmazione

Pronto per la programmazione
Pronto per la programmazione

Collega il cavo seriale dalla porta seriale del tuo computer alla porta seriale SSMI.1) Avvia nqBASIC e seleziona project e newproject2) dai un nome al tuo progetto e salvalo.3) Ti chiederà quale modulo nanocore stai utilizzando, seleziona NanoCore12DX dalla lista. Questo è l'unico modulo che funziona con SSMI.4) Seleziona File/Nuovo file. Ti verrà chiesto se vuoi aggiungere questo file al tuo progetto. Dire Sì.5) Assegnare un nome al file e fare clic su Salva.

Passaggio 10: copia e incolla il codice sorgente

/* Copia da qui alla fine di questo testoEsempio per DIP32 (8mHz)*/dim M00 come nuovo pwm(PP0)dim M01 come nuovo pwm(PP1)dim M11 come nuovo pwm(PP2)dim M10 come nuovo pwm(PP3) dim IR1 come nuovo ADC(PAD05) //Oggetto ADC per sensore Sharp (anteriore)dim IR1Risulta come nuovo bytedim IR2 come nuovo ADC(PAD03) //Oggetto ADC per sensore Sharp (posteriore)dim IR2Risulta come nuovo bytedim myChar come nuovo byte / /Variabile per memorizzare i caratteri ricevutidim S come nuovo SCI(PS0, PS1) //SCI objectdim SPK come nuovo DIO(PM4) // Utilizzo dell'altoparlante su SSIMconst ontime = 20dim durata come nuova parolaConst A2 = 2273 // Note musicaliConst A3 = 1136 // Note musicaliConst A4 = 568 // Note musicali per emettere suoni quando il robot vede qualcosa di debole WLED1 come nuovo DIO(PM2) //LED sulle ruotedim WLED2 come nuovo DIO(PM3) //LEDs sulle ruotedim loop come nuovo byteConst OFF = 0Cost ON = 1Cost FOREVER = 1Cost A = 200Cost B = 10Cost DEL_1MSEC = 1000sub DelayMsec (in byte millisecondi) while (millisecondi > 0) System. Delay (DEL_1MSEC) //Ritardo 1000 microsecondi per 1 millisecondo millisecondo onds = millisecondi - 1 end whileend subsub stop() // per arrestare i motori M00. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start(PWM_MAIN_CLK, 0, 250, 250)end subsub goback() // il robot tornerà indietro M00. PWM_Start(PWM_MAIN_CLK, 0, 250, 180) M01. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start(PWM_MAIN_CLK, 0, 250, 180) M11. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) end subsub turnright() // gira il robot a destra M00. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start(PWM_MAIN_CLK, 0, 250, 180) M10. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) end subsub turnleft() // gira il robot a sinistra M00. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start(PWM_MAIN_CLK, 0, 250, 180)end sub sub goahead () // fa avanzare il robot M00. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start(PWM_MAIN_CLK, 0, 250, 180) //sinistra dc M10. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start(PWM_MAIN_CLK, 0, 250, 180) //destra dcend subsub wait3() // i miei ritardi DelayMsec(A) DelayMsec(A) DelayMsec(A)end subsub wait4() DelayMsec(A) DelayMsec(A) DelayMsec(A) DelayMsec(A)end subsub wait5() DelayMsec(A) DelayMsec(A) DelayMsec(A) DelayMsec(A) DelayMsec(A))end subsub wait10() //long delay loop = 1 while(loop < 11) DelayMsec(A) loop =loop + 1 end whileend subsub playsound() // per suonare le note duration = ontime while(duration > 0) SPK. PIN_Out(PM4, ON) system. Delay(A2) SPK. PIN_Out(PM4, Off) system. Delay(A2) durata = durata - 1 fine while DelayMsec(B) durata = ontime while(durata > 0) SPK. PIN_Out (PM4, ON) system. Delay(A3) SPK. PIN_Out(PM4, Off) system. Delay(A3) durata = durata - 1 fine while DelayMsec(B) durata = ontime while(durata > 0) SPK. PIN_Out(PM4, ON) system. Delay(A4) SPK. PIN_Out(PM4, Off) system. Delay(A4) durata = durata - 1 fine mentre DelayMsec(B)end sub principale PWM. PWM_Res_PP0145 (TIMER_D IV_16, 0) PWM. PWM_Res_PP23 (TIMER_DIV_16, 0) S. SER_Setup(SER_BUFFER_4, BAUD9600) // Imposta SCI e consenti il buffering di 4 caratteri System. INTS_On () // ATTIVA GLI INTERRUPT! S. SER_Put_string("Questo è un test") S. SER_Put_char ('\n') S. SER_Put_char ('\r') while (FOREVER) IR1. ADC_Start (WAIT, ADC_MODE_8ONCE) // Legge il valore dal sensore di nitidezza anteriore IR1. ADC_Read (PAD05, IR1Result) IR2. ADC_Start (WAIT, ADC_MODE_8ONCE) // Legge il valore dal sensore back sharp IR2. ADC_Read (PAD03, IR2Result) S. SER_Put_decimal(IR2Result, FILLUP_SPACE) // invia il valore alle finestre hyper terminal S. SER_Put_char ('\n') // crea una nuova riga sull'iperterminale S. SER_Put_char ('\r') if ((IR1Result == 25) o (IR1Result > 25)) stop() playsound() wait5() WLED1. PIN_Out(PM2, ON) WLED2. PIN_Out(PM3, ON) goback() wait5() if ((IR2Result == 25) o (IR2Result > 25)) stop() playsound() wait5() turnleft () wait3() goahead() end if turnright() wait3() else goahead() end if ((IR2Result == 25) o (IR2Result > 25)) WLED1. PIN_Out(PM2, ON) WLED2. PIN_Out(PM3, ON) stop() wait5() turnright() wait3() WLED1. PIN_Out(PM2, OFF) WLED2. PIN_Out(PM3, OFF) goahead() wait3() else goahead() end if end whileend m ain

Passaggio 11: compila e carica nel tuo robot

Assicurati di inserire le batterie nel tuo robot e accendilo. Dovresti vedere il LED verde di alimentazione acceso sull'SSMI. Sul modulo Nanocore12DX c'è un piccolo interruttore, assicurati che sia in posizione di caricamento. Premi l'interruttore di ripristino sull'SSMI. Vai su nqbasic e seleziona Crea e carica. Compilerà il tuo codice e lo caricherà nel tuo robot. Togli il cavo seriale dal tuo robot e cambia l'interruttore da posizione di carico a posizione di esecuzione sul modulo NanoCore12DX. Metti il tuo robot su una superficie piana e premi il pulsante di ripristino su SSMI. Congratulazioni! Se hai problemi con questi passaggi, non esitare a scrivere sul forum nqBASIC. Sarò lì e risponderò a tutte le tue domande. Divertiti!

Consigliato: