altRobots
/robotigs/icons/actuator.pngActuatoren
/robotigs/icons/printboards.pngAlgemeen
/robotigs/icons/chassis.pngChassis
/robotigs/icons/florigs.pngFlorigs
/robotigs/icons/interfacing.gifInterfacing
/robotigs/icons/microphone_icon.pngMuziek
/robotigs/icons/musicKey_icon.pngMuzikanten
/robotigs/icons/shield.pngSchildjes
/sys/icons/sensors.pngSensors
/robotigs/icons/languages.pngTalen
/robotigs/icons/battery.pngVoedingen
/sys/icons/microController.pngµControllers
altContact
Kompas GY-273"); echo ("  "); } ?>  "); /* echo (""); echo (" "); //Show pencil as button */ ?> alt  

Deze pagina is verouderd. Ga naar de vernieuwde pagina.

"); $counter = 0; $aantal = str_word_count($pict_list, 0, "0123456789"); $lijst = str_word_count($pict_list, 1, "0123456789"); while($counter < $aantal){ $pictkey = $lijst[$counter]; $qryy1 = ("SELECT * FROM illustrations WHERE ill_id = $pictkey ;"); $resulty1 = pg_query($con1, $qryy1); while($row = pg_fetch_array($resulty1)){ //Fields accesible by their name foreach( $row AS $key => $val ){ $$key = stripslashes( $val ); } } $image = ("/robotigs/documentatie/plaatjes/$ill_name"); $pictfull = str_replace('_small', '', $image); //Pictfull=biggest version $alt = ("Just wait till your 57...."); $txtname = get_txt($con1, 18, $koekje[2], $ill_id); //Robot illustrations subtitles echo (""); echo (''. $alt .'
'); $nummer = $counter + 1; $txtAfb = get_txt($con1, 9, $koekje[2], 3865); //Pic Afb if ($koekje[0]>0 and $koekje[3]>0){ //User is logged in and translates echo ("$txtAfb $nummer: "); echo ("$txtname"); echo ("
"); echo ("Ontkoppelen "); if ($counter==0){ echo ("Up "); }else{ echo ("Up "); } if ($nummer == $aantal){ echo ("Down"); }else{ echo ("Down"); } }else{ //Else of if Meaning the current useer is logged in echo ("$txtAfb $nummer: $txtname"); } echo ('

'); //End of this picture $counter++; //Prepair for next picture } echo (''); //All pictures are printed } //End of if there are 1 or more pictures to be printed ---------------------- ?>

The GY-273 is basically a Honeywell HMC5883L chip (datasheet). Note: this is a 3 Vdc chip. You must install a level-shifter to connect to an Arduino. Since the power drawn is about 100 µA you can easily use the voltage shifter also as power supply. The I²C write address is 3C and the read address is 3D. A measurement takes about 6 ms. The DRDY pin is a status bit and tells you whether it is safe to read the compass value. Data Ready pin is internally pulled high but low for 250 μsec after fresh data is placed in the data output registers.

When powered on the GY-273 is in Single-Measurement Mode by default. In this mode you have the lowest power consumption but more software actions needed. Since the power consumption is only 100 µA most roboteers change the Mode to Continuous Measurement Mode during setup.

The last trick is how to calculate a heading from the data obtained by the compass module. diydrones.com.

Legacy: CMPS03
The CMPS03 (data-sheet) used to be the only compass offered until about around the turn of the millennium. It is still available (2016) but we don`t use it anymore. For robots this compass has several disadvantages. It is not tilt compensated and it is also rather expensive (€ 29,94). The I²C address of the CMPS03 compass module is C0 (sketch).


$val ){ $$key = stripslashes( $val ); } $jaar = substr($changeddate,0,4); $maand = substr($changeddate,5,2); $dag = substr($changeddate,8,2); $lastupdate = ("$jaar $maand $dag"); $prtsrttxt = get_txt($con1, 26, 1, $idsrtodd); $jaar = substr($createddate,0,4); $maand = substr($createddate,5,2); $dag = substr($createddate,8,2); $create_stamp = ("$dag $maand $jaar"); //GENERAL INFO FOR EVERY USER ************************************************** echo ("

"); echo (""); if ($codetext) { //Code like KY-026 or NA-41 echo (""); } //End of if ($codetext) $tmp = get_txt($con1, 9, $koekje[2], 3741); //Fieldname at screen if ($prijseurinclbtw > 0){ //Show price indication $prijs_formatted = number_format($prijseurinclbtw / 100, 2, ',', '.'); echo (""); echo (""); } //End of if ($prijseurinclbtw > 0) if ($sketchtext) { //Link to OWN SOFTWARE $tmp = get_txt($con1, 9, $koekje[2], 3738); //Fieldname at screen echo (""); } //End of if ($sketchtext) $tmp = get_txt($con1, 9, $koekje[2], 3744); //Fieldname at screen if ($pinouttext) { //Pinout echo (""); } $tmp = get_txt($con1, 9, 1, 3735); //Fieldname at screen $tmp2 = get_txt($con1, 26, 1, $row4[16]); //Group name in its language echo (""); if ($koekje[0]>0 and $koekje[3]>0){ //User is logged in and translates $tmp = get_txt($con1, 9, $koekje[2], 3918); //Fieldname at screen LANGUAGE if ($row4[26] == 1) {$imgname = "nederland.png";} if ($row4[26] == 2) {$imgname = "deutschland.png";} if ($row4[26] == 3) {$imgname = "uk.png";} if ($row4[26] == 4) {$imgname = "france.png";} echo (""); $tmp = get_txt($con1, 9, $row4[27], 3919); //Fieldname at screen $statuskey = get_status_key($con1, $status); $tmp2 = get_txt($con1, 61, $koekje[2], $statuskey); //Fieldname at screen echo (""); } $tmp = get_txt($con1, 9, 1, 3966); //Fieldname at screen echo (""); echo ("
"); //Header $tmp = get_txt($con1, 9, $koekje[2], 3923); //Fieldname at screen if ($koekje[3]=="1") { //If this user wants to translate then echo ("$tmp"); //If desired }else{ echo ("$tmp"); } //Else just show if no need to translate if ($koekje[0]>0 and $koekje[3]>0){ //User is logged in and translates echo (" (edit)"); } echo ("Algemene informatie test
"); $tmp = get_txt($con1, 9, $koekje[2], 3739); //Fieldname at screen if ($koekje[3]=="1") { //If this user wants to translate then echo ("$tmp"); //Class for colour }else{ //So you are not allowed to translate echo $tmp; //Show screenname of this field in user language } //End of If you want to translate this fieldname at screen echo (" "); if ($codelink) { echo ("$codetext"); }else{ echo ("$codetext"); } //End of if ($pinoutlink) echo ("
$tmp  "); if ($urlprijs){ echo ("€  $prijs_formatted"); }else{ echo ("€  $prijs_formatted"); } //End of if ($urlprijs > "") echo ("
$tmp  "); if ($sketchlink) { echo ("$sketchtext"); }else{ echo ("$sketchtext"); } //End of if ($sketchlink) echo ("
$tmp  "); if ($pinoutlink) { echo ("$pinouttext"); }else{ echo ("$pinouttext"); } //End of if ($pinoutlink) echo ("
$tmp  "); //MENU GROUP echo (""); echo ("$tmp2
$tmp"); echo ("flag.gif"); echo ("
$tmp  "); //STATUS echo ("$status $tmp2
$tmp  "); //LAST CHANGED $tmp = substr($changeddate, 0, 10); echo ("$tmp

"); return; //////////////////////////////////////////////////////////////////////////////// function get_status_key($con, $num){ $qry = ("SELECT id FROM status WHERE nr = $num ;"); $result = pg_query($con, $qry); $row = pg_fetch_array($result); return ("$row[0]"); } 0 AND software.rstid = 2 AND tblsystext.lanid = $koekje[2] AND tblsystext.txlid = 19 ORDER BY sftname ASC , controller ASC ;"); $result = pg_query($con1, $qry2); if (pg_num_rows($result)>0) { //Only if at least 1 program exists echo ('

'); echo (""); while($col = pg_fetch_array($result)){ $col[0] = ("$col[0]"); echo (""); echo (""); echo (""); if ($koekje[0] > 0 and $koekje[3]>0){ //User is logged in and translates echo (""); } echo (''); } echo ('
"); //Header $tmp = get_txt($con1, 9, $koekje[2], 3922); //Fieldname at screen if ($koekje[3]=="1") { //If this user wants to translate then echo ("$tmp"); //If desired }else{ echo ("$tmp"); } //Else just show if no need to translate echo ("
$col[2]  $col[0]"); echo ("(Edit)
'); } ?> 0){ if ($header == 0) { echo ("

"); echo (""); $header++; } //End of if ($header == 0) echo (""); echo (""); } } if ($header > 0){ echo ("
"); //Header $tmp = get_txt($con1, 9, $koekje[2], 3879); //Fieldname at screen if ($koekje[3]=="1") { //If this user wants to translate then echo ("$tmp"); //If desired }else{ echo ("$tmp"); } //Else just show if no need to translate echo ("
$colbpp[2]"); //Show software van deze bot $qry=("SELECT software_basedir FROM farmbotversie WHERE id = $colbpp[0];"); $result = pg_query($con1, $qry); $col = pg_fetch_array ($result ,0); $dir1 = "/var/www/html/robotigs/software/$col[0]"; $arr1 = glob($dir1, GLOB_ONLYDIR); if (isset($arr1[0])){ $folder = $arr1[0]; $countertmp = 0; echo ("
    "); foreach (scandir($folder, 1) as $filename) { if ($filename<>"." AND $filename <>".."){ if ($countertmp == 0){ $countertmp++; } //End of if ($countertmp == 0) $tmp = "/"; $dir = substr($folder, 14) ."/"; $link = $tmp .$dir .$filename; $showname = substr($filename, 0 ,-4); echo ("
  • "); echo "$showname"; echo ("
  • "); } //End of if ($filename<>"." AND $filename <>".."){ } //End of foreach (scandir($folder, 1) as $filename) echo ("
      "); } //End of if (isset($arr1[0])) echo ("
"); } ?>
Warning: include(/var/www/html/robotigs/includes/wishlistperpart.php): Failed to open stream: No such file or directory in /var/www/html/robotigs/includes/parts_header.php on line 128

Warning: include(): Failed opening '/var/www/html/robotigs/includes/wishlistperpart.php' for inclusion (include_path='.:/usr/share/php') in /var/www/html/robotigs/includes/parts_header.php on line 128