Мазмуну:

Raspberry Pi жана LIS3DHTR менен кыймыл көзөмөлү, 3-октук акселерометр, Python колдонуу: 6 кадам
Raspberry Pi жана LIS3DHTR менен кыймыл көзөмөлү, 3-октук акселерометр, Python колдонуу: 6 кадам

Video: Raspberry Pi жана LIS3DHTR менен кыймыл көзөмөлү, 3-октук акселерометр, Python колдонуу: 6 кадам

Video: Raspberry Pi жана LIS3DHTR менен кыймыл көзөмөлү, 3-октук акселерометр, Python колдонуу: 6 кадам
Video: Waveshare Ethernet / USB HAT — дополнительные порты для миниатюрных плат Raspberry Pi Zero и Model A 2024, Ноябрь
Anonim
Image
Image
Биз талап кылган негизги жабдыктар
Биз талап кылган негизги жабдыктар

Сулуулук бизди курчап турат, бирок, адатта, биз аны билүү үчүн бакта сейилдеп жүрүшүбүз керек. - Руми

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

Технология тез өнүгүүдө. Дайыма, биз дүйнөнү жана андагы үйрөнүүбүздү өзгөртө турган жаңы инновациялардын шамалын кармайбыз. Сиз компьютерлерге, коддорго жана роботторго киргенде же жөн эле шылдыңдаганды жакшы көргөндө, ал жерде технологиялык бата бар. Raspberry Pi, микро, бир такталуу Linux компьютери, инновациялык технология менен үйрөнүүңүздү жакшыртууга арналган, бирок дүйнө жүзү боюнча билим берүүнү жакшыртуунун ачкычы. Демек, жакын жерде Raspberry Pi жана 3-октук акселерометр бар болсо, биз эмне кылышыбыз мүмкүн болгон натыйжалар бар? Муну кантип табабыз! Бул тапшырмада биз 3 перпендикуляр огунда ылдамданууну текшеребиз, X, Y жана Z Raspberry Pi жана LIS3DHTR, 3 огунун акселерометрин колдонобуз. Ошентип, биз бул сапарда 3 өлчөмдүү ылдамданууну же G-Forceту текшерүү системасын түзүшүбүз керек.

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

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

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

1. Raspberry Pi

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

2. Raspberry Pi үчүн I2C Shield

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

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

LIS3DH-бул санариптик I2C/SPI сериясындагы интерфейстин стандарттуу чыгышы бар, "нано" үй-бүлөсүнө таандык өтө аз кубаттуу, жогорку үч октук сызыктуу акселерометр. Биз бул сенсорду DCUBE дүкөнүнөн сатып алдык

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

Биз I2C Connecting кабелинDCUBE Store дүкөнүнөн сатып алдык

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

Эң кичинекей баш аламан, бирок күчкө муктаж болгон эң катаал - бул Raspberry Pi! Мушташуунун эң оңой жолу - Micro USB кабелин колдонуу.

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

ИНТЕРНЕТ балдар эч качан укташпайт

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

7. HDMI Cable/Remote Access

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

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 USB туташтыргычын колдонуу болуп саналат. Эреже катары, бул иштөө үчүн айдоочудан талап кылынат. Ошентип, сүрөттөмөдө Linux менен иштегенге ыктаңыз.

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

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

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

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

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

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

Raspberry Pi жана LIS3DHTR сенсорунун Python коду биздин GithubRepositoryдо жеткиликтүү.

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

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

Коштоочу питон коду жана сиз каалаган жакка кодду клондоштуруп жана тууралай аласыз.

# Эркин лицензия менен бөлүштүрүлгөн.# Аны каалагандай колдон, пайда же бекер, эгер ал тиешелүү эмгектеринин лицензиясына туура келсе. # LIS3DHTR # Бул код dcubestore.com жеткиликтүү LIS3DHTR_I2CS I2C Mini модулу менен иштөө үчүн иштелип чыккан # https://dcubestore.com/product/lis3dhtr-3-axis-accelerometer-digital-output-motion-sensor-i%C2 %B2c-мини-модуль/

smbus импорттоо

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

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

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

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

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

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

# LIS3DHTR дареги, 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

# LIS3DHTR дареги, 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

# LIS3DHTR дареги, 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 тарабынан өндүрүлгөн LIS3DHTR динамикалык түрдө колдонуучу тарабынан тандалып алынган ± 2g/± 4g/± 8g/± 16g масштабына ээ жана 1 Гцтен 5 кГцке чейин ылдамдыкты ылдамдатууга жөндөмдүү. LIS3DHTR Motion жандандырылган функциялары жана Free-Fall Detection үчүн ылайыктуу. Бул эңкейүүнү аныктоочу колдонмолордо тартылуу күчүнүн статикалык ылдамдатуусун, жана дагы кыймыл же шоктун кесепетинен динамикалык ылдамдатууну аныктайт. Башка тиркемелерге Click/Double Click Таануу, Колдогу Түзмөктөр үчүн Акылдуу Үнөмдөө, Педометр, Дисплей Багыты, Оюн жана Виртуалдык Реалдын Киргизүү Түзмөктөрү, Таасирди Таануу жана Кароо жана Вибрация Мониторинги жана Компенсациясы кирет.

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

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

Мисалы, сиз LIS3DHTR жана Raspberry Pi менен педометрдин идеясын баштасаңыз болот. Жогорудагы тапшырмада биз фундаменталдуу эсептөөлөрдү колдондук. Ылдамдануу өкүмдү жөө басууну талдоо үчүн тиешелүү параметр болушу мүмкүн. Сиз кыймылдын үч компонентин алдыга (ролл, X), капталга (кадам, Y) жана вертикалдуу (ийүү огу, Z) текшере аласыз. Бардык 3 огунун типтүү үлгүсү жазылат. Жок дегенде 1 огунда салыштырмалуу чоң мезгилдүү ылдамдануу мааниси болот. Ошентип, эң жогорку багыт жана алгоритм маанилүү. Бул алгоритмдин Параметри кадамдарын (Санарип чыпкасы, Чокуну аныктоо, Убакыт терезеси ж. Ошентип, бул сенсорду ар кандай жолдор менен колдонсоңуз болот. Баарыңарга жагат деп ишенебиз! Биз бул педометрдин иштеп чыгуусун тезирээк жасоого аракет кылабыз, конфигурация, код, басууну жана чуркоону ажыратуучу каражаттарды эсептөөчү бөлүк жана күйгөн калория.

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

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