Мазмұны:
- 1 -қадам: Pi дайындаңыз
- 2 -қадам: бәрін қосыңыз
- 3 -қадам: I2C деңгейін тексеріңіз
- 4 -қадам: MySQL және PhpMyAdmin орнатыңыз
- 5 -қадам: Python модульдерін орнатыңыз
- 6 -қадам: Мәліметтер қорына кіру коды
- 7 -қадам: Температураны көрсететін код
- 8 -қадам: 3D басып шығарылған корпус
- 9 -қадам: Не істеу керек
Бейне: Raspberry Pi барометрі ауа райы сағаты: 9 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Бұл нұсқаулықта мен сізге 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 дайындаңыз
Raspberrypi.org сайтында Raspberry Pi орнатыңыз
- Таңдалған Linux дистрибутивін SD картасына жүктеңіз және орнатыңыз - мен Raspbian қолдандым
- Пиді қосыңыз және жүктеңіз
- Мен pi -ді маршрутизаторға қосу үшін микро WiFi адаптерін қолдандым, себебі сағат корпусы Ethernet портын жасырады.
- Мен SSH арқылы pi -ге қосылатын бассыз режимді қолдандым, сондықтан сізге тек қуат қажет.
- Pi -де I2C конфигурациялаңыз - мен Adafruit сайтында осы нұсқауларды орындадым.
2 -қадам: бәрін қосыңыз
Мен бұл жобада қолданатын барлық модульдер 5В төзімді және I2C пайдаланады, бұл 2 сымды протокол, ол бір -бірімен байланыс жасау үшін қолданылады, сондықтан сымдар өте қарапайым. Схемаға сәйкес барлық VCC 5V, барлық Grounds және SCA және SCL барлық желілерін бірге қосыңыз. Жұмыс жасалды.
3 -қадам: I2C деңгейін тексеріңіз
I2C қондырғысының бір бөлігі i2cdetect бағдарламасын іске қосу болып табылады, егер бәрі дұрыс сымдалған болса, ол бекітілген суретке ұқсайды.
Төменде сәйкес мекенжайлар көрсетілген
- 0x70 = 7 сегменттік дисплей
- 0x77 = BMP180 термометр / барометр датчигі
- 0x68 = DS3231 нақты уақыт сағаты модулі
- 0x57 = DS3231 дабыл деректерін сақтауға арналған EEPROM бортында.
4 -қадам: 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 модульдерін орнатыңыз
Сенсорларға қосылу үшін төмендегі питон модульдерін жүктеңіз және орнатыңыз.
- Adafruit_BMP085 модулі
- SDL_DS3231 модулі
- Adafruit 7 сегмент модулі
6 -қадам: Мәліметтер қорына кіру коды
Төмендегі код үзіндісі температура мен барометрлік қысымды тіркеу үшін қолданылады және 5 минут сайын жұмыс істейтін cron сценарийінен (Linux жоспарланған тапсырмалар) шақырылады. Crond қалай қолдануға болатынын білу үшін осы оқулықты қараңыз.
Ескерту! Менің кодтау дағдыларымды қоқысқа тастамаңыз, мен әзірлеуші емеспін, иә, мұны істеудің миллиондаған жақсы, жылдам, тегіс, таза жолдары бар шығар
Сіз кодта температура 7 градусқа төмендегенін байқайсыз, бұл тіпті корпустың сыртында орнатылған BMP180 көмегімен Raspberry Pi шығаратын жылуға тең. Мен оны бастапқыда корпуста ұстаған кезде, ол қоршаған ортаға қарағанда шамамен 15 градус ыстық болды. Бұл өте сызықты болып көрінеді, бірақ менде ешқандай шектен шығуға мүмкіндік болмады. Сіздің тәжірибеңіз туралы пікірлер бағаланатын болады.
7 -қадам: Температураны көрсететін код
Бұл код кіріспе бойынша дисплейде айналуға шақырылады.
Тағы да, мен әзірлеуші емеспін, сондықтан код шынымен өрескел, бірақ ол жұмыс істейді
8 -қадам: 3D басып шығарылған корпус
Келесі - қоршаудың дизайны. Бұл өте қиын болды, өйткені пішіні қисық болады, өйткені сыртқы қабықтың бөліктері қалыңдығы 2 мм ғана. Мен алдымен Pi мен оның барлық бөлшектерінің макеттерін жасадым, содан кейін оның айналасындағы қоршауды жасадым. Басып шығару 0,25 қабат тереңдігінде менің RapMan 3.2 -де (өте баяу принтерде) шамамен 7 сағатқа созылды.
Қосылған схема Autodesk 123D Design -де жасалған, бұл менің ойымша, ақысыз бағдарламалық қамтамасыз етудің керемет бөлігі.
Пиді орнатуға қажет тесіктердің кейбірі конструкцияда жоқ екенін ескеріңіз, себебі басып шығару сәл қисайған жағдайда оларды бұрғылау жақсы. Тұрақты қолмен 3 мм бұрғылау ұшы қажет. Мен сияқты 7 сағаттық басып шығарудан кездейсоқ өтпеу үшін, тереңдікті кішкене таспамен белгілеңіз.
9 -қадам: Не істеу керек
- Нақты уақыт сағаты корпус 5-ші рет басылғаннан кейін қосымша болды, сондықтан ол қазіргі уақытта қоршаудың жағына жақсы желімделген, сондықтан мен дизайнды қайта жасағым келеді және оған орын қосқым келеді.
- 7 сегментті дисплейдің жарықтығы қазіргі уақытта ең жарық болып орнатылған, бұл күшті жарық жағдайлары үшін оңтайлы емес. Мен қоршаудың жоғарғы жағына фото резисторды қосқым келеді және сыртқы жарық жағдайларына байланысты 7 сегменттің жарықтығын реттегім келеді.
- Негізгі крекинг кезінде дизайндағы кішкене ақаулар бар, олар да шешіледі.
- Кез келген идеялар құпталады.
Сізге бұл нұсқаулық ұнады және сізді шабыттандырды деп үміттенемін. Идея - бұл өз идеяларыңызды қосуға болатын платформаны қамтамасыз ету. Масайрау!
Ұсынылған:
Толқын мен ауа райы сағаты: 9 қадам (суреттермен)
Толқын мен ауа райы сағаты: Сіз толқынның жоғары немесе төмен екенін немесе бір жерде екенін көрсететін жалғыз қолмен аналогты сағаттарды сатып ала аласыз, бірақ мен нені талап ететін болсам, судың толуы қай уақытта болатынын айтады. Мен q -ға қарайтын нәрсені алғым келді
WiFi сағаты, таймер мен ауа райы станциясы, Blynk басқарылады: 5 қадам (суреттермен)
WiFi сағаты, таймер мен ауа райы станциясы, Blynk басқарылады: бұл морфингтік цифрлық сағат (тұжырымдамасы мен морфинг коды үшін Хари Вигуна арқасында), сонымен қатар аналогтық сағат, ауа райы туралы хабарлау станциясы мен ас үй таймері болып табылады. WiFi арқылы смартфондағы Blynk қолданбасы. Бұл бағдарлама сізге мүмкіндік береді
Ауа райы шамы - Ауа райы мен температура бір қарағанда: 8 қадам
Ауа райы шамы - Ауа райы мен температура бір қарағанда: Бұл сиқырлы шамды қолдана отырып, сіз ағымдағы температура мен жағдайды бірден біле аласыз
Ауа райы сағаты: 11 қадам (суреттермен)
Ауа райы сағаты: Электр схемасы мен фризинг схемасымен жаңартыңыз Мен екі үй жасаймын: Бұл менің бірінші нұсқаулығым, мен ағылшын тілін мектепте оқымаған надан итальянмын, сондықтан мен көмек сұрадым: https: //translate.google.itStart рахметпен
Ауа райы сағаты: 15 қадам (суреттермен)
Ауа райы сағаты: Күні бар тамаша жұмыс үстелінің сағаты; ауа райы дисплейі