Мазмұны:

Python көмегімен Raspberry Pi және MMA7455 көмегімен жеделдету нұсқаларын бақылау: 6 қадам
Python көмегімен Raspberry Pi және MMA7455 көмегімен жеделдету нұсқаларын бақылау: 6 қадам

Бейне: Python көмегімен Raspberry Pi және MMA7455 көмегімен жеделдету нұсқаларын бақылау: 6 қадам

Бейне: Python көмегімен Raspberry Pi және MMA7455 көмегімен жеделдету нұсқаларын бақылау: 6 қадам
Бейне: Урок №2. Установка, сбор датасета, тренировка модели для распознавания лиц. Beyond Robotics 2024, Шілде
Anonim
Image
Image

Мен адаспадым, мен гравитацияны сынап көрдім. Ол әлі де жұмыс істейді…

Жедел ғарыш кемесінің суреті гравитациялық уақыттың кеңеюіне байланысты шаттлдың ең биік нүктесіндегі сағат базадағыға қарағанда жылдамырақ болатынын түсіндірді. Кейбіреулер шаттл бортында жылдамдық екі сағат үшін де бірдей болады деп сенді, сондықтан олар бірдей жылдамдықпен жүруі керек. Біраз ойланыңыз.

Ойлар, мотивация және тіпті нұсқаулық кез келген жерден туындауы мүмкін, бірақ егер сіз инновацияға назар аударсаңыз, ол осы мәселеге шоғырланған адамдардың үлесін алады. Raspberry Pi, шағын, бір тақталы Linux компьютері, бірегей іс -шаралар мен бағдарламалық қамтамасыз ету және электроника саласындағы мамандық бойынша кеңес береді. Raspberry Pi мен құрылғылардың оқулықтарын жасаушы бола отырып, біз информатика мен электрониканың көмегімен таңғажайып нәрселерді бағдарламалау мен ойнау мүмкіндігіне ие боламыз. Біз кешікпей акселерометрді қолдана отырып, тапсырманы орындау қуанышына ие болдық және бұл гаджетпен не істеуге болатыны туралы ойлар өте керемет. Сонымен, біз бұл тапсырмада Raspberry Pi көмегімен Python көмегімен 3 өлшемді, X, Y және Z жылдамдықты өлшеу үшін 3 осьті сандық акселерометр датчигі MMA7455-ті қолданамыз.

1 -қадам: Бізге қажет жабдық

Бізге қажет аппараттық құралдар
Бізге қажет аппараттық құралдар
Бізге қажет аппараттық құралдар
Бізге қажет аппараттық құралдар

Біз қандай бөлшектерді алу керектігін, қай жерден жинау керектігін білместен әрекет етудің қаншалықты қиын болатынын білеміз және бәрі алдын ала қанша тұрады. Сондықтан біз сіз үшін барлық жұмысты жасадық. Бөлшектерді төртбұрыштап алғаннан кейін, бұл тапсырманы орындау тез болуы керек. Бөлшектердің толық тізімін алу үшін жолдан кейін алыңыз.

1. Raspberry Pi

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

2. Raspberry Pi үшін I2C қалқаны

Raspberry Pi -дің негізгі мәселесі - бұл I2C порты. Бұл үшін TOUTPI2 I2C қосқышы сізге Raspberry Pi -ді кез келген I2C құрылғыларымен қолдануға мүмкіндік береді. Ол DCUBE дүкенінде қол жетімді

3. 3 осьтік акселерометр, MMA7455

Freescale Semiconductor, Inc. шығарған, MMA7455 3 осьті сандық акселерометр-бұл қуаты аз, кіші масштабтағы өңделген сенсор, оның үдеуі бойынша X, Y және Z осі бойынша өлшеуге жарамды. Біз бұл сенсорды DCUBE дүкенінен алдық

4. Қосылатын кабель

Біз I2C қосылу кабелінDCUBE Store дүкенінен сатып алдық

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

Кішкене шатастырылған, бірақ қуат қажеттілігіне қатысты қатал - бұл Raspberry Pi! Стратегияны басқарудың ең белгіленген және ең аз талап етілетін әдісі - Micro USB кабелін пайдалану. Жетілдірілген және мамандандырылған жол - бұл GPIO немесе USB порттары арқылы қуат беру.

6. Желілік қолдау

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

7. HDMI кабелі/қашықтан қатынау

Raspberry Pi -де HDMI порты бар, оны HDMI кабелі арқылы экранға немесе теледидарға қосуға болады. Таңдау бойынша, сіз Raspberry Pi көмегімен Linux компьютерінен немесе Mac -тен терминалдан SSH орната аласыз. Сол сияқты PuTTY ақысыз және ашық бастапқы терминалды эмулятор ақылды ойға ұқсайды.

2 -қадам: Жабдықты қосу

Жабдықты қосу
Жабдықты қосу
Жабдықты қосу
Жабдықты қосу
Жабдықты қосу
Жабдықты қосу

Схемада көрсетілгендей тізбекті жасаңыз. Схемада сіз электрониканың әр түрлі компоненттерінің, жалғаушы сымдардың, қуат кабельдерінің және I2C датчигінің қосылыстарын көресіз.

Raspberry Pi және I2C Shield қосылымы

Ең бастысы, Raspberry Pi алыңыз және оған I2C қалқанын табыңыз. Қалқанды Pi GPIO түйреуіштерінің үстіне жақсы басыңыз, сонда біз бұл прогресті бәліш сияқты оңай аяқтаймыз (суретті қараңыз).

Raspberry Pi мен сенсор байланысы

Онымен сенсор мен I2C кабелін алыңыз. Бұл кабельдің қолайлы жұмыс істеуі үшін I2C шығысы әрқашан 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 кодтау

Біздің GithubRepository ішінен Raspberry Pi және MMA7455 сенсорына арналған Python кодын көруге болады.

Кодты жалғастырмас бұрын, Readme хроникасында берілген стандарттарды оқуға кепілдік беріңіз және Raspberry Pi -ді онда көрсетілгендей орнатыңыз. Бұл қазіргі жағдайды ескере отырып, бір минутқа жеңілдейді.

Акселерометр - бұл үдеу күштерін өлшейтін электромеханикалық гаджет. Бұл күштер статикалық болуы мүмкін, бұл сіздің аяғыңыздағы тұрақты тартылыс күшіне ұқсайды немесе олар өзгеруі мүмкін - акселерометрді жылжыту немесе дірілдеу арқылы пайда болады.

Жалғастыру - бұл питон коды, сіз кодты кез келген жолмен клондап, өзгерте аласыз.

# Ерік-жігер лицензиясымен таратылады.# Егер ол онымен байланысты жұмыстардың лицензиясына сәйкес келсе, оны қалаған жолмен пайдаланыңыз немесе тегін пайдаланыңыз. # MMA7455L # Бұл код dcubestore.com сайтында қол жетімді MMA7455L_I2CS I2C шағын модулімен жұмыс жасауға арналған # https://dcubestore.com/product/mma7455l-3-axis-low-g-digital-output-accelerometer-i%C2 %B2c-шағын модуль/

smbus импорттау

импорт уақыты

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

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

# MMA7455L мекенжайы, 0x1D (16)

# Режимді басқару регистрін таңдау, 0x16 (22) # 0x01 (01) Өлшеу режимі, +/- 8g шина

уақыт.ұйқы (0.5)

# MMA7455L мекенжайы, 0x1D (16)

# Деректерді 0x00 (00), 6 байт бойынша оқу 0x00, 6)

# Деректерді 10 битке түрлендіріңіз

xAccl = (деректер [1] & 0x03) * 256 + деректер [0] егер xAccl> 511 болса: xAccl -= 1024 yAccl = (деректер [3] & 0x03) * 256 + деректер [2] егер yAccl> 511: yAccl - = 1024 zAccl = (деректер [5] & 0x03) * 256 + деректер [4] егер zAccl> 511 болса: zAccl -= 1024

# Деректерді экранға шығару

басып шығару «X осінде үдеу: %d» %xAccl басып шығару «Y осіндегі үдеу: %d» %yAccl басып шығару «Z осіндегі үдеу: %d» %zAccl

4 -қадам: Кодекстің практикалық болуы

Кодекстің практикалық болуы
Кодекстің практикалық болуы

Github -тен кодты жүктеңіз (немесе git pull) және оны Raspberry Pi -де ашыңыз.

Терминалда кодты құрастыру және жүктеу пәрмендерін іске қосыңыз және экрандағы кірісті көріңіз. Бірнеше минуттан кейін ол параметрлердің әрқайсысын көрсетеді. Барлығы оңай жұмыс істейтініне көз жеткізгеннен кейін, сіз бұл саяхаттауды күн сайын қолдана аласыз немесе кезбені әлдеқайда маңызды жұмыстың кішкене бөлігіне айналдыра аласыз. Сіздің қажеттіліктеріңізге қарамастан, сіздің жиналыста тағы бір қарама -қайшылық бар.

5 -қадам: Қолданбалар мен мүмкіндіктер

Freescale Semiconductor шығаратын MMA7455, қуаты төмен жоғары өнімділігі 3 осьті цифрлық акселерометрді сенсорлық деректерді өзгерту, өнімге бағдарлау және қимылды анықтау үшін қолдануға болады. Бұл ұялы телефон/PMP/PDA: бағдарларды анықтау (портрет/пейзаж), суреттің тұрақтылығы, мәтінді айналдыру, қозғалысты теру, дыбысты басу, ноутбук компьютері: ұрлыққа қарсы, ойын: қозғалысты анықтау, автоматты ояту/ Қуатты аз тұтыну және сандық фотокамера үшін ұйқы: кескін тұрақтылығы.

6 -қадам: Қорытынды

Егер сіз Raspberry Pi мен I2C датчиктерінің ғаламын зерттеуді жоспарлап жүрсеңіз, онда сіз өзіңізді шығармашылықпен жұмыс істеуге тырысқанда, аппараттық құралдардың негізін, кодтауды, реттеуді, беделділікті және т. шағын кәсіпорын, ол ешқашан сыртқы көздерге жүгінбейді. Бұл әдісте қарапайым болуы мүмкін бірнеше тапсырма болуы мүмкін, ал кейбіреулер сізді сынап көруі мүмкін. Қалай болғанда да, сіз өзіңіздің формаңызды өзгерте және қалыптастыра отырып, жолды мінсіз жасай аласыз.

Мысалы, сіз жердің гравитациялық өрісін MMA7455 және Raspberry Pi көмегімен Python көмегімен өлшеу үшін гравиметрлік прототипті ойлаудан бастауға болады. Жоғарыда аталған кәсіпорында біз негізгі есептеулерді қолдандық. Жобалаудың негізгі принципі - Жердің тартылыс күшінің 1 г шамасындағы өте ұсақ бөлшек өзгерістерді өлшеу. Сондықтан сіз бұл сенсорды әр түрлі жолдармен пайдалана аласыз. Алгоритм - ауырлық градиентінің тензоры пайда болатын барлық үш перпендикуляр бағытта вертикальды тартылыс векторының өзгеру жылдамдығын өлшеу. Оны кіші тік қашықтықпен бөлінген екі нүктедегі тартылыс күшінің мәнін, l және осы қашықтыққа бөлу арқылы шығаруға болады. Біз бұл прототиптің құрылымдық шу мен дірілді талдау үшін конфигурациясы, коды мен модельдеу жұмыстарын тезірек жасауға тырысамыз. Барлығыңызға ұнайды деп сенеміз!

Сіздің жайлылығыңыз үшін бізде YouTub -те емтиханға көмектесетін қызықты видео бар. Бұл әрекетке сеніңіз, әрі қарай тергеу жүргізеді. Егер мүмкіндік тоқтамаса, есік жасаңыз.

Ұсынылған: