Uso di bussala elettronica CMPS03

Sezione dedicata alla robotica mobile

Uso di bussala elettronica CMPS03

Postby Fagos » 16 Sep 2011, 20:00

scusate, vediamo se mi potete aiutare,
ho acquistato una bussola elettronica del tipo CMPS03 perchè voglio utilizzarla per orientare un robot che sto costruendo.
Sto avendo qualche problema con l'interfaccia verso un micro AVR.
Non riesco a comunicare con la scheda, anche se ho letto e riletto il manualetto. premetto che sono alle prime esperienze.
cè qlc che mi potrebbe aiutare?

ho capito che bisogna interfacciarla in i2c ma non capisco dove e come la devo collegare.

vi ringrazio
User avatar
Fagos
 
Posts: 100
Joined: 31 Aug 2011, 15:01

Re: Uso di bussala elettronica CMPS03

Postby deluca » 18 Sep 2011, 08:42

Scusa Fagos,
potresti dire di che tipo di micro AVR stai parlando?

Te lo chiedo perchè alcuni hanno l'interfaccia I2C hardware altri no.
Quindi nel caso l'abbia devi configurare l'interfaccia TWI per l'uso come I2C, devi inserire le resistenza di pull-up su SDA e SCL che
sarebbero i segnali seriali e usare un certo tipo di istruzioni.
Nell'altro caso devi utilizzare una configurazione software per connettere la CMPS03 al micro.

Resto in attesa della tua riposta poi vediamo di leggere i dati dalla bussola. Ok ?
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: Uso di bussala elettronica CMPS03

Postby Fagos » 20 Sep 2011, 15:39

Sto utilizzando un ATmega16 e a quanto pare cè la i2c integrata che è possibile gestire in modalità hardware.

Mi potresti dire come la devo interfacciare e un pò di codice per leggere i dati da essa.
Se utilizzi il bascom sarebbe cosa molto gradita, visto che ho iniziato a lavorare con questo sistema di sviluppo.


Ti ringrazio
ciao
User avatar
Fagos
 
Posts: 100
Joined: 31 Aug 2011, 15:01

Re: Uso di bussala elettronica CMPS03

Postby deluca » 21 Sep 2011, 19:12

Fagos wrote:Sto utilizzando un ATmega16 e a quanto pare cè la i2c integrata che è possibile gestire in modalità hardware.

Mi potresti dire come la devo interfacciare e un pò di codice per leggere i dati da essa.
Se utilizzi il bascom sarebbe cosa molto gradita, visto che ho iniziato a lavorare con questo sistema di sviluppo.


Ti ringrazio
ciao


Caro Fagos, ti allego un listato che ho usato per leggere i dati da una bussola magnetica CMPS03.
Qui il micro era un ATmega256, ma chiaramente puoi facilmente adattarlo per l'ATmega16 (vedi il PDF)

Code: Select all
$regfile = "m2561def.dat"
$crystal = 14745600
$baud = 115200                                              'seriale robot -> PC
$baud1 = 115200                                             'seriale robot -> Sonar Board
$hwstack = 128
$swstack = 128
$framesize = 128
$projecttime = 10
$timeout = 1000000
'-------------------------------------------------------------------------------
Declare Function Bussola() As Word

Open "com2:" For Binary As #1

Dim Gradi_1 As Byte
Dim Gradi_2 As Byte
Dim Gradi As Single
Dim Gradi_old As Single
Dim Gradi_w As Word

Config Sda = Portd.1
Config Scl = Portd.0

'-------------------------------------------------------------------------------
Do

  Gradi_w = Bussola()

  Print #1 , Gradi_w

Loop

End

'-------------------------------------------------------------------------------
Function Bussola() As Word

  I2csend &HC0 , 2
  I2cstart
  I2cwbyte &HC1
  I2crbyte Gradi_1 , Ack
  I2crbyte Gradi_2 , Nack
  I2cstop
  Gradi = Gradi_1 * 256
  Gradi = Gradi + Gradi_2
  Gradi = Gradi / 10
  Gradi = Round(gradi)
  Bussola = Gradi

End Function
'-------------------------------------------------------------------------------


ciao
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: Uso di bussala elettronica CMPS03

Postby Fagos » 22 Sep 2011, 20:12

funzionaaaaaaa, grazie

ti ringrazio molto, il tuo listato l'ho compilato con la versione demo del Bascom ultima release.
Tutto funziona alla grande, sono riuscito a leggere i dati provenienti dalla bussolaaaaaaaaa.

ciao
User avatar
Fagos
 
Posts: 100
Joined: 31 Aug 2011, 15:01


Return to Robotica

Who is online

Users browsing this forum: No registered users and 2 guests

cron