Мазмұны:

Күн метеостанциясы: 5 қадам
Күн метеостанциясы: 5 қадам

Бейне: Күн метеостанциясы: 5 қадам

Бейне: Күн метеостанциясы: 5 қадам
Бейне: Дана найманбаева 2024, Қараша
Anonim
Күн метеостанциясы
Күн метеостанциясы

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

1 -қадам: материалдарды жинау

Материалдар

  • Raspberry Pi 3 үлгісі B + + адаптері + Micro SD картасы 16 ГБ
  • Ардуино Уно
  • Arduino Pro Mini + FTDI негізгі үзілуі
  • 4 Вт 1 Вт күн батареялары
  • 4 18650 батарея
  • 5в күшейткіш
  • 4 TP 4056 батарея зарядтағыштары
  • Adafruit DHT22 температура мен ылғалдылық сенсоры
  • BMP180 Барометрлік қысым сенсоры
  • 4 LDR
  • RF 433 қабылдағыш және таратқыш
  • 2 Nema 17 қадамдық қозғалтқыштар
  • 2 DRV8825 Stepper мотор драйверлері
  • LCD 128*64
  • Көптеген сымдар

Құралдар мен материалдар

  • Желім
  • Ағаш тақтайшалар
  • Көрдім
  • Бұрандалар + бұрағыш
  • Үйрек таспасы
  • 2 алюминий жолағы

2 -қадам: Механикалық дизайн

Механикалық дизайн
Механикалық дизайн
Механикалық дизайн
Механикалық дизайн
Механикалық дизайн
Механикалық дизайн
Механикалық дизайн
Механикалық дизайн

Метеостанция корпусы фанерден жасалған. Ағашты қолданудың қажеті жоқ, оны кез келген материалдан жасауға болады. Қозғалтқышты бекіту үшін мен ағаштан жасалған тұтас бұрғыладым, содан кейін мотордың білігіне тегіс бұранданы бұрап қойдым, ол мен күткеннен де жақсы жұмыс істейді. Осылайша сізге мотор қондырғысын 3d басып шығарудың қажеті жоқ және оны жасау оңай. Содан кейін мен моторларды қатты ұстау үшін 2 алюминий жолағын бүктедім. Содан кейін мен тақтаны кесіп алып, күн панельдері үшін тесіктер бұрғыладым. Содан кейін оған күн батареяларын желімдеп, күн батареяларына дәнекерлеу сымдарын жабыстырыңыз. Содан кейін сізге қара материалдан крест жасау қажет болады. Егер сізде қара ештеңе болмаса, қара таспаны қолдануға болады. Бұл крест әр бұрышта LDR ұстайды, сондықтан Arduino LDR өлшемдерін салыстырып, қай бағытқа бұрылу керектігін есептей алады. Әр бұрышқа ұсақ бөлшектерді бұрғылаңыз, сонда сіз оларға LDR сыйғыза аласыз. Енді тек пластинаны және электрониканы салатын нәрсені жасау ғана қалды. Негізгі тақта үшін барлық сымдарды ағызу үшін бір бүтін бұрғылау қажет болады. Өлшеу үшін мен сізге ешнәрсе бермеймін, себебі оны қалай құрастырғыңыз келетіні сізге байланысты. Егер сізде басқа қозғалтқыштар немесе басқа күн батареялары болса, онда өлшеуді өзіңіз шешуге тура келеді.

3 -қадам: Электрлік дизайн

Қуат

Бүкіл жүйе батареялармен жұмыс істейді (Raspberry Pi қоспағанда). Мен 3 батареяны сериялы түрде орналастырдым. 1 батарея орташа есеппен 3,7 В құрайды, сондықтан 3 серия сізге 11 В шамасында береді. Бұл 3s аккумуляторы қозғалтқыштар мен РЖ таратқыш үшін қолданылады. Қалған басқа батарея Arduino Pro Mini мен сенсорларды қуаттандыруға арналған. Батареяларды зарядтау үшін мен 4 TP4056 модулін қолдандым. Әр батареяда 1 TP4056 модулі бар, әр модуль күн батареясына қосылған. Модульде B (in) және B (out) бар болғандықтан, мен оларды бөлек зарядтаймын және оларды тізбектей босатамын. Дұрыс TP4056 модульдерін сатып алғаныңызға көз жеткізіңіз, себебі барлық модульдерде В (кіру) және В (шығу) жоқ.

Контрол

Arduino Pro Mini сенсорлар мен қозғалтқыштарды басқарады. Arduino шикізат пен жер штыры 5В күшейткішке қосылған. 5В күшейткіш жалғыз батареяға қосылған. Arduino Pro Mini өте төмен қуат тұтынуға ие.

Компоненттер

DHT22: Мен бұл сенсорды VCC мен жерге қостым, содан кейін деректер түйреуішін цифрлық пинге 10 жалғадым.

BMP180: Мен бұл сенсорды VCC мен жерге қостым, мен SCL -ды Arduino -да SCL -ге, SDA -ны Arduino -да SDA -ға қостым. Сақ болыңыз, себебі Arduino Pro Mini -дегі SCL және SDA түйреуіштері тақтаның ортасында орналасқан, сондықтан егер сіз түйреуіштерді тақтаға дәнекерлеп, оны тақтаға қойсаңыз, ол жұмыс істемейді, себебі сізде басқа түйреуіштердің кедергісі болады. Мен сол 2 түйреуішті тақтаның жоғарғы жағына дәнекерледім және оған сымды тікелей қостым.

RF таратқышы: Мен оны жақсы сигнал мен ұзақ диапазон үшін 3s аккумулятор пакетіне қостым. Мен оны 5V -ге Arduino -дан қосуға тырыстым, бірақ ол кезде РЖ сигналы өте әлсіз. Содан кейін мен деректер түйреуішін 12 цифрлық пинге қостым.

LDR: Мен 4 LDR -ді аналогтық A0, A1, A2, A3 түйреуіштеріне қостым. Мен LDR -ді 1K резисторымен біріктірдім.

Қозғалтқыштар: қозғалтқыштар 2 DRV8825 басқару модулімен басқарылады. Бұл өте ыңғайлы, себебі олар тек 2 кіріс желісін алады (бағыт пен қадам) және қозғалтқыштарға бір фазада 2А дейін шығара алады. Мен оларды 2, 3 және 8, 9 цифрлық түйреуіштеріне қосқанмын.

СКД: Мен IP-адресті көрсету үшін Raspberry Pi-ге LCD-ді қостым. Мен артқы жарығын реттеу үшін қайшыны қолдандым.

РФ қабылдағышы: Мен ресиверді Arduino Uno -ға 5V және Ground арқылы қостым. Қабылдағыш 5 В -тан аспауы керек. Мен содан кейін деректер түйрегішін цифрлық PIN -11 -ге қостым. Егер сіз Raspberry Pi -де жұмыс істейтін осы RF модульдерінің кітапханасын тапсаңыз, Arduino Uno -ны пайдаланудың қажеті жоқ.

Raspberry Pi: Raspberry Pi Arduino Uno -ға USB кабелі арқылы қосылған. Arduino RF сигналдарын Raspberry Pi -ге сериялық байланыс арқылы береді.

4 -қадам: кодтауды бастайық

Arduino Pro Mini кодтау үшін сізге FTDI бағдарламашысы қажет. Pro Mini -де USB порты болмағандықтан (қуатты үнемдеу үшін) сізге сол тақта қажет болады. Мен кодты Arduino IDE -де бағдарламаладым, менің ойымша, мұны істеудің ең оңай жолы. Файлдан кодты жүктеңіз және бару жақсы болуы керек.

Arduino Uno кодтау үшін мен оны компьютерге USB кабелі арқылы қостым. Мен кодты жүктегеннен кейін оны Raspberry Pi -ге қостым. Мен Raspberry Pi -дегі кодты өзгерте алдым, себебі мен Arduino IDE -ді орнаттым, сондықтан мен оны сол жерден бағдарламалай алдым. Код өте қарапайым, ол ресиверден кірісті қабылдайды және оны Raspberry Pi сериялық порты арқылы жібереді.

Raspberry Pi кодтау үшін мен Raspbian орнаттым. Содан кейін мен оған SSH қосылымы арқылы қосылу үшін Putty қолдандым. Содан кейін мен Raspberry -ді конфигурацияладым, оған VNC арқылы қосылуға және осылайша GUI -ге ие бола аламын. Мен Apache веб -серверін орнаттым және осы жобаның артқы және алдыңғы жақтарын кодтай бастадым. Сіз кодты github сайтынан таба аласыз:

5 -қадам: мәліметтер базасы

Деректерді сақтау үшін мен SQL мәліметтер базасын қолданамын. Мен дерекқорды MySQL Workbench -те жасадым. Деректер датчигінің көрсеткіштері мен сенсорлық деректерді сақтайды. Менде 3 кесте бар, біреуі уақыт белгісімен сенсордың мәндерін сақтауға арналған, екіншісі сенсорлар туралы ақпаратты сақтауға арналған және соңғы пайдаланушылар туралы ақпаратты сақтауға арналған. Мен Пайдаланушылар кестесін пайдаланбаймын, себебі мен жобаның бұл бөлігін кодтаған жоқпын, себебі ол MVP -де жоқ. SQL файлын жүктеп алып, оны орындаңыз және мәліметтер базасы жақсы болуы керек.

Ұсынылған: