Mundarija:
Video: Raspberry Pi - ADXL345 3 o'qli akselerometr Java darsligi: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
ADXL345-bu kichik, ingichka, ultra quvvatli, 3 o'qli akselerometr, yuqori aniqlikdagi (13 bitli) ± 16 g gacha. Raqamli chiqish ma'lumotlari 16 bitli ikkita qo'shimcha sifatida formatlangan va I2 C raqamli interfeysi orqali kirish mumkin. Nishab olishda tortishish statik tezlanishini, shuningdek harakat yoki zarba natijasida dinamik tezlanishni o'lchaydi. Uning yuqori aniqligi (3,9 mg/LSB) moyillik o'zgarishlarini 1,0 ° dan past o'lchash imkonini beradi. Bu erda malina pi bilan Java kodi yordamida namoyish.
1 -qadam: Sizga nima kerak.. !
1. Raspberry Pi
2. ADXL345
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 ADXL345 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:
ADXL345 uchun java kodini bizning GitHub omboridan yuklab olish mumkin- Dcube do'koni
Mana shu havola:
github.com/DcubeTechVentures/ADXL345
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.
// ADXL345
// Bu kod Dcube do'konida mavjud ADXL345_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 ADXL345
{
public static void main (String args ) istisno qiladi
{
// I2C avtobusini yarating
I2CBus avtobus = I2CFactory.getInstance (I2CBus. BUS_1);
// I2C qurilmasini oling, qurilma I2C manzili 0x53 (83)
I2CDevice qurilmasi = Bus.getDevice (0x53);
// Tarmoqli kengligi tezligi registrini tanlang
// Oddiy rejim, Chiqish ma'lumoti tezligi = 100 Gts
device.write (0x2C, (bayt) 0x0A);
// Quvvatni boshqarish registrini tanlang
// Avtomatik uyquni o'chirish
device.write (0x2D, (bayt) 0x08);
// Ma'lumotlar formati registrini tanlang
// O'z-o'zini sinab ko'rish o'chirilgan, 4 simli interfeys, To'liq aniqlik, diapazon = +/- 2g
device.write (0x31, (bayt) 0x08);
Thread.sleep (500);
// 6 bayt ma'lumotni o'qing
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
bayt ma'lumotlar = yangi bayt [6];
ma'lumotlar [0] = (bayt) device.read (0x32);
ma'lumotlar [1] = (bayt) device.read (0x33);
ma'lumotlar [2] = (bayt) device.read (0x34);
ma'lumotlar [3] = (bayt) device.read (0x35);
ma'lumotlar [4] = (bayt) device.read (0x36);
ma'lumotlar [5] = (bayt) device.read (0x37);
// Ma'lumotni 10 bitga aylantiring
int xAccl = ((ma'lumotlar [1] & 0x03) * 256 + (ma'lumotlar [0] & 0xFF));
agar (xAccl> 511)
{
xAccl -= 1024;
}
int yAccl = ((ma'lumotlar [3] & 0x03) * 256 + (ma'lumotlar [2] & 0xFF));
agar (yAccl> 511)
{
yAccl -= 1024;
}
int zAccl = ((ma'lumotlar [5] & 0x03) * 256 + (ma'lumotlar [4] & 0xFF));
agar (zAccl> 511)
{
zAccl -= 1024;
}
// Ma'lumotni ekranga chiqarish
System.out.printf ("X o'qida tezlashtirish: %d %n", xAccl);
System.out.printf ("Y o'qida tezlashtirish: %d %n", yAccl);
System.out.printf ("Z o'qida tezlashtirish: %d %n", zAccl);
}
}
4 -qadam: Ilovalar:
ADXL345-bu kichik, ingichka, ultra quvvatli, 3 o'qli akselerometr bo'lib, u telefonlar, tibbiy asboblar va boshqalarda qo'llanilishi mumkin. O'yin va ishora asboblari, sanoat asboblari, shaxsiy navigatsiya qurilmalari va qattiq disk (HDD) himoyasini o'z ichiga oladi.
Tavsiya:
Arduino Nano-MMA8452Q 3 o'qli 12 bitli/8 bitli raqamli akselerometr bo'yicha qo'llanma: 4 qadam
Arduino Nano-MMA8452Q 3-o'qli 12-bitli/8-bitli raqamli akselerometr bo'yicha qo'llanma: MMA8452Q-bu 12 bitli, aqlli, kam quvvatli, uch o'qli, sig'imli, mikromaxinli akselerometr. Foydalanuvchilar tomonidan dasturlashtiriladigan moslashuvchan variantlar akselerometrga o'rnatilgan ikkita funktsiya yordamida ta'minlanadi, ular ikkita uzilishga o'rnatiladi
Raspberry Pi MMA8452Q 3 o'qli 12-bitli/8-bitli raqamli akselerometr Python qo'llanmasi: 4 qadam
Raspberry Pi MMA8452Q 3-o'qli 12-bitli/8-bitli raqamli akselerometr Python qo'llanmasi: MMA8452Q-bu 12 bitli aniqlikdagi aqlli, kam quvvatli, uch o'qli, sig'imli, mikromashinli akselerometr. Foydalanuvchilar tomonidan dasturlashtiriladigan moslashuvchan variantlar akselerometrga o'rnatilgan ikkita funktsiya yordamida ta'minlanadi, ular ikkita uzilishga o'rnatiladi
Python yordamida Raspberry Pi va LIS3DHTR, 3 o'qli akselerometr yordamida harakatni boshqarish: 6 qadam
Python yordamida Raspberry Pi va LIS3DHTR, 3 o'qli akselerometr yordamida harakatni boshqarish: Go'zallik bizni o'rab oladi, lekin odatda biz buni bilish uchun bog'da yurishimiz kerak. - Biz o'qimishli guruh sifatida biz energiyamizning katta qismini kompyuter va mobil telefonlarimizdan oldin sarflaymiz. Shuning uchun, biz tez -tez o'z sog'ligimizga ruxsat beramiz
Raspberry Pi MMA8452Q 3 o'qli 12-bitli/8-bitli raqamli akselerometrli Java darsligi: 4 qadam
Raspberry Pi MMA8452Q 3-o'qli 12-bitli/8-bitli raqamli akselerometr Java darsligi: MMA8452Q-bu 12 bitli aniqlikdagi aqlli, kam quvvatli, uch o'qli, sig'imli, mikromaxinli akselerometr. Foydalanuvchilar tomonidan dasturlashtiriladigan moslashuvchan variantlar akselerometrga o'rnatilgan ikkita funktsiya yordamida ta'minlanadi, ular ikkita uzilishga o'rnatiladi
Pi bo'yicha dastlabki* SPI: Raspberry Pi yordamida SPI 3 o'qli akselerometr bilan aloqa: 10 qadam
Pi bo'yicha dastlabki* SPI: Raspberry Pi yordamida SPI 3 o'qli akselerometr bilan aloqa: Raspbianni sozlash va bcm2835 SPI kutubxonasi yordamida SPI qurilmasi bilan muloqot qilish bo'yicha bosqichma-bosqich ko'rsatma (bit urilmagan!) Bu hali juda oldindan … Men jismoniy bog'lanishning yaxshiroq rasmlarini qo'shishim va ba'zi noqulay kodlar ustida ishlashim kerak