Мазмұны:

Raspberry Pi барометрі ауа райы сағаты: 9 қадам (суреттермен)
Raspberry Pi барометрі ауа райы сағаты: 9 қадам (суреттермен)

Бейне: Raspberry Pi барометрі ауа райы сағаты: 9 қадам (суреттермен)

Бейне: Raspberry Pi барометрі ауа райы сағаты: 9 қадам (суреттермен)
Бейне: Pico 10DOF IMU — гироскоп, акселерометр, барометр и магнетометр для Raspberry Pi Pico от Waveshare 2024, Қараша
Anonim
Raspberry Pi барометрі ауа райы сағаты
Raspberry Pi барометрі ауа райы сағаты

Бұл нұсқаулықта мен сізге Raspberry Pi 2 көмегімен BMP180 I2C сенсоры бар Adafruit 4 цифрлық 7 сегментті I2C дисплейінде термометр / барометрдің негізгі сағатын қалай құруды көрсетемін. Pi сонымен қатар Pi қайта іске қосылған кезде уақытты сақтау үшін DS3231 нақты уақытты I2C сағат модулін қолданады.

Сағат әрқайсысы 5 секунд ішінде 4 кезеңнен өтеді. Алдымен ол Цельсийдегі температураны көрсетеді, содан кейін Фаренгейтте кПа *барометрлік қысымы *(цифрлардың шектеулі болуына байланысты бұл сан солға қарай жүреді) және ақырында барометрлік қысымның қазіргі мен орташа температура арасындағы өзгеру тенденциясын көрсетеді. алдыңғы сағат.

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

Сағат шығарылатын жылудың температуралық көрсеткіштерге әсерін болдырмау үшін BMP180 вентиляциялық қақпақпен BMP180 бар 3D басып шығарылған ABS корпусында орналасқан. Меншікті басып шығарғыңыз келсе, Autodesk 123D Design схемасын беремін.

Сағат стандартты USB қабырға сүйегімен жұмыс істейді және шамамен 450 мА құрайды.

Мен Pi мен I2C -нің негізгі конфигурациясы туралы толығырақ айтпаймын, себебі бұл сілтемелер беретін басқа да көптеген нұсқаулықтарда қамтылған.

1 -қадам: Pi дайындаңыз

Pi дайындаңыз
Pi дайындаңыз

Raspberrypi.org сайтында Raspberry Pi орнатыңыз

  1. Таңдалған Linux дистрибутивін SD картасына жүктеңіз және орнатыңыз - мен Raspbian қолдандым
  2. Пиді қосыңыз және жүктеңіз
  3. Мен pi -ді маршрутизаторға қосу үшін микро WiFi адаптерін қолдандым, себебі сағат корпусы Ethernet портын жасырады.
  4. Мен SSH арқылы pi -ге қосылатын бассыз режимді қолдандым, сондықтан сізге тек қуат қажет.
  5. Pi -де I2C конфигурациялаңыз - мен Adafruit сайтында осы нұсқауларды орындадым.

2 -қадам: бәрін қосыңыз

Барлығын қосыңыз
Барлығын қосыңыз

Мен бұл жобада қолданатын барлық модульдер 5В төзімді және I2C пайдаланады, бұл 2 сымды протокол, ол бір -бірімен байланыс жасау үшін қолданылады, сондықтан сымдар өте қарапайым. Схемаға сәйкес барлық VCC 5V, барлық Grounds және SCA және SCL барлық желілерін бірге қосыңыз. Жұмыс жасалды.

3 -қадам: I2C деңгейін тексеріңіз

I2C деңгейін тексеріңіз
I2C деңгейін тексеріңіз

I2C қондырғысының бір бөлігі i2cdetect бағдарламасын іске қосу болып табылады, егер бәрі дұрыс сымдалған болса, ол бекітілген суретке ұқсайды.

Төменде сәйкес мекенжайлар көрсетілген

  1. 0x70 = 7 сегменттік дисплей
  2. 0x77 = BMP180 термометр / барометр датчигі
  3. 0x68 = DS3231 нақты уақыт сағаты модулі
  4. 0x57 = DS3231 дабыл деректерін сақтауға арналған EEPROM бортында.

4 -қадам: MySQL және PhpMyAdmin орнатыңыз

MySQL және PhpMyAdmin орнатыңыз
MySQL және PhpMyAdmin орнатыңыз

Егер сіз мұнда оқулықты орындасаңыз, mySQL -ті орнату өте қарапайым

sudo apt-get mysql-server орнатыңыз

Мен сондай -ақ phpMyAdmin -ді орнаттым, ол Apache -те жұмыс істейтін веб -сайт, оны mySQL мәліметтер базасын құруға және басқаруға болады. Оқулық мұнда

sudo apt-get phpmyadmin орнатыңыз

Орнатқаннан кейін мен суретке сәйкес құрылымы бар phpMyAdmin көмегімен BP180 деп аталатын дерекқорды құрдым.

Мен сонымен бірге mysqlDB деп аталатын python модулін қолданамын, оны сіз орната аласыз

sudo apt-get install python-mysqldb

5 -қадам: Python модульдерін орнатыңыз

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

  1. Adafruit_BMP085 модулі
  2. SDL_DS3231 модулі
  3. Adafruit 7 сегмент модулі

6 -қадам: Мәліметтер қорына кіру коды

Төмендегі код үзіндісі температура мен барометрлік қысымды тіркеу үшін қолданылады және 5 минут сайын жұмыс істейтін cron сценарийінен (Linux жоспарланған тапсырмалар) шақырылады. Crond қалай қолдануға болатынын білу үшін осы оқулықты қараңыз.

Ескерту! Менің кодтау дағдыларымды қоқысқа тастамаңыз, мен әзірлеуші емеспін, иә, мұны істеудің миллиондаған жақсы, жылдам, тегіс, таза жолдары бар шығар

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

7 -қадам: Температураны көрсететін код

Температураны көрсететін код
Температураны көрсететін код
Температураны көрсететін код
Температураны көрсететін код
Температураны көрсететін код
Температураны көрсететін код
Температураны көрсететін код
Температураны көрсететін код

Бұл код кіріспе бойынша дисплейде айналуға шақырылады.

Тағы да, мен әзірлеуші емеспін, сондықтан код шынымен өрескел, бірақ ол жұмыс істейді

8 -қадам: 3D басып шығарылған корпус

3D басып шығарылған корпус
3D басып шығарылған корпус
3D басып шығарылған корпус
3D басып шығарылған корпус
3D басып шығарылған корпус
3D басып шығарылған корпус
3D басып шығарылған корпус
3D басып шығарылған корпус

Келесі - қоршаудың дизайны. Бұл өте қиын болды, өйткені пішіні қисық болады, өйткені сыртқы қабықтың бөліктері қалыңдығы 2 мм ғана. Мен алдымен Pi мен оның барлық бөлшектерінің макеттерін жасадым, содан кейін оның айналасындағы қоршауды жасадым. Басып шығару 0,25 қабат тереңдігінде менің RapMan 3.2 -де (өте баяу принтерде) шамамен 7 сағатқа созылды.

Қосылған схема Autodesk 123D Design -де жасалған, бұл менің ойымша, ақысыз бағдарламалық қамтамасыз етудің керемет бөлігі.

Пиді орнатуға қажет тесіктердің кейбірі конструкцияда жоқ екенін ескеріңіз, себебі басып шығару сәл қисайған жағдайда оларды бұрғылау жақсы. Тұрақты қолмен 3 мм бұрғылау ұшы қажет. Мен сияқты 7 сағаттық басып шығарудан кездейсоқ өтпеу үшін, тереңдікті кішкене таспамен белгілеңіз.

9 -қадам: Не істеу керек

Істер
Істер
  1. Нақты уақыт сағаты корпус 5-ші рет басылғаннан кейін қосымша болды, сондықтан ол қазіргі уақытта қоршаудың жағына жақсы желімделген, сондықтан мен дизайнды қайта жасағым келеді және оған орын қосқым келеді.
  2. 7 сегментті дисплейдің жарықтығы қазіргі уақытта ең жарық болып орнатылған, бұл күшті жарық жағдайлары үшін оңтайлы емес. Мен қоршаудың жоғарғы жағына фото резисторды қосқым келеді және сыртқы жарық жағдайларына байланысты 7 сегменттің жарықтығын реттегім келеді.
  3. Негізгі крекинг кезінде дизайндағы кішкене ақаулар бар, олар да шешіледі.
  4. Кез келген идеялар құпталады.

Сізге бұл нұсқаулық ұнады және сізді шабыттандырды деп үміттенемін. Идея - бұл өз идеяларыңызды қосуға болатын платформаны қамтамасыз ету. Масайрау!

Ұсынылған: