Go Down

Topic: problema con il sensore CMPS03 (Read 463 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