Sommario:

Crea paraurti per robot (con codice): 4 passaggi
Crea paraurti per robot (con codice): 4 passaggi

Video: Crea paraurti per robot (con codice): 4 passaggi

Video: Crea paraurti per robot (con codice): 4 passaggi
Video: Creare un BOT di TRADING AUTOMATICO con l’intelligenza artificiale - CHATGPT 2024, Novembre
Anonim
Crea paraurti per robot (con codice)
Crea paraurti per robot (con codice)

Questo tutorial guiderà i lettori attraverso come creare e codificare i paraurti su un Boe-bot che sarà in grado di navigare attraverso un labirinto mentre rileva gli ostacoli. La codifica per il progetto è stata eseguita utilizzando il software di programmazione BASIC Stamp e il robot Boe-Bot, ed è necessaria una conoscenza di base dei circuiti e della programmazione per riuscire a creare questi paraurti.

Forniture

Per creare questi paraurti, avrai bisogno di:

- Robot Boe-Bot

- Software di programmazione BASIC Stamp

- Bastoncino del ghiacciolo

- Una spugna

- Foglio di alluminio

- Graffette

- 8 fili abbastanza lunghi (almeno 6 pollici)

- 2 luci LED

- 2 resistori marrone-nero-giallo

- 2 resistori rosso-rosso-marrone

- Nastro e colla a caldo (o un adesivo simile)

- Batterie per il tuo Boe-Bot

Passaggio 1: Passaggio 1: Creazione del circuito

Passaggio 1: creazione del circuito
Passaggio 1: creazione del circuito
Passaggio 1: creazione del circuito
Passaggio 1: creazione del circuito

Segui lo schema della breadboard sopra per creare un circuito per orientare e far funzionare la breadboard. Alla fine, la tua breadboard dovrebbe essere simile all'immagine a sinistra.

Cose da ricordare:

- Assicurarsi che il LED sia nella posizione corretta. Ciò significa che la gamba piatta del LED dovrebbe essere sul lato negativo e l'altra gamba sul lato positivo.

- Il Vss funge da base su questa breadboard, il che significa che ha valore zero e Vdd ha valore 1.

- Un circuito in funzione ha valore 0. Un circuito spento ha valore 1.

Fase 2: Fase 2: Programmazione per il Boe-bot

Il codice seguente programma il robot per girare a sinistra ea destra di 90 gradi in base a quale dei paraurti viene premuto (ulteriori dettagli sulla creazione del paraurti nel passaggio successivo). Questo codice assicura che il robot girerà a sinistra quando vengono premuti i cavi del paraurti destro e girerà a destra quando vengono premuti i cavi del paraurti sinistro.

Alcune traduzioni linguistiche di base:

- GOSUB = sottoprogramma (deve essere seguito da una richiesta nel codice)

- If.. Else = specifica un gruppo di codice che deve essere eseguito, se le condizioni sono vere, ed esegue le istruzioni se le condizioni sono false

Il codice:

' {$STAMP BS2}

' {$PBASIC 2.5} '********************************************* ****************************** 'Reimposta codice di riavvio' Utilizzare il pulsante di ripristino per arrestare e avviare il robot '** ************************************************** *********************** temp VAR Byte 'memorizzazione temporanea RunStatus DATA $00 'variabile memorizzata nella ROM READ RunStatus, temp 'Legge la variabile dalla ROM temp = ~ temp 'inverte il valore da 0 a 1 o da 1 a 0 WRITE RunStatus, temp 'Riscrive la variabile su ROM IF (temp>0) THEN END 'Verifica se il valore è 1 ' in caso affermativo END il programma PAUSE 3000 'Pausa per consentire muovi ' la tua mano quando premi reset '**************************************** *********************************** '************** ************************************************** *********** 'Pin AND Constants' Utilizzato per semplificare la programmazione '***************************** ********************************************* PIN MOTORE 15 PIN MOTORE R 14 RFast CON 650 LFast CON 850 RSlow CON 700 LSlow CON 780 MStop CON 750 RFastRev CON 8 50 LFastRev CON 650 RSlowRev CON 800 LSlowRev CON 700 TurnLeft90 CON 90 TurnRight90 CON 90 '********************************* **************************************** '********* ************************************************** ************** 'Variabili' Utilizzato per semplificare la programmazione '************************** ********************************************* MLoopC VAR Parola "Per".. Next Variabile fino a 65000ish sideCount VAR Byte turnAngle VAR Word '*********************************** ************************************** '----------- --------------------------------------------------- ------------- 'Codice Principale' -------------------- ------------------------------------------ FARE SE IN10 = 0 ALLORA 'Se il il filo nel pin 10 è acceso quindi gira a sinistra GOSUB LeftTurn90 GOSUB LFastRev GOSUB RFastRev ELSEIF IN11 = 0 THEN 'Se il filo nel pin 11 è acceso, gira a destra GOSUB RightTurn90 GOSUB LFastRev GOSUB RFastRev ENDIF GOSUB ForwardFast 'Sposta in avanti'- un impulso LOOP ' ---------------------------------- ------------------------------------- '**FINE DEL CODICE PRINCIPALE****** ************************************************ '- --------------------------------------------------- --------------------- '****************************** ********************************************* '**Sotto-routine / Sottoprocedura / Metodi******************************* '*********** ************************************************** ********** '**************************************** *********************************** '*************** ************************************************** ******* RightTurn90: ' Sottoprocedura per girare di 90 gradi a destra '*********************************** *********************************** ALTO 1 BASSO 0 PER MLoopC = 1 A 22 PULSOUT LMOTORE, Lfast 'avanza di un impulso PULSOUT RMOTOR, RfastRev ' utilizzando pin e costanti PAUSE 20 ' 20mS consente al robot di spostarsi NEXT ' prima dell'impulso NEXT RETURN '******************** ************************************************** * LeftTurn90: ' Sottoprocedura per girare a destra di 90 gradi '** ************************************************** ******************* HIGH 0 LOW 1 FOR MLoopC = 1 TO 22 PULSOUT LMOTOR, LfastRev 'va avanti di un impulso PULSOUT RMOTOR, Rfast ' usando pin e costanti PAUSE 20 ' 20 ms consente al robot di spostarsi NEXT ' prima dell'impulso NEXT RETURN '************************************** ********************************* ForwardFast: ' Sottoprocedura per far avanzare il robot di un quadrato velocemente '**** ************************************************** **************** PER MLoopC = 1 TO 55 PULSOUT LMOTOR, LFast PULSOUT RMOTOR, RFast PAUSE 20 PROSSIMO RITORNO '************** ************************************************** ****** ReverseTurnLeft: 'Sottoprocedura per invertire e girare il robot a sinistra quando viene colpito il paraurti destro' **************************** ******************************************* PER MLoopC = da 1 a 55 PULSOUT LMOTOR, LSlowRev PULSOUT RMOTOR, RFastRev PAUSE 20 PROSSIMO RITORNO '************************************** ********************************* ReverseTurnRight: 'Subproce durante la retromarcia e girare il robot a destra quando viene colpito il paraurti sinistro '*********************************** *********************************** PER MLoopC = DA 1 A 55 PULSOUT LMOTOR, LFastRev PULSOUT RMOTOR, RSlowRev PAUSA 20 PROSSIMO RITORNO '************************************************** ************************* 'FINE DELLE SOTTOROUTINE' ******************** ************************************************** *

Passaggio 3: Passaggio 3: utilizzo di fogli di alluminio e bastoncini per ghiaccioli per paraurti in filo metallico

Passaggio 3: utilizzo di fogli di alluminio e bastoncini per ghiaccioli per paraurti in filo metallico
Passaggio 3: utilizzo di fogli di alluminio e bastoncini per ghiaccioli per paraurti in filo metallico
Passaggio 3: utilizzo di fogli di alluminio e bastoncini per ghiaccioli per paraurti in filo metallico
Passaggio 3: utilizzo di fogli di alluminio e bastoncini per ghiaccioli per paraurti in filo metallico
Passaggio 3: utilizzo di fogli di alluminio e bastoncini per ghiaccioli per paraurti in filo metallico
Passaggio 3: utilizzo di fogli di alluminio e bastoncini per ghiaccioli per paraurti in filo metallico
Passaggio 3: utilizzo di fogli di alluminio e bastoncini per ghiaccioli per paraurti in filo metallico
Passaggio 3: utilizzo di fogli di alluminio e bastoncini per ghiaccioli per paraurti in filo metallico

Prima di iniziare questo passaggio, assicurati che i 4 fili dalla breadboard (fare riferimento al passaggio 1) siano divisi in coppie, con ogni coppia che controlla un paraurti destro o sinistro. I LED funzionano in questa situazione per verificare che il codice fosse effettivo sui paraurti destro e sinistro. Sui bastoncini del ghiacciolo, un filo di ciascuna coppia condivide un'estremità del bastoncino del ghiacciolo (ciò significa che i fili della stessa coppia NON POSSONO trovarsi sullo stesso paraurti).

Taglia 4 piccoli rettangoli di carta stagnola e usane uno per avvolgere il filo attorno a ciascuna estremità di due bastoncini di ghiacciolo. Ciò aumenta la superficie di conduttività del bastoncino del ghiacciolo e fornisce una superficie maggiore per i bastoncini da toccare.

Per mantenere la pellicola e i fili attaccati ai bastoncini del ghiacciolo, usa 1-2 graffette per tenere insieme i materiali. Le graffette forniscono anche una maggiore accessibilità per i bastoncini del ghiacciolo al tatto senza troppe interferenze esterne. Fai scorrere la graffetta sul bastoncino del ghiacciolo proprio come faresti con una normale pila di fogli. Ripeti l'operazione per tutti e quattro i pezzi di carta stagnola e ciascuna estremità dei due bastoncini di ghiacciolo.

Passaggio 4: Passaggio 4: assemblaggio del resto dei paraurti

Passaggio 4: assemblaggio del resto dei paraurti
Passaggio 4: assemblaggio del resto dei paraurti
Passaggio 4: assemblaggio del resto dei paraurti
Passaggio 4: assemblaggio del resto dei paraurti
Passaggio 4: assemblaggio del resto dei paraurti
Passaggio 4: assemblaggio del resto dei paraurti
Passaggio 4: assemblaggio del resto dei paraurti
Passaggio 4: assemblaggio del resto dei paraurti

Una volta che il foglio di alluminio e le graffette sono in grado di mantenere i fili attaccati a ciascun bastoncino del ghiacciolo, tagliare due piccoli cubetti di spugna e incollare ciascun cubo tra i bastoncini (alle estremità di ciascun bastoncino in modo che l'adesivo della colla a caldo non interferisca con il conducibilità del metallo Le spugne assicurano che i paraurti con tocco ogni volta che il robot colpisce una parete.

Facoltativo: taglia a metà un bastoncino di ghiacciolo in più e incollalo ad angolo sulla punta del paraurti esterno del bastoncino di ghiacciolo. Ciò rafforza l'impatto del paraurti che colpisce un muro e si gira.

Ricorda di piegare i cavi in modo che i paraurti si pieghino proprio davanti al Bot-bot.

Consigliato: