Go Down

Topic: problema con il sensore CMPS03 (Read 490 times) previous topic - next topic

ƎR

Oct 07, 2011, 05:55 pm Last Edit: Oct 07, 2011, 06:42 pm by er_like_no_other Reason: 1
sto provando questo sensore che dovrebbe funzionare come una bussola...
il problema è che va per un po', qualche secondo, e poi si blocca e per farlo ripartire devo resettare l'arduino...
il circuito l'ho montato così: http://www.robot-electronics.co.uk/htm/arduino_examples.htm#CMPS03 Magnetic Compass
mentre questo è il programma:

Code: [Select]
#include <Wire.h>
#define address 0x60 //defines address of compass

void setup(){
 Wire.begin(); //conects I2C
 Serial.begin(9600);
}

void loop(){
 byte highByte;
 byte lowByte;
 
  Wire.beginTransmission(address);      //starts communication with cmps03
  Wire.send(2);                         //Sends the register we wish to read
  Wire.endTransmission();

  Wire.requestFrom(address, 2);        //requests high byte
  while(Wire.available() < 2);         //while there is a byte to receive
  highByte = Wire.receive();           //reads the byte as an integer
  lowByte = Wire.receive();
  int bearing = ((highByte<<8)+lowByte)/10;
 
  Serial.println(bearing);
  delay(100);
}


c'è qualcuno che può aiutarmi? secondo voi quale potrebbe essere il problema??
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

lesto

se mettu le resistenzze di pull-up esterne, devi disattivare quelle interne.

nella cartella di arduino ->libraries->Wire->utility apri il file twi.c

e commenta le righe
Code: [Select]
#if defined(__AVR_ATmega168__) || defined(__AVR_ATmega8__) || defined(__AVR_ATmega328P__)
    // activate internal pull-ups for twi
    // as per note from atmega8 manual pg167
    sbi(PORTC, 4);
    sbi(PORTC, 5);
  #else
    // activate internal pull-ups for twi
    // as per note from atmega128 manual pg204
    sbi(PORTD, 0);
    sbi(PORTD, 1);
  #endif
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

ƎR

ho appena provato ma continua a bloccarsi :~ forse è un problema del programma perchè va per un po' e poi si ferma  :0
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

ƎR

adesso sembra che vada... ma non ho cambiato niente... non so perchè non andava prima... mistero..
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy