LEZIONE 22

Proviamo il nostro microrobot.

Aprite il blocco note e copiate questa sequenza di caratteri.

:020000040000FA
:020000000528D1
:06000A008316073081009F
:10001000FF3086001030850083121B200E28080058
:100020000800080008000800080008000800080090
:100030000630850008000930850008000A30850078
:1000400008000530850008000030850008000830F1
:100050008500080001308500080083120C308C00F8
:10006000322008000B11D83081000B1D35288C0B75
:1000700032280800831232308C003F2008000B1118
:10008000D83081000B1D42288C0B3F2808008312BA
:1000900064308C004C2008000B11D83081000B1DFF
:1000A0004F288C0B4C280800831296308C00592066
:1000B00008000B11D83081000B1D5C288C0B5928CF
:1000C00008008312C8308C00662008000B11D8305D
:1000D00081000B1D4F288C0B662808008312FA3014
:1000E0008C00732008000B11D83081000B1D76287E
:0600F0008C0B73280800D0
:02400E00F13F80
:00000001FF

Salvate il FILE con il nome AVANTI e cambiate l'estensione del FILE da TXT a HEX.

Inserite il PIC nel programmatore (fate attenzione alla tacca di riferimento), date alimentazione alla scheda e collegate il programmatore alla porta parallela, avviate ICPROG.

APRI ed andate a cercare il FILE che avete appena creato con il blocco note.

Ora premete F5 e rispondete SI alla domanda di programmare il PIC.

Vedrete una barra che scorre ed il led di programmazione che si accende.

Finita la programmazione il led si spegne, ora potete togliere l'alimentazione ed il PIC dallo zoccolo.

Montate il microcontrollore sul microrobot ed accendete l'interrutto, (assicuratevi che le batterie siano cariche).

Il microrobot andrà avanti.


POSSIBILI PROBLEMI

Il microrobot non si muove
Controllate se le batterie sono tutte cariche.
Controllate se i collegamenti sono corretti, aiutatevi con lo schema elettrico.
Controllate se ci sono dei falsi contatti.

Il microrobot va indietro.
Invertite i fili del servo destro (il rosso con il nero ed il nero con il rosso) ed invertite i fili del servo sinistro (il rosso con il nero ed il nero con il rosso).

Il microrobot va a sinistra.
Invertite i fili del servo sinistro (il rosso con il nero ed il nero con il rosso).

Il microrobot va a destra.
Invertite i fili del servo destro (il rosso con il nero ed il nero con il rosso).


Ora accantonate il microrobot ed iniziamo con la programmazione.
Iniziamo con dei programmi che ci aiutano a capire i concetti di programmazione per poi passare ai vari linguaggi veri e propri.

Dobbiamo scaricare un programma FREE chiamato MONTYPRO, lo trovate nella sezione programmi --> robotica.

Per funzionare MONTYPRO ha bisogno del compilatore della microchip, si trova all'interno dell'ambiente di sviluppo MPLAB e lo potete scaricare qui: http://www.microchip.com.

Se volete il solo compilatore lo potete scaricare dalla sezione programmi --> robotica.

Scaricato il programma ed il compilatore, scompattatelo ed installate MONTYPRO.

Eseguite MONTYPRO, dovrete avere un messaggio che vi avverte della mancanza del compilatore.

Fate click su OK ed andate nel menù STRUMENTI --> COMPILATORE, si aprirà una finestra di dialogo, andate a cercare il compilatore scaricato e fate click su APRI.

Ora MONTYPRO è pronto per funzionare.

Facciamo il nostro primo programma, formato da una sola istruzione, fate click nel pulsante AVANTI, si trova a destra del programma.

Se non avete scaricato MINIMONTY potete copiare il FILE sottostante con il metodo descritto sopra.

FILE ESADECIMALE.

:020000040000FA
:020000000528D1
:06000A008316073081009F
:10001000FF3086001030850083121B200E28080058
:100020000800080008000800080008000800080090
:100030000630850008000930850008000A30850078
:1000400008000530850008000030850008000830F1
:100050008500080001308500080083120C308C00F8
:10006000322008000B11D83081000B1D35288C0B75
:1000700032280800831232308C003F2008000B1118
:10008000D83081000B1D42288C0B3F2808008312BA
:1000900064308C004C2008000B11D83081000B1DFF
:1000A0004F288C0B4C280800831296308C00592066
:1000B00008000B11D83081000B1D5C288C0B5928CF
:1000C00008008312C8308C00662008000B11D8305D
:1000D00081000B1D4F288C0B662808008312FA3014
:1000E0008C00732008000B11D83081000B1D76287E
:0600F0008C0B73280800D0
:02400E00F13F80
:00000001FF

Ora salviamo il FILE facendo click sul pulsante SALVA CON NOME e poi compiliamo il programma con il pulsante COMPILA.

Verremo avvertiti da un messaggio che la compilazione è stata terminata.

ATTENZIONE non salvate il FILE in percorsi troppo lunghi altrimenti il compilatore potrebbe generarvi degli errori.

Andiamo nel percorso dove abbiamo salvato il FILE, la situazione dovrà essere la seguente:

Un FILE con estensione HEX ed un FILE con estensione MNT.

Il primo FILE è l'esadecimale da scaricare all'interno del PIC tramite il programmatore, il secondo è il nostro programma salvato e che potremmo riaprire e modificare in seguito.

Scaricato il programma HEX all'interno del PIC ed il nostro microrobot andrà avanti.

Il microrobot esegue delle istruzioni da noi impostate uno dopo l'altra.

Esempio:
Avanti
Destra
Sinistra etc.

Queste istruzioni devono essere inserite in modo corretto altrimenti il risultato finale non sarà quello desiderato, vediamo come e perchè.

Aprite MINIMONTY ed inserite 2 istruzioni, AVANTI ed INDIETRO.
Salvate, compilate e scaricate il programma nel PIC come descritto in precedenza.

FILE ESADECIMALE

:020000040000FA
:020000000528D1
:06000A008316073081009F
:10001000FF30860085018312093085000630850097
:100020001028831232308C00162008000B11D830B3
:1000300081000B1D19288C0B1628080083126430D0
:100040008C00232008000B11D83081000B1D2628BE
:100050008C0B23280800831296308C003020080077
:100060000B11D83081000B1D33288C0B3028080071
:100070008312C8308C003D2008000B11D83081005D
:100080000B1D26288C0B3D2808008312FA308C00AB
:100090004A2008000B11D83081000B1D4D288C0B15
:0400A0004A280800E2
:02400E00F13F80
:00000001FF

Vedrete che il microrobot NON andrà avanti ma solamente indietro perchè?

Il programma è esatto ma verrà eseguito molto velocemente e quindi noi vedremo solo l'ultima operazione inserita, ovvero INDIETRO.

Per ottenere il nostro risultato dovremo ragionare in modo differente ed inserire le seguenti istruzioni:

AVANTI, ATTENDI 1sec, INDIETRO.

FILE ESADECIMALE

:020000040000FA
:020000000528D1
:06000A008316073081009F
:10001000FF30860085018312093085000630850097
:100020001028831232308C00162008000B11D830B3
:1000300081000B1D19288C0B1628080083126430D0
:100040008C00232008000B11D83081000B1D2628BE
:100050008C0B23280800831296308C003020080077
:100060000B11D83081000B1D33288C0B3028080071
:100070008312C8308C003D2008000B11D83081005D
:100080000B1D26288C0B3D2808008312FA308C00AB
:100090004A2008000B11D83081000B1D4D288C0B15
:0400A0004A280800E2
:02400E00F13F80
:00000001FF

L'istruzione ATTENDI 1s, permette l'avanzamento del microrobot di 1 secondo per poi passare all'istruzione INDIETRO.

Con questo sistema si possono creare tutti i programmi che vogliamo.

LEZIONE23
LEZIONE21