MOTORI
Andiamo avanti e scriviamo un programma che esegue i movimenti scritti di seguito.
AVANTI
DESTRA
AVANTI
DESTRA
AVANTI
Molte persone potrebbero pensare che il programma sia il seguente:
#CHIP 16F84, 4 'Tipo di PIC utilizzato
Dir PORTA OUT 'Definisco le porte d'uscita
Dir PORTB IN 'e d'ingresso
PortA = b'00001001' 'Avanti
PortA = b'00000101' 'Destra
PortA = b'00001001' 'Avanti
PortA = b'00000101' 'Destra
PortA = b'00001001' 'Avanti
END 'Fine del programma
Ma un programma del genere è errato, non a livello di sintassi, infatti il compilatore lo compilerà
senza problema ma a livello logico.
Una volta compilato ed inserito nel PIC vedremmo il microrobot andare avanti e basta.
L’errore è dovuto ad un ragionamento scorretto, il microcontrollore eseguirà tutte le istruzioni
inserite in una frazione di secondo e noi vedremo solo l’ultima, questo perché il PIC preso in esame
(ovvero il 16F84) in questo caso ha una frequenza di 4Mhz cioè di 4 milioni di operazioni in un
secondo e quindi per compiere quelle 5 istruzioni ci metterà meno di un secondo.
Per “vedere” eseguite le altre istruzioni, dobbiamo creare un ritardo, come nel programma seguente.
#CHIP 16F84, 4 'Tipo di PIC utilizzato
Dir PORTA OUT 'Definisco le porte d'uscita
Dir PORTB IN 'e d'ingresso
PortA = b'00001001' 'Avanti
WAIT 1 sec ‘Ritardo di un secondo
PortA = b'00000101' 'Destra
WAIT 1 sec ‘Ritardo di un secondo
PortA = b'00001001' 'Avanti
WAIT 1 sec ‘Ritardo di un secondo
PortA = b'00000101' 'Destra
WAIT 1 sec ‘Ritardo di un secondo
PortA = b'00001001' 'Avanti
END 'Fine del programma
Aggiunta il link al corso Linux Uno su Udemy.
Aggiunto il tutorial per la realizzazionedi un Arcade con materiale di riciclo.