|
Nous avons vu dans un article précédent comment débuter avec la OOPIC, passons maintenant à l'utilisation des capteurs SRF08 avec cette carte. Pour commencer, nous allons voir comment connecter le capteur à la carte. Ensuite, il faudra adresser le capteur afin de lui donner un numéro unique permettant de le retrouver parmi plusieurs connectés sur le même bus I2c. Ensuite, nous verrons comment l'interroger.
Connecter la OOPIC-R au SRF08Une ou deux photos vallent mieux qu'un discours, voici comment connecter le sonar SRF08 et la carte OOPIC doivent être connectés :
On peut voir sur la photo que le sonar est nommé (adressé). C'est assez important de le faire quand projète d'en brancher plusieurs car l'opération d'adressage peut être par la suite compliquée si vous avez soudé votre installation.
Adresser le capteur SRF08Pour reconnaître un sonar parmi les autres connectés sur le même bus I2c, il faut que celui-ci possède une adresse unique. C'est pour cela que durant l'opération d'adressage, vous devez impérativement ne connecter que le sonar à adresser. Par la suite compliquée si vous soudez votre installation.
{geshibot lang="javascript"} oI2C Srf08 = New oI2C; //Objet sonar oByte Ver = New oByte;
Sub Void Main(Void) {
Srf08.Node = 0; //On utilise l'adresse de BroadCast car on ne connait pas //encore l'adresse du Sonar
Srf08.Mode = cv10Bit; //On passe en adressage 10-Bit Srf08.NoInc = 1; //on demande de ne pas incrémenter apres l'envoi de données Srf08.Width = cv8Bit; //On passe en adressage 8-Bit
Srf08.Location = 0; //On se place sur le registre 0 Srf08 = 160; //On envoie l'ensemble de commande permettant //de spécifier l'adresse du capteur Hex A0 Srf08 = 170; //Hex AA Srf08 = 165; //Hex A5
Srf08 = 224; //On met l'adresse souhaitée ! } {/geshibot}
Dans mon cas j'ai choisit comme pour le sonar sur la photo l'adresse 224. En fait jous avez le choix entre 16 adresses :
|
E0
| 224 | | E2 | 226 | | E4 | 228 | | E6 | 230 | | E8 | 232 | | EA | 234 | | EC | 236 | | EE | 238 | | F0 | 240 | | F2 | 242 | | F4 | 244 | | F6 | 246 | | F8 | 248 | | FA | 250 | | FC | 252 | | FE | 254 |
Lire les données du capteur SRF08Voici le code qui permet de lire les données du capteur et de les envoyer en continu sur le port série !
oI2C Srf08 = New oI2C; //Objet Srf08 oByte Ver = New oByte; oSerialPort portSerie = New oSerialPort;
Sub Void Main(Void) { portSerie.Mode = 0; portSerie.Baud = cv9600; portSerie.Operate = cvTrue; Srf08.Node = 224/2; //On utilise l'adresse précédement définie //le fonctionnement du Srf08 impose la division par deux Srf08.Mode = cv10Bit; Srf08.NoInc = 1; Do{ Srf08.Location = 0; //On se place sur la position 0 Srf08.Width = cv8Bit; Srf08 = 81; portSerie.String = "START"; Do { Ver = Srf08; } While (Ver == 255); Srf08.Location = 1; // On lit le capteur de lumiere portSerie.String = Str$(Srf08)+";"; Srf08.Width = cv16Bit; Srf08.Location = 2 ; //On lit la premiere distance portSerie.String = Str$(Srf08)+";"; Srf08.Location = 4; //On lit la seconde distance portSerie.String = Str$(Srf08)+";"; Srf08.Location = 6; //On lit la troisieme distance portSerie.String = Str$(Srf08)+";"; Srf08.Location = 8; //On lit la quatrieme distance et on peut en lire d'autre //si on le souhaite portSerie.String = Str$(Srf08)+";"; portSerie.String = "END"; } }
Et voila pour un programme plus avancé avec la OOPIC. Maintenant vous pouvez suivre la même démarche pour ajouter un capteur en changeant l'adresse spécifiée.
Bon OOPIC ! Code source Télécharger
|
- Veuiller laisser un commentaire en relation avec l'objet.
|
Powered by AkoComment 2.0! and SecurityImage 3.0.8 |