Мазмуну:

Raspberry Pi жана AIS328DQTR менен Python колдонуп ылдамдатууга мониторинг: 6 кадам
Raspberry Pi жана AIS328DQTR менен Python колдонуп ылдамдатууга мониторинг: 6 кадам

Video: Raspberry Pi жана AIS328DQTR менен Python колдонуп ылдамдатууга мониторинг: 6 кадам

Video: Raspberry Pi жана AIS328DQTR менен Python колдонуп ылдамдатууга мониторинг: 6 кадам
Video: Waveshare Ethernet / USB HAT — дополнительные порты для миниатюрных плат Raspberry Pi Zero и Model A 2024, Декабрь
Anonim
Image
Image

Ылдамдануу чектүү, мен физиканын кээ бир мыйзамдарына ылайык деп ойлойм.- Терри Райли

Гепард кууп баратканда укмуш ылдамданууну жана ылдамдыктын тез өзгөрүшүн колдонот. Жээкте эң ылдам жашаган жандык бир убакта жырткычты кармоо үчүн эң жогорку ылдамдыгын колдонот. Жандыктар бул ылдамдыкты 100 метрге чуркоодо Усэйн Болттон дээрлик беш эсе көп күч колдонуу менен алышат.

Азыркы учурда, адамдар инновациясыз өздөрүнүн жашоосун элестете алышпайт. Бизди курчап турган ар кандай инновациялар адамдарга ашыкча ысырапкорчулук менен жашоосун улантууга жардам берип жатат. Raspberry Pi, мини, бир такталуу Linux PC, IoT, Smart Cities жана School Education сыяктуу электроникалык аракеттерге жана алдыңкы ийгиликтерге арзан жана кадырлуу базаны берет. Компьютердин жана гаджеттердин күйөрмандары катары биз Raspberry Pi менен бир топ чараларды көрүп, кызыкчылыктарыбызды аралаштырууну чечтик. Демек, жакын жерде Raspberry Pi жана 3-октук акселерометр бар болсо, биз эмне кылышыбыз мүмкүн болгон натыйжалар бар? Бул тапшырмада биз AIS328DQTR, санарип 3 огу MEMS сызыктуу акселерометр сенсорун 3 багытта ылдамдатууну өлчөө үчүн X, Y жана Z, Raspberry Pi менен Python колдонобуз. Бул карап чыгууга татыктуу.

1 -кадам: Биз талап кылган жабдыктар

Биз талап кылган жабдыктар
Биз талап кылган жабдыктар
Биз талап кылган жабдыктар
Биз талап кылган жабдыктар

Бизде көйгөйлөр азыраак болчу, анткени бизде иштей турган чоң нерселер бар. Кандай болбосун, биз башкалар үчүн керектүү бөлүктү күчтүү жерден алып салуу кандай кыйын экенин билебиз жана бул ар бир тыйынга анча деле көңүл бурбай корголгон. Ошентип, биз сизге жардам бермекпиз.

1. Raspberry Pi

Биринчи кадам Raspberry Pi тактасын алуу болду. Raspberry Pi - бул Linux негизиндеги жалгыз такта. Бул кичинекей компьютерде электроникалык көнүгүүлөрдүн бир бөлүгү катары колдонулган каттоочу күч, ошондой эле компьютердик таблицалар, текст иштетүү, веб -серфинг, электрондук почта жана оюндар сыяктуу операциялар бар. Сиз каалаган электроника же хобби дүкөнүнөн сатып ала аласыз.

2. Raspberry Pi үчүн I2C Shield

Raspberry Pi чындыгында жок болгон негизги көйгөй I2C порту. Ошентип, TOUTPI2 I2C туташтыргычы Raspberry Pi'ди каалаган Кандайдыр бир I2C түзмөгү менен колдонуу сезимин берет. БулDCUBE Storeдо жеткиликтүү

3. 3-октук акселерометр, AIS328DQTR

STMicroelectronics кыймыл датчиктерине таандык, AIS328DQTR-бул санариптик сериялуу интерфейси бар SPI стандарттуу өндүрүмү бар, өтө аз кубаттуулугу жогору 3-октук сызыктуу акселерометр. Биз бул сенсорду DCUBE дүкөнүнөн сатып алдык

4. Кабелди туташтыруу

Биз DCUBE дүкөнүнөн I2C туташуу кабелин алдык

5. Микро USB кабели

Момун эң баш аламан, бирок күчкө муктаждыктын эң катуулугу - бул Raspberry Pi! Оюн планы менен күрөшүүнүн эң оңой жолу Micro USB кабелин колдонуу болуп саналат. GPIO казыктары же USB порттору ушундай эле түрдө электр энергиясын жетиштүү берүү үчүн колдонулушу мүмкүн.

6. Интернетке кирүү - бул муктаждык

Ethernet (LAN) кабели менен байланышкан Raspberry Piңизди алыңыз жана аны тармагыңызга туташтырыңыз. Башка жагынан алганда, WiFi туташтыргычын издеп, алыскы тармакка жетүү үчүн USB портторунун бирин колдонуңуз. Бул курч чечим, негизги, кичинекей жана жөнөкөй!

7. HDMI Cable/Remote Access

Raspberry Pi'де HDMI порту бар, аны сиз өзгөчө HDMI кабели менен мониторго же сыналгыга туташтыра аласыз. Тандалма, сиз Linux PC же Macintoshтон Raspberry Pi менен тарбиялоо үчүн SSHди колдоно аласыз. Ошондой эле, PuTTY, бекер жана ачык булак терминалдык эмулятору жаман тандоо эмес.

2 -кадам: Аппаратты туташтыруу

Аппаратты туташтыруу
Аппаратты туташтыруу
Аппаратты туташтыруу
Аппаратты туташтыруу
Аппаратты туташтыруу
Аппаратты туташтыруу

Схемада көрсөтүлгөндөй схеманы көрсөтүңүз. Графикте сиз ар кандай бөлүктөрдү, кубат фрагменттерин жана I2C сенсорун көрөсүз.

Raspberry Pi жана I2C Shield туташуусу

Эң башкысы, Raspberry Pi алып, I2C Shieldди байкаңыз. Калканды Пионун GPIO төөнөгүчтөрүнүн үстүнөн кылдат басыңыз жана биз бул кадамды пирог сыяктуу оңой эле бүтүрөбүз (үзүндүнү караңыз).

Raspberry Pi жана Sensor Connection

Сенсорду жана I2C кабелин аны менен кошо алыңыз. Бул кабелдин ылайыктуу иштеши үчүн I2C Output ар дайым I2C киргизүү менен таанышып чыгыңыз. GPIO казыктарына орнотулган I2C калканы менен Raspberry Pi үчүн да ушундай кылыш керек.

Биз I2C кабелин колдонууну кубаттайбыз, анткени ал пинуттарды кесүү, камсыз кылуу жана убара кылуу менен аткарылган убарачылыкты жокко чыгарат. Бул маанилүү ассоциация жана ойноо кабели менен сиз ылайыктуу колдонмого презентация жасай аласыз, алмаштыра аласыз же башка гаджеттерди кошо аласыз. Бул иш салмагын эбегейсиз деңгээлге чейин колдойт.

Эскертүү: күрөң зым ишенимдүү түрдө бир түзмөктүн чыгышы менен башка түзмөктүн киришинин ортосундагы Ground (GND) байланышын аткарышы керек

Желе түйүнү ачкыч болуп саналат

Биздин аракетибизди жеңиш үчүн, Raspberry Pi үчүн веб -туташууну талап кылабыз. Бул үчүн сизде Ethernet (LAN) интерфейси сыяктуу үй тармагына кошулуу сыяктуу мүмкүнчүлүктөр бар. Мындан тышкары, опция катары, жагымдуу курс - WiFi USB коннекторун колдонуу. Жалпысынан айтканда, бул иштөө үчүн айдоочудан талап кылынат. Ошентип, сүрөттөмөдө Linux менен болгон мамилеге ыктаңыз.

Электр камсыздоо

Micro USB кабелин Raspberry Pi'дин кубат уячасына сайыңыз. Чыккыла, биз даярбыз.

Экранга туташуу

Биз HDMI кабелин башка мониторго туташтыра алабыз. Кээде, сиз Raspberry Pi'ге экранга кирбей туруп эле жетишиңиз керек же андан маалыматты башка жактан көрүүңүз керек болот. Мүмкүн, ойлонулган иштердин бардыгын жасоонун креативдүү жана фискалдык жактан акылдуу жолдору бардыр. Алардын бири - SSH (алыстан буйрук сабына кирүү) колдонуп жатат. Бул үчүн PuTTY программасын колдонсоңуз болот.

3 -кадам: Raspberry Pi үчүн Python коддоо

Raspberry Pi үчүн Python коддоо
Raspberry Pi үчүн Python коддоо

Raspberry Pi жана AIS328DQTR сенсорунун Python кодун биздин Github репозиторийинен көрө аласыз.

Кодго өтүүдөн мурун, Readme архивинде берилген эрежелерди окуп чыкканыңызга ишениңиз жана ага ылайык Raspberry Pi орнотуңуз. Баарын ойлонуп жасоо үчүн бир азга тыныгуу болот.

Акселерометр - ылдамдатуу күчтөрүн өлчөй турган электромеханикалык гаджет. Бул кубаттуулуктар сиздин бутуңузга тартылган туруктуу тартылуу күчүнө окшош статикалык болушу мүмкүн же алар өзгөрүшү мүмкүн - акселерометрди кыймылдатуу же вибрациялоо аркылуу алып келиши мүмкүн.

Питон коду менен жүрүп жатат жана сиз кодду каалаган жагыңызга клондоп жана өзгөртө аласыз.

# Эркин лицензия менен бөлүштүрүлгөн.# Аны каалагандай колдон, пайда же бекер, эгер ал тиешелүү эмгектеринин лицензиясына туура келсе. # AIS328DQTR # Бул код dcubestore.com жеткиликтүү AIS328DQTR_I2CS I2C Mini Module менен иштөө үчүн иштелип чыккан # https://dcubestore.com/product/ais328dqtr-high-performance-ultra-low-power-3-axis-accelerometer-with -автомобилдик тиркемелер үчүн санарип-чыгаруу-i%C2%B2c-мини-модулу/

smbus импорттоо

импорттоо убактысы

# I2C автобусун алыңыз

автобус = smbus. SMBus (1)

# AIS328DQTR дареги, 0x18 (24)

# Башкаруу регистрин тандоо1, 0x20 (32) # 0x27 (39) Power ON режими, Маалымат ылдамдыгын тандоо = 50Hz # X, Y, Z-Axis иштетилген bus.write_byte_data (0x18, 0x20, 0x27) # AIS328DQTR дареги, 0x18 (24) # Башкаруу регистрин тандоо4, 0x23 (35) # 0x30 (48) Үзгүлтүксүз жаңыртуу, Толук масштабдуу тандоо = +/- 8G bus.write_byte_data (0x18, 0x23, 0x30)

убакыт.уйку (0.5)

# AIS328DQTR дареги, 0x18 (24)

# 0x28 (40) маалыматтарын кайра окуу, 2 байт # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x18, 0x28) data1 = bus.read_byte_data (0x18, 0x29)

# Маалыматтарды айландыруу

xAccl = data1 * 256 + data0 if xAccl> 32767: xAccl -= 65536

# AIS328DQTR дареги, 0x18 (24)

# 0x2A (42) маалыматтарын кайра окуу, 2 байт # Y-Axis LSB, Y-Axis MSB data0 = bus.read_byte_data (0x18, 0x2A) data1 = bus.read_byte_data (0x18, 0x2B)

# Маалыматтарды айландыруу

yAccl = data1 * 256 + data0 if yAccl> 32767: yAccl -= 65536

# AIS328DQTR дареги, 0x18 (24)

# 0x2C (44) маалыматтарын кайра окуу, 2 байт # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data (0x18, 0x2C) data1 = bus.read_byte_data (0x18, 0x2D)

# Маалыматтарды айландыруу

zAccl = data1 * 256 + data0 if zAccl> 32767: zAccl -= 65536

# Экранга маалыматтарды чыгаруу

басып чыгаруу "X огунда ылдамдануу: %d" %xAccl басып чыгаруу "Y огунда ылдамдануу: %d" %yAccl print "Z огунда ылдамдануу: %d" %zAccl

4 -кадам: Кодекстин практикалуулугу

Кодекстин практикалуулугу
Кодекстин практикалуулугу

Githubдан кодду жүктөп алыңыз (же git pull) жана аны Raspberry Piден ачыңыз.

Терминалга кодду компиляциялоо жана жүктөө үчүн буйруктарды аткарыңыз жана экранда кирешени көрүңүз. Бир нече мүнөттөн кийин, ал параметрлердин ар бирин көрсөтөт. Баары кыйынчылыксыз иштейт деп кепилдик бергенден кийин, сиз бул ишкананы күн сайын колдоно аласыз же бул ишти бир топ чоң тапшырманын кичинекей бөлүгүнө айландыра аласыз. Кандай муктаждыктарыңыз болбосун, сизде дагы бир топтоо бар.

5 -кадам: Тиркемелер жана өзгөчөлүктөр

STMicroelectronics тарабынан даярдалган, кыймылдаткычтарга таандык, өтө кубаттуу, жогорку кубаттуулугу 3 октук сызыктуу акселерометр. AIS328DQTR Телематика жана Кара кутулар, Автомашинанын ичиндеги навигациясы, Тент / Жантайууну өлчөө, Уурулукка каршы түзмөк, Акылдуу үнөмдөө, Таасирди Таануу жана Кароо, Вибрация Мониторинги жана Компенсация жана Кыймыл Активдүү Функциялар сыяктуу колдонмолор үчүн ылайыктуу.

6 -кадам: Жыйынтык

Эгерде сиз Raspberry Pi жана I2C сенсорлорунун ааламын изилдөөнү ойлонуп жүргөн болсоңуз, анда сиз аппараттык негиздерди колдонуу, коддоо, уюштуруу, авторитет ж. жөнөкөй болушу мүмкүн, кээ бирлери сизди сынап көрүшү мүмкүн, бирок сизди түрткү болот. Кандай болбосун, сиз өзүңүздүн формаңызды өзгөртүп жана түзүү менен бир жол жана кемчиликсиз кыла аласыз.

Мисалы, сиз Python аркылуу AIS328DQTR жана Raspberry Pi менен жаныбарлардын физикалык кыймылдарын жана дене турумун көзөмөлдөө жана сүрөттөө үчүн Behavior Tracker Prototype ойлору менен баштасаңыз болот. Жогорудагы тапшырмада биз акселерометрдин фундаменталдуу эсептөөлөрүн колдондук. Протокол ар кандай гирометр жана GPS менен бирге акселерометр системасын жана жаныбарлардын жүрүм -турумун автоматташтыруу үчүн көзөмөлдөнүүчү (машиналуу) окуу алгоритмин (колдоо вектордук машинасын (SVM)) түзүү болуп саналат. Бул параллелдүү сенсордук өлчөөлөрдү чогултуу жана колдоо вектордук машинасын (SVM) колдонуу менен өлчөөлөрдү баалоо менен коштолушу керек. Прототиптин бекемдигин аныктоо үчүн машыгуу жана валидациялоо үчүн көз карандысыз өлчөөнүн ар кандай айкалыштарын (отуруу, басуу же чуркоо) колдонуңуз. Биз тезирээк бул прототипти иштеп чыгууга аракет кылабыз, конфигурация, код жана моделдөө дагы жүрүм -турум режимдери үчүн иштейт. Баарыңарга жагат деп ишенебиз!

Ыңгайлуу болушуңуз үчүн, YouTubeда экзаменге жардам бере турган жагымдуу видео бар. Ишеним бул аракет мындан аркы изилдөөлөргө түрткү болот. Кайда турганыңды башта. Сизде бар нерсени колдонуңуз. Колуңдан келгенин кыл.

Сунушталууда: