Мазмуну:
- 1 -кадам: Биз талап кылган негизги жабдыктар
- 2 -кадам: Аппаратты туташтыруу
- 3 -кадам: Raspberry Pi үчүн Python коддоо
- 4 -кадам: Кодекстин практикалуулугу
- 5 -кадам: Тиркемелер жана өзгөчөлүктөр
- 6 -кадам: Жыйынтык
Video: 3-октук акселерометр, ADXL345 Python колдонуу менен Raspberry Pi менен: 6 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Сиздин Offroader созулуп кете турган чекитти текшере турган гаджет жөнүндө ойлонуу. Кимдир бирөө оодарылып кетүү мүмкүнчүлүгү болгондо жөнгө салынса, жагымдуу болмок эмес беле? Ооба. Бул тоого жана иш сапарларга барууну жакшы көргөн адамдар үчүн абдан пайдалуу болмок.
Албетте, IOT алдыга жылдырылган фигуралык баалоонун эң сонун мезгили. Гаджеттерди жана Программалоону сүйүүчүлөр катары, биз ишенебиз, Raspberry Pi, micro Linux PC жалпы адамдардын чыгармачылык жөндөмдүүлүктөрүн дарылап, инновациялык методологияны колдоп жүрдү. Ошентип, жакын жерде Raspberry Pi жана 3-октук акселерометр болгон учурда эмне кылсак болот? Биз ачышыбыз керек! Бул тапшырмада биз 3 огунда ылдамданууну сезебиз, X, Y жана Z Raspberry Pi жана ADXL345, 3 огунун акселерометрин колдонушат. Ошентип, биз бул экскурсияда 3 өлчөмдүү ылдамданууну же G-Force'ту өлчөө үчүн алкак түзүү үчүн байкоо жүргүзүшүбүз керек.
1 -кадам: Биз талап кылган негизги жабдыктар
Бизде көйгөйлөр азыраак болчу, анткени бизде иштей турган көптөгөн нерселер бар. Ошентсе да, биз башкалар үчүн ыңгайлуу жерден туура бөлүктү кемчиликсиз убакта чогултуу канчалык кыйын экенин билебиз жана бул ар бир тыйынга карабай акталат. Андыктан биз бардык аймактарда сизге жардам бермекпиз. Бөлүктөрдүн толук тизмесин алуу үчүн төмөнкүлөрдү окуңуз.
1. Raspberry Pi
Биринчи кадам Raspberry Pi тактасын алуу болду. Бул кичинекей, кубаты аз компьютер электроника ишканалары, Интернет нерселери (IoT), Акылдуу шаарлар, Мектепте билим берүү үчүн арзан жана жалпысынан жөнөкөй базаны камсыз кылат.
2. Raspberry Pi үчүн I2C Shield
Raspberry Pi чындыгында жетишпей жаткан эң башкы нерсе - бул I²C порту. Ошентип, TOUTPI2 I²C туташтыргычы Rasp Pi'ни MULTIPLE I²C түзмөктөрү менен колдонуу сезимин берет. Бул DCUBE дүкөнүндө жеткиликтүү
3. 3-октук акселерометр, ADXL345
Аналогдук түзмөктөр тарабынан даярдалган ADXL345, ± 16g чейин жогорку чечим 13-бит өлчөө менен аз кубаттуу 3 огу акселерометр болуп саналат. Биз бул сенсорду DCUBE дүкөнүнөн сатып алдык
4. Кабелди туташтыруу
Бизде DCUBE дүкөнүндө жеткиликтүү I2C туташтыруу кабели бар болчу
5. Микро USB кабели
Эң кичине башаламан, бирок күчкө муктаждыктын эң катуулугу - бул Raspberry Pi! Raspberry Pi'ди иштетүү үчүн эң оңой мамиле Micro USB кабели аркылуу болот.
6. Интернетке кирүү - бул муктаждык
Интернетке кирүү жергиликтүү тармак жана интернет менен байланышкан Ethernet (LAN) кабели аркылуу күчөтүлүшү мүмкүн. Башка жагынан алганда, сиз USB зымсыз түйүнү аркылуу зымсыз тармак менен байланыша аласыз, бул конфигурацияны талап кылат.
7. HDMI Cable/Remote Access
Борттогу HDMI кабели менен аны санариптик телекөрсөтүүгө же мониторго туташтырсаңыз болот. Акчаны аябоо керек! Raspberry Pi, SSH жана Интернет аркылуу кирүү сыяктуу айырмалоочу стратегияларды алыстан алса болот. Сиз PuTTYopen булак программасын колдоно аласыз.
2 -кадам: Аппаратты туташтыруу
Схеманы пайда болгон схемага ылайык жасаңыз. Контурду түзүңүз жана конфигурациядан кийин атайылап алыңыз.
Raspberry Pi жана I2C Shieldдин туташуусу
Баарынан маанилүүсү, Raspberry Pi алып, I2C Shieldди байкаңыз. Калканды Пионун GPIO төөнөгүчтөрүнүн үстүнөн кылдат басыңыз жана биз бул прогрессти пирог сыяктуу жөнөкөй кылып бүтүрдүк (үзүндүнү караңыз).
Сенсор менен Raspberry Pi байланышы
Сенсорду жана I2C кабелин ал менен кошо алыңыз. Бул кабелдин туура иштеши үчүн, I2C Output ар дайым I2C Input менен байланышы бар экенин эске алыңыз. I2C калканчынын үстүнө GPIO казыктары орнотулган Raspberry Pi үчүн да ушундай кылыш керек.
Биз I2C кабелин колдонууну жазып беребиз, анткени ал кичинекей катачылыктын кесепеттеринен, ширетүүдөн жана оорудан баш тартуу талабын жокко чыгарат. Бул негизги туташтыруу жана ойнотуу кабели менен сиз түзмөктү киргизе, алмаштырып же башка түзмөктөрдү оңой эле кошо аласыз. Бул нерселерди татаалдаштырат.
Эскертүү: күрөң зым ишенимдүү түрдө бир түзмөктүн чыгышы менен башка түзмөктүн киришинин ортосундагы Ground (GND) байланышын аткарышы керек
Желе түйүнү ачкыч болуп саналат
Ишканабызды жеңишке жеткирүү үчүн, биз Raspberry Pi үчүн веб -туташууну талап кылабыз. Бул үчүн сизде үй тутуму менен Ethernet (LAN) кабелин туташтыруу сыяктуу альтернатива бар. Кошумча катары, бирок, оптималдуу жол, WiFi туташтыргычын колдонуу. Бул үчүн кээде айдоочунун иштешин талап кылат. Ошентип, сүрөттөмөдө Linux менен болгон мамилеге ыктаңыз.
Электр камсыздоо
Micro USB кабелин Raspberry Pi'дин кубат уячасына сайыңыз. Аны күйгүзүңүз, биз барганыбыз жакшы.
Экранга туташуу
Биз HDMI кабелин башка экран менен байланыштыра алабыз. Кээ бир учурларда, сиз Raspberry Pi'ге экранга кирбестен жетишиңиз керек же кээ бир маалыматтарды башка жактан көрүшүңүз керек болот. Кыязы, инновациялык жана финансылык жактан акылдуу ыкмалар бар. Алардын бири - SSH (командалык сапка алыстан кирүү) колдонуу. Сиз ошондой эле PuTTY программасын колдоно аласыз.
3 -кадам: Raspberry Pi үчүн Python коддоо
Raspberry Pi жана ADXL345 сенсорунун Python коду биздин Github репозиторийибизде жеткиликтүү.
Кодго өтүүдөн мурун, Readme документинде берилген көрсөтмөлөрдү окуп чыкканыңызга ишениңиз жана Raspberry Pi'иңизди ага ылайык орнотуңуз. Мындай кылуу үчүн бир мүнөткө гана тыным болот.
Акселерометр - туура ылдамданууну өлчөөчү прибор; туура ылдамдануу координаттык ылдамдатууга окшош эмес (ылдамдыктын өзгөрүү ылдамдыгы). Акселерометрдин бирдиктүү жана көп октуу моделдери вектордук чоңдук катары тийиштүү ылдамдатуунун чоңдугун жана багытын аныктоо үчүн жеткиликтүү жана ориентацияны, ылдамданууну, дирилдөөнү, шокту жана каршылыктуу чөйрөдө түшүүнү сезүү үчүн колдонулушу мүмкүн.
Код сиздин алдыңызда ачык жана сиз элестете турган эң жөнөкөй түзүмдө жана сизде эч кандай маселе болбошу керек.
# Эркин лицензия менен бөлүштүрүлгөн.# Аны каалагандай колдон, пайда же бекер, эгер ал тиешелүү эмгектеринин лицензиясына туура келсе. # ADXL345 # Бул код dcubestore.com жеткиликтүү ADXL345_I2CS I2C Mini Module менен иштөө үчүн иштелип чыккан # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -модуль/
smbus импорттоо
импорттоо убактысы
# I2C автобусун алыңыз
автобус = smbus. SMBus (1)
# ADXL345 дареги, 0x53 (83)
# Тандоо өткөрүү жөндөмдүүлүгүнүн регистрин тандаңыз, 0x2C (44) # 0x0A (10) Кадимки режим, Чыгуу маалыматынын ылдамдыгы = 100 Гц bus.write_byte_data (0x53, 0x2C, 0x0A) # ADXL345 дареги, 0x53 (83) # Күчтү башкаруу регистрин тандоо, 0x2D (45) # 0x08 (08) Auto Sleep өчүрүү bus.write_byte_data (0x53, 0x2D, 0x08) # ADXL345 дареги, 0x53 (83) # Маалымат форматынын регистрин тандоо, 0x31 (49) # 0x08 (08) Өзүн текшерүү өчүрүлгөн, 4-зым интерфейс # Толук чечилиш, Диапазон = +/- 2g bus.write_byte_data (0x53, 0x31, 0x08)
убакыт.уйку (0.5)
# ADXL345 дареги, 0x53 (83)
# 0x32 (50) маалыматтарын кайра окуу, 2 байт # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x53, 0x32) data1 = bus.read_byte_data (0x53, 0x33)
# Маалыматтарды 10 битке айландырыңыз
xAccl = ((data1 & 0x03) * 256) + data0 if xAccl> 511: xAccl -= 1024
# ADXL345 дареги, 0x53 (83)
# 0x34 (52) маалыматтарын кайра окуу, 2 байт # Y-Axis LSB, Y-Axis MSB data0 = bus.read_byte_data (0x53, 0x34) data1 = bus.read_byte_data (0x53, 0x35)
# Маалыматтарды 10 битке айландырыңыз
yAccl = ((data1 & 0x03) * 256) + data0 if yAccl> 511: yAccl -= 1024
# ADXL345 дареги, 0x53 (83)
# 0x36 (54) маалыматтарын кайра окуу, 2 байт # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data (0x53, 0x36) data1 = bus.read_byte_data (0x53, 0x37)
# Маалыматтарды 10 битке айландырыңыз
zAccl = ((data1 & 0x03) * 256) + data0 эгер zAccl> 511: zAccl -= 1024
# Экранга маалыматтарды чыгаруу
басып чыгаруу "X огунда ылдамдануу: %d" %xAccl басып чыгаруу "Y огунда ылдамдануу: %d" %yAccl print "Z огунда ылдамдануу: %d" %zAccl
4 -кадам: Кодекстин практикалуулугу
Githubдан кодду жүктөп алыңыз (же git pull) жана аны Raspberry Piден ачыңыз.
Терминалга кодду компиляциялоо жана жүктөө үчүн буйруктарды аткарыңыз жана монитордогу чыгууну көрүңүз. Бир нече мүнөттөн кийин, ал параметрлердин ар бирин көрсөтөт. Баары оңой иштешин камсыз кылгандан кийин, сиз бул ишти чоңураак ишке ашыра аласыз.
5 -кадам: Тиркемелер жана өзгөчөлүктөр
ADXL345-кичине, ичке, ультра кубаттуу, 3 октук акселерометр, ± 16 г чейин жогорку чечилиште (13-бит) өлчөө. ADXL345 уюлдук телефондор үчүн ылайыктуу. Бул эңкейүүнү аныктоочу колдонмолордо тартылуу күчүнүн статикалык ылдамдатуусун жана кыймыл же соккудан улам боло турган динамикалык ылдамдатууну аныктайт. Башка колдонмолорго Трубкалар, Медициналык приборлор, Оюн жана Көрсөтүү Приборлору, Өнөр жай Приборлору, Жеке Навигациялык Түзмөктөр жана Катуу Дисктин Коргоосу (HDD) кирет.
6 -кадам: Жыйынтык
Бул тапшырма кийинки эксперименттерге түрткү болот деп үмүттөнөбүз. Бул I2C сенсор өзгөчө ийкемдүү, арзан жана жеткиликтүү. Бул чоң даражада туруктуу эмес система болгондуктан, бул тапшырманы кеңейтүүнүн жана аны жакшыртуунун кызыктуу жолдору бар.
Мисалы, ADXL345 жана Raspberry Pi менен инклинометрдин идеясын баштасаңыз болот. Жогорудагы долбоордо биз негизги эсептөөлөрдү колдондук. Сиз G-баалуулуктар үчүн кодду импровизациялай аласыз, эңиштин бурчтары (же эңкейиши), тартылуу күчүнө карата нерсенин бийиктиги же чөгүшү. Андан кийин, ролл үчүн бурулуш бурчтары сыяктуу алдын ала тандоолорду текшере аласыз (алдыңкы арткы огу, X), чайыр (капталдан огуна, Y) жана yaw (вертикалдуу огу, Z). Бул акселерометр 3-D G-күчтөрүн көрсөтөт. Ошентип, бул сенсорду ар кандай жолдор менен колдонсоңуз болот.
Сиздин ыңгайлуулугуңуз үчүн, бизде YouTubeда иликтөөңүзгө жардам бере турган кызыктуу видео инструкциясы бар. Ишеним бул ишкана мындан аркы изилдөөлөргө түрткү болот. Ой жүгүртүүнү улантыңыз! Дагы көп нерселер келе жаткандыктан издөөнү унутпаңыз.
Сунушталууда:
ADXL345 жана Бөлүкчө Фотонун колдонуу менен ылдамданууну өлчөө: 4 кадам
ADXL345 жана Бөлүкчө Фотонун колдонуу менен ылдамдатууну өлчөө: ADXL345-кичинекей, ичке, ультра кубаттуу, 3 октук акселерометр, жогорку чечим (13-бит) ± 16 г чейин. Санарип чыгуучу маалыматтар 16-бит эки катары толукталган жана I2 C санариптик интерфейси аркылуу жеткиликтүү. Ал өлчөйт
Python колдонуу менен Raspberry Pi жана MXC6226XU менен Багыттоону изилдөө: 6 кадам
Python колдонуу менен Raspberry Pi жана MXC6226XU менен Багыттоону үйрөнүү: Ызы -чуу - бул жөн гана машине менен иштөөнүн бир бөлүгү. Дөңгөлөктөр жолдо ызылдашат, шамал айнектерди, пластикалык тетиктерди жана панелдин бөлүктөрүн айланып бара жатканда кыйкырат
ADXL345 жана Arduino Nano колдонуу менен ылдамданууну өлчөө: 4 кадам
ADXL345 жана Arduino Nano колдонуу менен ылдамдатууну өлчөө: ADXL345-кичинекей, ичке, ультра кубаттуу, 3 октук акселерометр, ± 16 г чейин жогорку чечим (13-бит) менен өлчөө. Санарип чыгуучу маалыматтар 16-бит эки катары толукталган жана I2 C санариптик интерфейси аркылуу жеткиликтүү. Ал өлчөйт
Ардуино менен 2.4Ghz NRF24L01 модулун колдонуу менен зымсыз алыстан башкаруу - Nrf24l01 4 каналы / 6 каналды берүүчү Quadcopter үчүн алуучу - Rc Helicopter - Rc учагы Arduino колдонуу: 5 кадам (сүрөттөр менен)
Ардуино менен 2.4Ghz NRF24L01 модулун колдонуу менен зымсыз алыстан башкаруу | Nrf24l01 4 каналы / 6 каналды берүүчү Quadcopter үчүн алуучу | Rc Helicopter | Arduino менен Rc учагы: Rc машинасын иштетүү | Quadcopter | Дрон | RC учагы | RC кайыгы, бизге дайыма рецептор жана өткөргүч керек, RC QUADCOPTER үчүн бизге 6 каналдуу өткөргүч жана кабыл алгыч керек деп ойлойбуз жана TX менен RXтин бул түрү өтө кымбат, ошондуктан биз аны өзүбүздө жасайбыз
Pi боюнча алдын ала* SPI: Raspberry Pi менен SPI 3-огу акселерометр менен байланыш: 10 кадам
Алдын ала* Пи боюнча SPI: Raspberry Pi менен SPI 3 огунун акселерометри менен байланыш: Raspbianди кантип орнотуу боюнча кадамдык көрсөтмө жана bcm2835 SPI китепканасын колдонуп SPI түзмөгү менен баарлашуу (Бит эмес!) Бул дагы эле абдан алдын ала … Мен физикалык туташуунун жакшыраак сүрөттөрүн кошуп, ыңгайсыз коддун айрымдары аркылуу иштешим керек