Mundarija:
- 1 -qadam: Uskuna kerak:
- 2 -qadam: Uskuna ulanishi:
- 3 -qadam: Magnit maydon intensivligini o'lchash kodi:
- 4 -qadam: Ilovalar:
Video: HMC5883 va zarracha foton yordamida magnit maydon o'lchami: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
HMC5883-past maydonli magnit sezish uchun mo'ljallangan raqamli kompas. Bu qurilma magnit maydonining keng diapazoni +/- 8 Oe va chiqish tezligi 160 Gts. HMC5883 sensori kompas sarlavhasini 1 ° dan 2 ° gacha aniqligini ta'minlaydigan avtomatik uzatish tasmasi drayverlarini, ofsetni bekor qilishni va 12-bitli ADC ni o'z ichiga oladi. Barcha I²C mini -modullari 5VDC da ishlashga mo'ljallangan.
Ushbu qo'llanmada biz HMC5883 ning zarracha fotoni bilan batafsil ishlashini tushuntirmoqchimiz. Zarrachalar fotoni - bu Internet -narsalar (IoT) ning eng asosiy xususiyatlarini qo'llab -quvvatlaydigan veb -saytdan ma'lumotlarni yuborish va qabul qilishni osonlashtiradigan taxta.
1 -qadam: Uskuna kerak:
Maqsadga erishish uchun bizga kerak bo'lgan materiallar quyidagi apparat komponentlarini o'z ichiga oladi:
1. HMC5883
2. Foton zarrachalari
3. I2C kabeli
4. Zarrachali foton uchun I2C qalqoni
2 -qadam: Uskuna ulanishi:
Uskuna ulash bo'limi asosan sensor va zarracha fotoni o'rtasida zarur bo'lgan simi ulanishlarini tushuntiradi. To'g'ri ulanishni ta'minlash har qanday tizimda kerakli chiqish uchun ishlashning asosiy zarurati hisoblanadi. Shunday qilib, kerakli ulanishlar quyidagilar:
HMC5883 I2C ustida ishlaydi. Sensorning har bir interfeysini qanday ulash kerakligini ko'rsatadigan simlar sxemasi.
Qutidan tashqari, taxta I2C interfeysi uchun tuzilgan, shuning uchun agar siz agnostik bo'lsangiz, biz ushbu ulanishni ishlatishni maslahat beramiz. Sizga faqat to'rtta sim kerak!
Vcc, Gnd, SCL va SDA pinlari uchun faqat to'rtta ulanish kerak va ular I2C kabeli yordamida ulangan.
Bu ulanishlar yuqoridagi rasmlarda ko'rsatilgan.
3 -qadam: Magnit maydon intensivligini o'lchash kodi:
Keling, zarrachalar kodidan boshlaylik.
Sensor modulini Arduino bilan ishlatganda, biz application.h va spark_wiring_i2c.h kutubxonasini o'z ichiga olamiz. "application.h" va spark_wiring_i2c.h kutubxonasi sensor va zarracha o'rtasidagi i2c aloqasini osonlashtiradigan funktsiyalarni o'z ichiga oladi.
Butun zarracha kodi foydalanuvchiga qulay bo'lishi uchun quyida keltirilgan:
#qo'shing
#qo'shing
// HMC5883 I2C manzili - 0x1E (30)
#aniqlang Addr 0x1E
int xMag = 0, yMag = 0, zMag = 0;
bo'sh o'rnatish ()
{
// O'zgaruvchini o'rnating
Particle.variable ("i2cdevice", "HMC5883");
Particle.variable ("xMag", xMag);
Particle.variable ("yMag", yMag);
Particle.variable ("zMag", zMag);
// I2C aloqasini MASTER sifatida boshlang
Wire.begin ();
// Serial aloqani ishga tushiring, bod tezligi = 9600
Serial.begin (9600);
// I2C uzatishni boshlang
Wire.beginTransmission (Addr);
// A registrini sozlashni tanlang
Wire.write (0x00);
// Oddiy o'lchov konfiguratsiyasini o'rnating, ma'lumotlar chiqish tezligi = 0,75 Gts
Wire.write (0x60);
// I2C uzatishni to'xtating
Wire.endTransmission ();
// I2C uzatishni boshlang
Wire.beginTransmission (Addr);
// Mode reestrini tanlang
Wire.write (0x02);
// Doimiy o'lchovni o'rnating
Wire.write (0x00);
// I2C uzatishni to'xtating
Wire.endTransmission ();
kechikish (300);
}
bo'sh halqa ()
{
imzosiz int ma'lumotlari [6];
// I2C uzatishni boshlang
Wire.beginTransmission (Addr);
// Ma'lumotlar reestrini tanlang
Wire.write (0x03);
// I2C uzatishni to'xtating
Wire.endTransmission ();
// 6 bayt ma'lumotni so'rang
Wire.requestFrom (Addr, 6);
// 6 bayt ma'lumotni o'qing
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
agar (Wire.available () == 6)
{
ma'lumotlar [0] = Wire.read ();
ma'lumotlar [1] = Wire.read ();
ma'lumotlar [2] = Wire.read ();
ma'lumotlar [3] = Wire.read ();
ma'lumotlar [4] = Wire.read ();
ma'lumotlar [5] = Wire.read ();
}
kechikish (300);
// Ma'lumotni aylantirish
xMag = ((ma'lumotlar [0] * 256) + ma'lumotlar [1]);
agar (xMag> 32767)
{
xMag -= 65536;
}
zMag = ((ma'lumotlar [2] * 256) + ma'lumotlar [3]);
agar (zMag> 32767)
{
zMag -= 65536;
}
yMag = ((ma'lumotlar [4] * 256) + ma'lumotlar [5]);
agar (yMag> 32767)
{
yMag -= 65536;
}
// Ma'lumotlarni boshqaruv paneliga chiqarish
Particle.publish ("X o'qida magnit maydon:", String (xMag));
kechikish (1000);
Particle.publish ("Y o'qida magnit maydon:", String (yMag));
kechikish (1000);
Particle.publish ("Z o'qida magnit maydon:", String (zMag));
kechikish (1000);
}
Particle.variable () funktsiyasi sensorning chiqishini saqlash uchun o'zgaruvchilarni yaratadi va Particle.publish () funktsiyasi saytning boshqaruv panelida chiqishini ko'rsatadi.
Ma'lumot uchun sensor chiqishi yuqoridagi rasmda ko'rsatilgan.
4 -qadam: Ilovalar:
HMC5883-bu past narxli kompas va magnitometriya kabi ilovalar uchun raqamli interfeysli past maydonli magnitli sezish uchun mo'ljallangan, sirtga o'rnatiladigan, ko'p chipli modul. Uning birdan ikki darajagacha yuqori aniqlik va aniqligi piyodalar navigatsiyasi va LBS ilovalarini ishga tushiradi.
Tavsiya:
Portativ nozik zarracha o'lchami (kengaytma): 3 qadam
Portativ nozik zarrachalarning o'lchami (kengaytmasi): Maqsad: CO2 sensorini qo'shish Dasturning o'qilishi yaxshilandi Dasturning boshqa turdagi sensorlarga ochilishi. Bu loyiha allaqachon chop etilgan boshqa loyihaga amal qiladi. Bu o'quvchilar tomonidan berilgan savollarga javob beradi. Qo'shimcha sensor o'rnatildi
Portativ nozik zarracha o'lchami: 4 qadam (rasmlar bilan)
Portativ nozik zarrachalarni o'lchash: Ushbu loyihaning maqsadi nozik zarracha miqdorini o'lchash orqali havo sifatini o'lchashdir. Portativligi tufayli uyda yoki harakatda o'lchovlarni amalga oshirish mumkin bo'ladi. Havoning sifati va mayda zarrachalari: Zarrachalar (
HMC5883 va Raspberry Pi yordamida magnit maydon o'lchami: 4 qadam
HMC5883 va Raspberry Pi yordamida magnit maydonni o'lchash: HMC5883-past maydonli magnit sezish uchun mo'ljallangan raqamli kompas. Bu qurilma magnit maydonining keng diapazoni +/- 8 Oe va chiqish tezligi 160 Gts. HMC5883 sensori avtomatik deagusing tasma drayverlarini, ofsetni bekor qilishni va
HMC5883 va Arduino Nano yordamida magnit maydon o'lchami: 4 qadam
HMC5883 va Arduino Nano yordamida magnit maydonni o'lchash: HMC5883-past maydonli magnit sezish uchun mo'ljallangan raqamli kompas. Bu qurilma magnit maydonining keng diapazoni +/- 8 Oe va chiqish tezligi 160 Gts. HMC5883 sensori avtomatik deagusing tasma drayverlarini, ofsetni bekor qilishni va
CPS120 va zarracha foton yordamida bosim o'lchami: 4 qadam
CPS120 va zarracha foton yordamida bosimni o'lchash: CPS120 - bu yuqori sifatli va to'liq kompensatsiyali chiqishga ega, past narxli sig'imli mutlaq bosim sensori. U juda kam quvvat sarflaydi va bosimni o'lchash uchun ultra kichik mikroelektromekanik sensordan (MEMS) iborat. Sigma-deltaga asoslangan