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.
Aggiunta la sezione corsi.
Aggiunto il programma sulla telemetria (in fase di sviluppo).