Съдържание:

Слънчева метеорологична станция: 5 стъпки
Слънчева метеорологична станция: 5 стъпки

Видео: Слънчева метеорологична станция: 5 стъпки

Видео: Слънчева метеорологична станция: 5 стъпки
Видео: Топ 10 Удивителни неща за Земята, които не знаехте 2024, Ноември
Anonim
Слънчева метеорологична станция
Слънчева метеорологична станция

Искали ли сте някога информация за времето в реално време от задния си двор? Сега можете да си купите метеорологична станция в магазина, но те обикновено изискват батерии или трябва да бъдат свързани към контакт. Тази метеорологична станция не трябва да бъде свързана към мрежата, защото има слънчеви панели, които се въртят към слънцето за по -голяма ефективност. Със своите RF модули той може да прехвърля данни от станцията навън към Raspberry Pi във вашия дом. Raspberry Pi е домакин на уебсайт, на който можете да видите данните.

Стъпка 1: Съберете материали

Материали

  • Raspberry Pi 3 модел B + + адаптер + Micro SD карта 16GB
  • Arduino Uno
  • Основен пробив на Arduino Pro Mini + FTDI
  • 4 6V 1W слънчеви панели
  • 4 батерии 18650
  • Усилвател 5v
  • 4 зарядни устройства за батерии TP 4056
  • Сензор за температура и влажност на Adafruit DHT22
  • BMP180 Сензор за барометрично налягане
  • 4 LDR
  • RF 433 приемник и предавател
  • 2 Nema 17 Стъпкови двигатели
  • 2 драйвера на стъпкови двигатели DRV8825
  • LCD 128*64
  • Много проводници

Инструменти и материали

  • Лепило
  • Дървени дъски
  • Трион
  • Винтове + отвертка
  • Тиксо
  • 2 алуминиеви ленти

Стъпка 2: Механичен дизайн

Механичен дизайн
Механичен дизайн
Механичен дизайн
Механичен дизайн
Механичен дизайн
Механичен дизайн
Механичен дизайн
Механичен дизайн

Корпусът на метеорологичната станция е изработен от шперплат. Не е задължително да използвате дърво, можете да го направите от всеки материал, който предпочитате. За опорите на двигателя пробих цяло в дървен блок и след това завинтвам плосък винт към вала на двигателя, който работи по -добре, отколкото очаквах. По този начин не е необходимо да отпечатвате 3D монтиране на мотор и е лесно да се направи. След това огънах 2 алуминиеви ленти, за да държа двигателите много здраво. След това изрязах дъска и пробих в нея дупки за слънчевите панели. След това залепете соларните панели върху него и запойте проводници върху слънчевите панели. След това ще трябва да направите и кръст от черен материал. Ако нямате нищо черно, можете да използвате черна лента. Този кръст ще държи LDR във всеки ъгъл, така че Arduino може да сравни измерванията от LDR и да изчисли в каква посока трябва да се обърне. Така че пробийте малки отвори във всеки ъгъл, за да можете да поставите LDR там. Всичко, което остава да направите сега, е да направите основна плоча и нещо, в което да поставите електрониката. За основната плоча ще трябва да пробиете цяло в нея, за да прокарате всички проводници през коритото. За измерванията няма да ви дам нищо, защото наистина зависи от вас как искате да проектирате това. Ако имате други двигатели или други слънчеви панели, ще трябва сами да разберете измерванията.

Стъпка 3: Електрически дизайн

Мощност

Цялата система работи на батерии (с изключение на Raspberry Pi). Поставих 3 батерии последователно. 1 Батерията е средно 3.7V, така че 3 в серия ви дават около 11V. Тази батерия 3s се използва за двигатели и RF предавател. Другата батерия, която е останала, се използва за захранване на Arduino Pro Mini и сензорите. За зареждане на батериите използвах 4 модула TP4056. Всяка батерия има 1 модул TP4056, всеки модул е свързан към слънчев панел. Тъй като модулът има B (вход) и B (изход), мога да ги зареждам отделно и да ги разреждам последователно. Уверете се, че купувате правилните модули TP4056, защото не всички модули имат B (вход) и B (изход).

Конртол

Arduino Pro Mini контролира сензорите и двигателите. Суровият и заземен щифт на Arduino е свързан към 5V усилвателя. Усилвателят на 5V е свързан към единичната батерия. Arduino Pro Mini има много ниска консумация на енергия.

Компоненти

DHT22: Свързах този сензор към VCC и Ground, след това свързах пина за данни към цифров пин 10.

BMP180: Свързах този сензор към VCC и Ground, свързах SCL към SCL на Arduino и SDA към SDA на Arduino. Бъдете внимателни, тъй като SCL и SDA щифтовете на Arduino Pro Mini са в средата на платката, така че ако сте запоявали щифтове към платката и сте я поставили в макет, тя няма да работи, защото ще имате смущения от други щифтове. Запоях тези 2 щифта в горната част на дъската и свързах проводник директно към него.

RF предавател: Свързах това към батерията 3s за по -добър сигнал и по -голям обхват. Опитах се да го свържа към 5V от Arduino, но тогава RF сигналът е супер слаб. След това свързах пина за данни към цифров пин 12.

LDR: Свързах 4 -те LDR към аналогови щифтове A0, A1, A2, A3. Сложих LDR заедно с 1K резистор.

Двигатели: Двигателите се задвижват от 2 модула за управление DRV8825. Те са много удобни, защото заемат само 2 входни линии (посока и стъпка) и могат да произвеждат до 2А на фаза към двигателите. Имам ги свързани към цифрови пинове 2, 3 и 8, 9.

LCD: Свързах lcd към Raspberry Pi, за да покажа неговия IP-адрес. Използвах тример за регулиране на подсветката.

RF приемник: Свързах приемника към Arduino Uno на 5V и земя. Приемникът не трябва да приема повече от 5V. След това свързах пина за данни към цифров пин 11. Ако можете да намерите библиотека за тези RF модули, която работи на Raspberry Pi, тогава не е нужно да използвате 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. След това използвах Putty, за да се свържа с него чрез SSH връзка. След това конфигурирам Raspberry, така че да мога да се свържа с него чрез VNC и по този начин да имам GUI. Инсталирах уеб сървър на Apache и започнах да кодирам бекенда и интерфейса за този проект. Можете да намерите кода на github:

Стъпка 5: База данни

За да съхранявам данните, използвам SQL база данни. Направих базата данни в MySQL Workbench. Базата данни съдържа показанията на сензора и сензорните данни. Имам 3 таблици, едната за съхраняване на стойностите на сензора с часови марки, другата за съхраняване на информация за сензорите и последната за съхраняване на информация за потребителите. Не използвам таблицата „Потребители“, защото не кодирах тази част от проекта, тъй като не беше в моя MVP. Изтеглете SQL файла и го изпълнете и базата данни трябва да е готова за работа.

Препоръчано: