Мазмуну:
- 1 -кадам: Аппараттык камсыздоо талап кылынат:
- 2 -кадам: Аппараттык туташуу:
- 3 -кадам: Магнит талаасынын интенсивдүүлүгүн өлчөө үчүн код:
- 4 -кадам: Тиркемелер:
Video: HMC5883 жана бөлүкчө фотонун колдонуу менен магниттик талааны өлчөө: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:38
HMC5883-төмөн талаадагы магниттик сезүү үчүн иштелип чыккан санариптик компас. Бул аппараттын магнит талаасынын кенен диапазону +/- 8 Oe жана чыгаруу ылдамдыгы 160 Гц. HMC5883 сенсоруна автоматтык түрдө ажыратуучу драйверлер, офсеттин жокко чыгарылышы жана компастын багытынын 1 °-2 ° тактыгын камсыз кылган 12 биттик ADC кирет. Бардык I²C Mini модулдары 5VDCде иштөө үчүн иштелип чыккан.
Бул окуу куралы, биз HMC5883 деталдуу бөлүкчөнүн фотону менен иштешин түшүндүрөбүз. Бөлүкчөлөрдүн фотону - бул Интернет -нерселердин (IoT) эң негизги өзгөчөлүгүн колдогон веб -сайттан маалыматтарды жөнөтүүнү жана алууну жеңилдетүүчү такта.
1 -кадам: Аппараттык камсыздоо талап кылынат:
Максатыбызга жетүү үчүн бизге керектүү материалдар төмөнкү аппараттык компоненттерди камтыйт:
1. HMC5883
2. Бөлүкчөлөрдүн фотону
3. I2C кабели
4. I2C Shield for Particle Photon
2 -кадам: Аппараттык туташуу:
Аппараттык туташуу бөлүмү негизинен сенсор менен фотон бөлүкчөсүнүн ортосунда талап кылынган зым байланыштарын түшүндүрөт. Туура туташууларды камсыздоо каалаган өндүрүш үчүн кандайдыр бир системада иштеп жатканда негизги зарылчылык болуп саналат. Ошентип, керектүү байланыштар төмөнкүлөр:
HMC5883 I2C үстүндө иштейт. Бул жерде сенсордун ар бир интерфейсин кантип зым менен жабуу керектигин көрсөтүүчү зымдардын схемасы келтирилген.
Кутудан тышкары, такта I2C интерфейси үчүн конфигурацияланган, андыктан эгер сиз агностиксиз болсоңуз, анда бул байланышты колдонууну сунуштайбыз. Сизге болгону төрт зым керек!
Vcc, Gnd, SCL жана SDA төөнөгүчтөрүнө төрт гана туташуу керек жана алар I2C кабелинин жардамы менен туташкан.
Бул байланыштар жогорудагы сүрөттөрдө көрсөтүлгөн.
3 -кадам: Магнит талаасынын интенсивдүүлүгүн өлчөө үчүн код:
Эми бөлүкчө коду менен баштайлы.
Сенсор модулун Arduino менен колдонуп жатканда, application.h жана spark_wiring_i2c.h китепканасын камтыйт. "application.h" жана spark_wiring_i2c.h китепканасы сенсор менен бөлүкчөнүн ортосундагы i2c байланышын жеңилдетүүчү функцияларды камтыйт.
Колдонуучунун ыңгайлуулугу үчүн бүт бөлүкчө коду төмөндө келтирилген:
#кошуу
#кошуу
// HMC5883 I2C дареги 0x1E (30)
#define Addr 0x1E
int xMag = 0, yMag = 0, zMag = 0;
жараксыз орнотуу ()
{
// Өзгөрмөнү коюу
Particle.variable ("i2cdevice", "HMC5883");
Particle.variable ("xMag", xMag);
Particle.variable ("yMag", yMag);
Particle.variable ("zMag", zMag);
// I2C байланышын MASTER катары баштаңыз
Wire.begin ();
// Сериялык байланышты баштоо, байдын ылдамдыгын орнотуу = 9600
Serial.begin (9600);
// I2C берүүнү баштоо
Wire.beginTransmission (Addr);
// А регистрин конфигурациялоону тандаңыз
Wire.write (0x00);
// Кадимки өлчөө конфигурациясын орнотуңуз, маалыматтын чыгуу ылдамдыгы = 0,75 Гц
Wire.write (0x60);
// I2C берүүнү токтотуу
Wire.endTransmission ();
// I2C берүүнү баштоо
Wire.beginTransmission (Addr);
// Режимди тандаңыз
Wire.write (0x02);
// Үзгүлтүксүз өлчөөнү коюңуз
Wire.write (0x00);
// I2C берүүнү токтотуу
Wire.endTransmission ();
кечигүү (300);
}
боштук цикл ()
{
кол коюлбаган int маалыматтары [6];
// I2C берүүнү баштоо
Wire.beginTransmission (Addr);
// Маалымат реестрин тандоо
Wire.write (0x03);
// I2C берүүнү токтотуу
Wire.endTransmission ();
// 6 байт маалымат сураңыз
Wire.requestFrom (Addr, 6);
// 6 байт маалыматтарды окуңуз
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
эгер (Wire.available () == 6)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
маалымат [3] = Wire.read ();
data [4] = Wire.read ();
маалымат [5] = Wire.read ();
}
кечигүү (300);
// Маалыматты конвертациялоо
xMag = ((маалымат [0] * 256) + маалымат [1]);
эгер (xMag> 32767)
{
xMag -= 65536;
}
zMag = ((маалыматтар [2] * 256) + маалыматтар [3]);
эгер (zMag> 32767)
{
zMag -= 65536;
}
yMag = ((маалыматтар [4] * 256) + маалыматтар [5]);
эгер (yMag> 32767)
{
yMag -= 65536;
}
// Маалыматтарды тактасына чыгаруу
Particle.publish ("X огунда магнит талаасы:", String (xMag));
кечигүү (1000);
Particle.publish ("Y огунда магнит талаасы:", String (yMag));
кечигүү (1000);
Particle.publish ("Z огунда магнит талаасы:", String (zMag));
кечигүү (1000);
}
Particle.
Сенсор чыгаруу үчүн жогорудагы сүрөттө көрсөтүлгөн.
4 -кадам: Тиркемелер:
HMC5883-бул төмөн баалуу компас жана магнитометрия сыяктуу колдонмолор үчүн санарип интерфейси бар, аз талаадагы магниттик сезүү үчүн иштелип чыккан, көп чиптүү модуль. Анын бирден эки даражага чейин жогорку деңгээлдеги тактык жана тактык жөө навигацияны жана LBS тиркемелерин иштетет.
Сунушталууда:
ADXL345 жана Бөлүкчө Фотонун колдонуу менен ылдамданууну өлчөө: 4 кадам
ADXL345 жана Бөлүкчө Фотонун колдонуу менен ылдамдатууну өлчөө: ADXL345-кичинекей, ичке, ультра кубаттуу, 3 октук акселерометр, жогорку чечим (13-бит) ± 16 г чейин. Санарип чыгуучу маалыматтар 16-бит эки катары толукталган жана I2 C санариптик интерфейси аркылуу жеткиликтүү. Ал өлчөйт
HMC5883 жана Raspberry Pi колдонуу менен магниттик талааны өлчөө: 4 кадам
HMC5883 жана Raspberry Pi колдонуу менен магниттик талааны өлчөө: HMC5883-бул аз талаадагы магниттик сезүү үчүн иштелип чыккан санариптик компас. Бул аппараттын магнит талаасынын кенен диапазону +/- 8 Oe жана чыгаруу ылдамдыгы 160 Гц. HMC5883 сенсоруна автоматтык түрдө ажыратуучу боонун драйверлери, ордун жокко чыгаруу жана
HMC5883 жана Arduino Nano колдонуу менен магниттик талааны өлчөө: 4 кадам
HMC5883 жана Arduino Nano аркылуу магниттик талааны өлчөө: HMC5883-бул аз талаадагы магниттик сезүү үчүн иштелип чыккан санариптик компас. Бул аппараттын магнит талаасынын кенен диапазону +/- 8 Oe жана чыгаруу ылдамдыгы 160 Гц. HMC5883 сенсоруна автоматтык түрдө ажыратуучу боонун драйверлери, ордун жокко чыгаруу жана
HIH6130 жана бөлүкчө фотонун колдонуу менен нымдуулукту жана температураны өлчөө: 4 кадам
HIH6130 жана Particle Photon аркылуу нымдуулукту жана температураны өлчөө: HIH6130 - бул санариптик чыгышы бар нымдуулук жана температура сенсору. Бул сенсорлор ± 4% RH тактыгын камсыз кылат. Өнөр жайдын алдыңкы узак мөөнөттүү туруктуулугу, чыныгы температуранын ордун толтуруучу санариптик I2C, индустриянын алдыңкы ишенимдүүлүгү, энергияны үнөмдөө
HTS221 жана бөлүкчө фотонун колдонуу менен нымдуулукту жана температураны өлчөө: 4 кадам
HTS221 жана Particle Photon аркылуу нымдуулукту жана температураны өлчөө: HTS221 - салыштырмалуу нымдуулук жана температура үчүн өтө компакт сыйымдуу санарип сенсор. Бул санариптик серия аркылуу өлчөө маалыматын берүү үчүн сезгич элементти жана аралаш сигналдын атайын интегралдык схемасын (ASIC) камтыйт