Mundarija:
Video: Raspberry Pi MMA8452Q 3 o'qli 12-bitli/8-bitli raqamli akselerometrli Java darsligi: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
MMA8452Q-aqlli, kam quvvatli, uch o'qli, sig'imli, mikromashinali 12 bitli o'lchamli akselerometr. Foydalanuvchilar tomonidan dasturlashtiriladigan moslashuvchan variantlar akselerometrga o'rnatilgan ikkita funktsiya yordamida ta'minlanadi, ular ikkita uzilish pimiga o'rnatiladi. U ± 2g/± 4g/± 8g foydalanuvchi tomonidan tanlanishi mumkin bo'lgan to'liq o'lchovlarga ega, yuqori o'tkazuvchan filtrli filtrlangan ma'lumotlar va real vaqtda mavjud bo'lgan filtrlanmagan ma'lumotlar. Bu erda java kodi yordamida malina pi bilan namoyish.
1 -qadam: Sizga nima kerak.. !
1. Raspberry Pi
2. MMA8452Q
3. I²C kabeli
4. Raspberry Pi uchun I²C qalqoni
5. Ethernet kabeli
2 -qadam: Ulanishlar:
Malinali pi uchun I2C qalqonini oling va uni malina pi gpio pimlariga sekin suring.
Keyin I2C kabelining bir uchini MMA8452Q sensoriga, ikkinchi uchini esa I2C ekraniga ulang.
Ethernet kabelini pi -ga ulang yoki WiFi modulidan foydalanishingiz mumkin.
Ulanishlar yuqoridagi rasmda ko'rsatilgan.
3 -qadam: Kod:
MMA8452Q uchun Java kodini bizning GitHub omboridan yuklab olish mumkin- Dcube do'koni
Mana shu havola:
github.com/DcubeTechVentures/MMA8452Q
Biz Java kodi uchun pi4j kutubxonasidan foydalandik, malina pi ga pi4j o'rnatish bosqichlari bu erda tasvirlangan:
pi4j.com/install.html
Siz bu erdan kodni nusxalashingiz mumkin, u quyidagicha berilgan:
// Ixtiyoriy litsenziya bilan tarqatilgan.
// Agar xohlasangiz, foyda yoki tekin ishlating, agar u tegishli asarlar litsenziyalariga mos kelsa.
// MMA8452Q
// Bu kod Dcube do'konida mavjud MMA8452Q_I2CS I2C Mini moduli bilan ishlash uchun mo'ljallangan.
com.pi4j.io.i2c. I2CBus -ni import qilish;
com.pi4j.io.i2c. I2CDevice -ni import qilish;
com.pi4j.io.i2c. I2CFactory -ni import qilish;
java.io. IOException ni import qilish;
umumiy sinf MMA8452Q
{
public static void main (String args ) istisno qiladi
{
// I2C avtobusini yarating
I2CBus avtobus = I2CFactory.getInstance (I2CBus. BUS_1);
// I2C qurilmasini oling, MMA8452Q I2C manzili 0x1C (28)
I2CDevice qurilmasi = bus.getDevice (0x1C);
// Kutish buyrug'ini yuborish
device.write (0x2A, (bayt) 0x00);
// Faol buyruq yuborish
device.write (0x2A, (bayt) 0x01);
// +/- 2 g gacha bo'lgan diapazonni o'rnating
device.write (0x0E, (bayt) 0x00);
Thread.sleep (500);
// 0x00 (0) manzilidan 7 bayt ma'lumotni o'qing
// Status, X msb, X lsb, Y msb, Y lsb, Z msb, Z lsb
bayt ma'lumotlar = yangi bayt [7];
device.read (0x00, ma'lumotlar, 0, 7);
// Qiymatlarni aylantiring
int xAccl = (((ma'lumotlar [1] & 0xFF) * 256) + (ma'lumotlar [2] & 0xFF)) / 16;
agar (xAccl> 2047)
{
xAccl = xAccl - 4096;
}
int yAccl = (((ma'lumotlar [3] & 0xFF) * 256) + (ma'lumotlar [4] & 0xFF)) / 16;
agar (yAccl> 2047)
{
yAccl = yAccl - 4096;
}
int zAccl = (((ma'lumotlar [5] & 0xFF) * 256) + (ma'lumotlar [6] & 0xFF)) / 16;
agar (zAccl> 2047)
{
zAccl = zAccl - 4096;
}
// Ma'lumotni ekranga chiqarish
System.out.printf ("X o'qi: %d %n", xAccl);
System.out.printf ("Y o'qi: %d %n", yAccl);
System.out.printf ("Z o'qi: %d %n", zAccl);
}
}
4 -qadam: Ilovalar:
MMA8452Q turli xil ilovalarga ega, ular orasida elektron kompas ilovalari, statik yo'nalishni aniqlash, portret/landshaft, yuqoriga/pastga, chapga/o'ngga, orqaga/oldingi holatni aniqlash, daftar, elektron o'quvchi, noutbukning qulashi va tushishini aniqlash, real vaqtda. yo'nalishlarni aniqlash, shu jumladan virtual haqiqat va o'yindagi 3D foydalanuvchi pozitsiyasi haqidagi fikr-mulohazalar, pedometr qadamlarini sanash, HDD uchun tushishni aniqlash, o'lik hisob-kitobli GPS zaxirasi va boshqalar kabi real vaqtda faoliyatni tahlil qilish.
Tavsiya:
Raspberry Pi - TMD26721 infraqizil raqamli yaqinlik detektori Java darsligi: 4 qadam
Raspberry Pi-TMD26721 infraqizil raqamli yaqinlik detektori Java qo'llanmasi: TMD26721-bu infraqizil raqamli yaqinlik detektori bo'lib, u to'liq 8-pinli sirt o'rnatish modulida to'liq yaqinlikni aniqlash tizimi va raqamli interfeys mantig'ini ta'minlaydi. aniqlik. Pro
Raspberry Pi - ADXL345 3 o'qli akselerometr Java darsligi: 4 qadam
Raspberry Pi-ADXL345 3 o'qli akselerometr Java qo'llanmasi: ADXL345-bu kichik, ingichka, ultra quvvatli, 3 o'qli akselerometr, yuqori aniqlikdagi (13 bitli) o'lchami ± 16 g gacha. Raqamli chiqish ma'lumotlari 16 bitli ikkita qo'shimcha sifatida formatlangan va I2 C raqamli interfeysi orqali kirish mumkin. O'lchovlar
Raspberry Pi - BH1715 Raqamli yorug'lik sensori Python darsligi: 4 qadam
Raspberry Pi - BH1715 Raqamli atrof -muhit yorug'lik sensori Python qo'llanmasi: BH1715 - bu I²C avtobus interfeysiga ega raqamli muhit yorug'lik sensori. BH1715 odatda mobil qurilmalar uchun LCD va klaviatura orqa nuri quvvatini sozlash uchun atrofdagi yorug'lik ma'lumotlarini olish uchun ishlatiladi. Ushbu qurilma 16-bitli piksellar sonini va sozlovchini taklif qiladi
Raspberry Pi - BH1715 Raqamli muhit yorug'lik sensori Java darsligi: 4 qadam
Raspberry Pi - BH1715 Raqamli atrof -muhit yorug'lik sensori Java darsligi: BH1715 - bu I²C avtobus interfeysiga ega raqamli muhit yorug'lik sensori. BH1715 odatda mobil qurilmalar uchun LCD va klaviatura orqa nuri quvvatini sozlash uchun atrofdagi yorug'lik ma'lumotlarini olish uchun ishlatiladi. Ushbu qurilma 16-bitli piksellar sonini va sozlovchini taklif qiladi
DigiLevel - ikki o'qli raqamli daraja: 13 qadam (rasmlar bilan)
DigiLevel - ikki o'qli raqamli daraja: Bu ko'rsatmalarni ilhomlantiruvchi bu erda GreatScottLab tomonidan topilgan DIY raqamli ruh darajasi. Menga bu dizayn yoqdi, lekin grafik interfeysi kattaroq displeyga ega bo'lishni xohlardim. Men, shuningdek, elektronikani yaxshiroq o'rnatish variantlarini xohlardim