spacer.png, 0 kB

Torna indietro   Roboitalia.com - Il primo portale in Italia sulla robotica amatoriale > Progetti di Robot > L'angolo di Caronte

Rispondi
 
Strumenti discussione Modalità  visualizzazioe
  #1  
Vecchio 01-04-2011, 09.31.14
L'avatar di Caronte
Caronte Caronte non è collegato
Administrator
 
Data registrazione: 15-10-2009
Residenza: Ferrara
Età : 49
Messaggi: 2,962
Potenza reputazione: 331
Caronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua fama
Predefinito Appunti

Qui in questa sub-sezione metto e metterò degli appunti che nel corso del tempo mi sono fatto. Anche perchè sono smemorato di natura e quindi devo scrivermi sempre tutto.

Spero che possano far comodo. In questo post aggiornerò con i titoli i contenuti di questa sezione per agevolare la ricerca:

POST

1) MD22 Vs. Visual Basic 6
Rispondi citando
  #2  
Vecchio 01-04-2011, 09.33.39
L'avatar di Caronte
Caronte Caronte non è collegato
Administrator
 
Data registrazione: 15-10-2009
Residenza: Ferrara
Età : 49
Messaggi: 2,962
Potenza reputazione: 331
Caronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua fama
Predefinito 1) MD22 Vs. Visual Basic 6

La stringa utilizzata per il loro controllo con la Muin tramite il controllo Microsoft Comm Control di Vb6 è la seguente:

MSComm1.Output = ("@") + ("M") + ("R") + Chr$("176") + Chr$(Potenza) + ("0") + ("0") + ("#")

M: identificativo della periferica
R: (o L) canale di utilizzo, ovvero M1 e M2 (motore 1 e 2)
176: come predetto, di queste schede, è possibile collegarne diverse, più precisamente 8, ad un’unica interfaccia I2c, in questo caso la Muin. Per fare ciò basta cambiare la combinazione degli switch sulla scheda. 176 è appunto il primo canale dedicato, seguono 178,180, ecc. fino a 190
Potenza: è la variabile byte (quindi da 0 a 255) per gestire la potenza. 128 è motore fermo. Da 128 a 0 la potenza di un senso di marcia, da 128 a 255 l’inverso.

La scheda utilizzata è una Muin, ma il modello di comando va bene per qualsiasi comunicazione seriale con VB6. Ovviamente bisognerà attenersi alle specifiche del dispositivo utilizzato e le sue modalità.
Rispondi citando
  #3  
Vecchio 04-04-2011, 11.19.41
L'avatar di Caronte
Caronte Caronte non è collegato
Administrator
 
Data registrazione: 15-10-2009
Residenza: Ferrara
Età : 49
Messaggi: 2,962
Potenza reputazione: 331
Caronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua fama
Predefinito Accendere un led con gli XBee e Hyper Terminal (parte 1)

Ieri sera stavo effettuando la prova di tutte le seriali di Gast con il programma che ho scritto (e che sto scrivendo...) in Visual Studio per gestire il robot. Prima di andare a nanna però, ho pensato a tutte quelle persone che scrivono nei forum, ovviamente parlo di coloro che stanno per iniziare e/o vogliono iniziare, cercando di capire come questi 'moduletti perniciosi' chiamati XBee funzionino. E soprattutto per coloro che non hanno anca imparato un linguaggio di programmazione.

Chi li possiede ed è completamente a digiuno, appena li compra, li toglie dall'imballaggio, li collega ed installa giustamente la loro interfaccia di gestione XCtu. Poi preme il fatidico tasto read e gli compare un mega-menù di funzioni/settaggi degni del pannello di avvio dello Shuttle!

E' chiaro che spaventa!

Dopo averci 'cipollato' per qualche nottata spesso con esito negativo, il ns. utente ha lo stimolo viscerale di schiacciarli con un 'costoso cazzottone' alla Bud Spencer e darsi al ricamo.

La filosofia di guerra di Giulio Cesare "Dividi et Impera!" tendo caratterialmente ad applicarla in qualsiasi cosa che faccio (ovviamente non per combattere stati o persone) ma per risolvere i problemi di qualsiasi natura.

Ogni problema cerco sempre di scinderlo in problemini più piccoli e, partendo dal più facile, cerco di risolverli arrivando al più 'peso'. Così consiglio di fare anche con loro.

Con gli XBee il primo problema da chiarire è: ma a cosa servono???

Semplice: a far comunicare in remoto (n'somma via radio...) due o più computer.

E i microcontrollori?

Ehi ragazzo/a, un microcontrollore è un computer piccolissimo, ok?! ... ... Ok ...ok...

Bene....

Se i computer/microcontrollori sono due allora si usano i moduli XBee serie 1. Se i computer/microcontrollori sono più di due allora si usa la Serie 2.

Ora, prima di chiedersi cosa fanno i mille 'lemmi' di settaggio contenuti nella XCtu individuiamo il problema principale: farli comunicare tra loro.

2 Soli i requisiti ESSENZIALI:

1) Stessa velocità di comunicazione

2) Che parlino la stessa lingua!

Esempio che avevo già fatto ma che forse rende l'idea (non vi preoccupate, non è la solita 'barza'):

Un Tedesco e un Italiano vogliono parlarsi con dei walkie-talkie in un cantiere edile. Uno è sulla gru, l'altro è a terra vicino ad un pallet di pietre che deve essere elevato e posizionato sul tetto. E' chiaro che questi due personaggi devono trovare assolutamente il modo di comunicare in maniera di capirsi, sennò, ben che vada, le pietre rimangono a terra; mal che vada finiscono sui piedi di un altro operaio.
Per fare ciò e condurre a buon fine l'operazione, prima di mettersi al lavoro, convengono che parleranno tutti e due in gaelico antico, che ovviamente conoscono a menadito...
Iniziano.
Il tedesco, che poco prima ha litigato con la moglie al cellulare ed è quindi molto nervoso..., inizia a parlare con l'altro nel walkie-talkie moooolto in fretta. L'italiano, invece, un po assonnato perchè a pranzo ha mangiato 4 etti di tortelloni con ragù di cinghiale annaffiandoli con abbondante Lambrusco, è lento di comprendonio, quindi, sebbene parlino la stessa lingua, non riescono ad intendersi.
Decidono quindi di comunicare tutti e due in gaelico antico e di parlarsi alla stessa velocità!

Nel nostro caso gli XBee sono i due walkie talkie, il gaelico antico è lo stesso tipo di dato che deve essere trasmesso e la velocità è.... la velocità che deve essere uguale, punto. Nel caso informatico quest'ultima si misura in baud.

Per questo 'esperimento' occorrono(almeno io ho usato questi):

2 Moduli XBee

e un Gast! Ahhh aha aha Scherzo!

Lato PC

1 Adattatore seriale X-Bee

Lato Luigino328 PROTOTYPE:

1 Luigino328 PROTOTYPE

1 Adattatore seriale X-Bee 990.001***

oppure un:

XBee Shield

1 Led

*** Per come fare a connettere l'Adattatore Seriale 990.001 alla Luigino328 prototype si può fare riferimento al circuito elettronico di questo mio POST (Scorrere in basso fino al post titolato: ROBOH Costruzione: Fine 4°a Parte e vedere il circuito al punto 7) precedente.

Per chi usa come S.O. Xp Hyper Terminal lo trova nella cartella accessori.

Per chi usa Seven lo può scaricare gratuitamente sul Web. Basta cercare con Google:

Hyper Terminal windows 7

e ... uno vale l'altro.

Che cos'è Hiper Terminal?

Hyper Terminal è un programma che è stato progettato per svolgere le funzioni di comunicazione e di emulazione di terminale.

In sintesi è un'interfaccia che è in grado di inviare e ricevere dati, sia in protocollo seriale, sia in protocollo TCP/IP.

Dopo aver approntato l'Hardware, aver messo la velocità dei due moduli XBee a 115200 ed aver inserito il led (rispettivamente 'zampa' corta nel Gnd(-), 'zampa' lunga(+)) nella digital 13 della Luigino328, si implementa questo codice:

Codice:
const int ledPin =  13; // Dichiaro che il led è collegato alla digital 13
 
void setup() {
  
pinMode(ledPin,OUTPUT); // Stabilisco che il pin dove è collegato è un pin di uscita (OUTPUT)
  


 digitalWrite(ledPin,LOW); // Voglio che tutte le volte che accendo la Luigino328 il led sia spento

Serial1.begin(115200); // Velocità di comunicazione a 115200 Baud
  
}


void loop() {
   
 {
  if ( Serial1.available()>0) 
       {  // Dico all'ATMega di attivare e vedere se ci sono disponibili delle porte seriali


int lettura = Serial.read();  // Leggo i numeri con la variabile int che la seriale legge (read)

if(lettura =='4'){       
         digitalWrite(ledPin,HIGH); // Se 'arriva' un 4 accendo il led
}

if(lettura =='6'){       
         digitalWrite(ledPin,LOW); // Se 'arriva' un 6 spengo il led
}


delay(25); // Aspetto un attimo... ma proprio un attimo....
     
     Serial.flush();  // E svuoto il buffer


}

}
}
Accendere/collegare tutto.

Creare con il Blocco Note di Windows (che trovate in accessori nel menu programmi dello Start di Windows) due file, uno contenente il numero 4 ed uno contenente il numero 6 e salvarli rispettivamente come 4 e 6 (che fantasia!!!), cioè così:



-----> Segue
Rispondi citando
  #4  
Vecchio 04-04-2011, 11.23.36
L'avatar di Caronte
Caronte Caronte non è collegato
Administrator
 
Data registrazione: 15-10-2009
Residenza: Ferrara
Età : 49
Messaggi: 2,962
Potenza reputazione: 331
Caronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua fama
Predefinito Accendere un led con gli XBee e Hyper Terminal (parte 2)

> ------ Continua





Quindi andiamo su Start, andiamo a cercare Hyper terminal:



e lo avviamo:





------> Segue
Rispondi citando
  #5  
Vecchio 04-04-2011, 11.26.52
L'avatar di Caronte
Caronte Caronte non è collegato
Administrator
 
Data registrazione: 15-10-2009
Residenza: Ferrara
Età : 49
Messaggi: 2,962
Potenza reputazione: 331
Caronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua fama
Predefinito Accendere un led con gli XBee e Hyper Terminal (parte 3)

> -------- Continua


Si apre questa schermata dove nominiamo la nuova connessione come vogliamo e le diamo l'OK:



si accede a questa schermata, dove andremo a selezionare la COM relativa al modulo XBee, nel mio caso, la COM4:



Di seguito HT ci permette di impostare i parametri della porta, in particolare facciamo attenzione a settare la velocità a 115200 baud e quindi dare l'OK:



In alto andiamo sul menù Transfer e selezioniamo Send Text File (Trasmettere File di Testo):





-------> Segue
Rispondi citando
  #6  
Vecchio 04-04-2011, 11.27.21
L'avatar di Caronte
Caronte Caronte non è collegato
Administrator
 
Data registrazione: 15-10-2009
Residenza: Ferrara
Età : 49
Messaggi: 2,962
Potenza reputazione: 331
Caronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua famaCaronte La sua reputazione è oltre la sua fama
Predefinito Accendere un led con gli XBee e Hyper Terminal (parte 4)

-------> Continua

Si apre finalmente il browser dove andremo a recuperare il file Blocco Note 4 (cioè quello con il numero 4 salvato al suo interno) e, lo apriamo:



Dal momento in cui premeremo su OK, il file 4 contenente il numero 4 verrà trasmesso sulla seriale via XBee accendendo 'magicamente' il nostro led:



Ripetere la stessa operazione inviando il file di Blocco Note 6 contenente il numero 6 ed il led si spegnerà.

Da qui in poi traete le Vs. considerazioni.

Sperando possa essere utile

mi congedo.

Ciao

Antonio
Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione
Modalità  visualizzazioe

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code è Attivato
Le smilies sono Attivato
[IMG] è Attivato
Il codice HTML è Disattivato

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
Appunti per aggiornamento forum marnic Suggerimenti 38 21-03-2013 22.34.28


Tutti gli orari sono GMT. Adesso sono le: 18.12.32.


Basato su: vBulletin Versione 3.8.8
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Realizzazione siti web Cobaltica Foligno
spacer.png, 0 kB