Talaan ng mga Nilalaman:
- Hakbang 1: Kinakailangan ang Hardware:
- Hakbang 2: Hardware Hookup:
- Hakbang 3: Ang Java Code upang Sukatin ang Intensity ng Magnetic Field:
- Hakbang 4: Mga Aplikasyon:
Video: Pagsukat ng Magnetic Field Gamit ang HMC5883 at Raspberry Pi: 4 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Ang HMC5883 ay isang digital na kompas na dinisenyo para sa mababang patlang na pandama sa magnet. Ang aparatong ito ay may malawak na saklaw ng magnetic field na +/- 8 Oe at isang rate ng output na 160 Hz. Ang sensor ng HMC5883 ay may kasamang awtomatikong mga degaussing strap driver, offset na pagkansela, at isang 12-bit ADC na nagbibigay-daan sa katumpakan ng heading na 1 ° hanggang 2 °. Ang lahat ng mga Mini Module ng I²C ay idinisenyo upang mapatakbo sa 5VDC.
Sa tutorial na ito, ipapaliwanag namin ang detalyadong pagtatrabaho ng HMC5883 kasama ang Raspberry pi at ang programa nito gamit ang java programming language.
Hakbang 1: Kinakailangan ang Hardware:
Ang hardware na kinakailangan upang magawa ang gawain ay ang mga sumusunod:
1. HMC5883
2. Raspberry Pi
3. I2C Cable
4. I2C Shield Para sa Raspberry Pi
5. Ethernet Cable
Hakbang 2: Hardware Hookup:
Karaniwang ipinapaliwanag ng seksyon ng hookup ng hardware ang mga koneksyon sa mga kable na kinakailangan sa pagitan ng sensor at ng raspberry pi. Ang pagtiyak sa tamang mga koneksyon ay ang pangunahing pangangailangan habang nagtatrabaho sa anumang system para sa nais na output. Kaya, ang mga kinakailangang koneksyon ay ang mga sumusunod:
Gagana ang HMC5883 sa paglipas ng I2C. Narito ang halimbawa ng diagram ng mga kable, na nagpapakita kung paano i-wire ang bawat interface ng sensor.
Sa labas ng kahon, naka-configure ang board para sa isang interface ng I2C, dahil inirerekumenda namin ang paggamit ng hookup na ito kung hindi ka agnostiko. Ang kailangan mo lang ay apat na wires!
Apat na koneksyon lamang ang kinakailangan ng Vcc, Gnd, SCL at SDA pin at ang mga ito ay konektado sa tulong ng I2C cable.
Ang mga koneksyon na ito ay ipinakita sa mga larawan sa itaas.
Hakbang 3: Ang Java Code upang Sukatin ang Intensity ng Magnetic Field:
Ang bentahe ng paggamit ng raspberry pi ay, nagbibigay sa iyo ng kakayahang umangkop ng wika ng programa kung saan nais mong i-program ang board upang ma-interface ang sensor kasama nito. Ginagamit ang kalamangan na ito ng board na ito, ipinapakita namin dito ang pag-program nito sa Java. Ang java code para sa HMC5883 ay maaaring ma-download mula sa aming komunidad na github na Dcube Store.
Pati na rin para sa kadalian ng mga gumagamit, ipinapaliwanag din namin ang code dito:
Bilang unang hakbang ng pag-coding, kailangan mong i-download ang pi4j library sa kaso ng java, dahil sinusuportahan ng library na ito ang mga pagpapaandar na ginamit sa code. Kaya, upang mai-download ang library maaari mong bisitahin ang sumusunod na link:
pi4j.com/install.html
Maaari mong kopyahin ang gumaganang java code para sa sensor na ito mula dito din:
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
mport com.pi4j.io.i2c. I2CFactory;
import java.io. IOException; pampublikong klase HMC5883
{
public static void main (String args ) nagtatapon ng Exception
{
// Lumikha ng I2C bus
I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);
// Kumuha ng I2C device, ang address ng HMC5883 I2C ay 0x1E (30)
I2CDevice aparato = Bus.getDevice (0x1E);
// Piliin ang Rehistro ng pag-configure A
// Normal na pagsasaayos ng pagsukat, rate ng data o / p = 0.75 Hz
aparato. magsulat (0x00, (byte) 0x60);
// Select Mode register
// Patuloy na mode ng pagsukat
aparato. magsulat (0x02, (byte) 0x00);
Thread.tulog (500);
// Basahin ang 6 bytes ng data mula sa 0x03 (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
byte data = bagong byte [6];
aparato.read (0x03, data, 0, 6);
// I-convert ang data
int xMag = ((data [0] & 0xFF) * 256 + (data [1] & 0xFF));
kung (xMag> 32767)
{
xMag - = 65536;
}
int zMag = ((data [2] & 0xFF) * 256 + (data [3] & 0xFF));
kung (zMag> 32767)
{
zMag - = 65536;
}
int yMag = ((data [4] & 0xFF) * 256 + (data [5] & 0xFF));
kung (yMag> 32767)
{
yMag - = 65536;
}
// Output data sa screen
System.out.printf ("Magnetic field sa X-Axis:% d% n", xMag);
System.out.printf ("Magnetic field sa Y-Axis:% d% n", yMag);
System.out.printf ("Magnetic field sa Z-Axis:% d% n", zMag);
}
}
Isulat ang () at basahin ang () mga pagpapaandar ay ginagamit upang isulat ang mga utos at basahin ang output ng sensor ayon sa pagkakabanggit. Ang sumusunod na bahagi ay naglalarawan ng pagbabasa ng mga halaga ng magnetic field.
// Basahin ang 6 bytes ng data mula sa 0x03 (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
byte data = bagong byte [6];
aparato.read (0x03, data, 0, 6);
Ang output ay ipinapakita sa larawan sa itaas.
Hakbang 4: Mga Aplikasyon:
Ang HMC5883 ay isang pang-ibabaw, multi-chip module na dinisenyo para sa mababang patlang na magnetikong sensing na may isang digital interface para sa mga application tulad ng mababang gastos na kumpas at magnetometry. Ang isa hanggang dalawang degree na mataas na antas ng kawastuhan at katumpakan ay nagbibigay-daan sa Pedestrian Navigation at LBS Applications.
Inirerekumendang:
Subukan ang Bare Arduino, Gamit ang Software ng Laro Gamit ang Capacitive Input at LED: 4 na Hakbang
Subukan ang Bare Arduino, Gamit ang Software ng Laro Gamit ang Capacitive Input at LED: " Push-It " Interactive na laro gamit ang isang hubad na Arduino board, walang mga panlabas na bahagi o mga kable na kinakailangan (gumagamit ng isang capacitive 'touch' input). Ipinapakita sa itaas, ipinapakita ang pagtakbo nito sa dalawang magkakaibang board. Push-Mayroon itong dalawang layunin. Upang mabilis na maipakita / v
Pagsukat ng Magnetic Field Gamit ang HMC5883 at Arduino Nano: 4 na Hakbang
Pagsukat ng Magnetic Field Gamit ang HMC5883 at Arduino Nano: Ang HMC5883 ay isang digital na kompas na idinisenyo para sa mababang patlang na pag-sensing magnetiko. Ang aparatong ito ay may malawak na saklaw ng magnetic field na +/- 8 Oe at isang rate ng output na 160 Hz. Kasama sa sensor ng HMC5883 ang mga awtomatikong degaussing strap driver, offset na pagkansela, at isang
Pagsukat ng Magnetic Field Gamit ang HMC5883 at Particle Photon: 4 na Hakbang
Pagsukat ng Magnetic Field Gamit ang HMC5883 at Particle Photon: Ang HMC5883 ay isang digital na kompas na dinisenyo para sa mababang patlang na sensasyong pang-magnet. Ang aparatong ito ay may malawak na saklaw ng magnetic field na +/- 8 Oe at isang rate ng output na 160 Hz. Kasama sa sensor ng HMC5883 ang mga awtomatikong degaussing strap driver, offset na pagkansela, at isang
Internet Clock: Ipakita ang Petsa at Oras Gamit ang isang OLED Gamit ang ESP8266 NodeMCU Sa NTP Protocol: 6 na Hakbang
Internet Clock: Display Date and Time With an OLED Gamit ang ESP8266 NodeMCU With NTP Protocol: Kumusta mga tao sa mga itinuturo na ito na magtatayo kami ng isang orasan sa internet na magkakaroon ng oras mula sa internet kaya't ang proyektong ito ay hindi mangangailangan ng anumang RTC upang tumakbo, kakailanganin lamang nito ang isang nagtatrabaho koneksyon sa internet At para sa proyektong ito kailangan mo ng isang esp8266 na magkakaroon ng
Isang Device ng Pagsukat sa UV-index na Pagsusukat, Gamit ang VEML6075 Sensor at ang Little Buddy Talker: 5 Hakbang
Isang Talking UV-index na Pagsukat sa Device, Gamit ang VEML6075 Sensor at ang Little Buddy Talker: Mga tag-init darating! Ang araw ay nagniningning! Alin ang mahusay. Ngunit habang lumalakas ang radiation ng ultraviolet (UV), ang mga taong katulad ko ay nagkakaroon ng mga pekas, maliit na kayumanggi na mga isla na lumalangoy sa isang dagat na pula, sunog, nangangati na balat. Ang pagkakaroon ng real-time na impormasyon