Съдържание:

Горещи продукти: 9 стъпки
Горещи продукти: 9 стъпки

Видео: Горещи продукти: 9 стъпки

Видео: Горещи продукти: 9 стъпки
Видео: Стоян колев се кара с яница 2024, Ноември
Anonim
Горещи неща
Горещи неща

Стремеж да се превърне в най -големия графичен термохигрометър, наличен за Arduino Uno.

Приложенията включват:

  • Монитор за температура на бебета/ясла
  • Монитор за температурата на сградата
  • Оранжериен монитор
  • Външна атмосферна проверка
  • Проверка и мониторинг на ОВК в дома/офиса
  • Монитор/контрол на инкубатора

ЗАБЕЛЕЖКА: Това не е медицинско изделие и не замества правилното планиране и условия на работа!

- Характеристика

  • Напълно безплатно за некомерсиална употреба.
  • Предлага се със суперскоростен 7-сегментен симулиран шрифт "Rose Digital" и 16-ият сегмент с пълна алфа, "Astro Nerd" (вижте лицензирането за ограничения в тази част на софтуера, това е за добра кауза, обещаваме)
  • Почти изцяло безплатни актуализации (1)
  • Графика с автоматично определяне на диапазона, обхващаща цялата гама от сензори DHT11 и DHT22
  • Използва DHT11 (с малко, не сме опитвали) или DHT22, за да получи температура и относителна влажност.
  • Показва относителна влажност и температура по Фаренхайт или Целзий
  • Показва точки на оросяване (кондензация) И замръзване (кондензиращ лед) в текущите единици
  • Мигащи графични предупреждения за влажен и сух въздух.
  • Персонализирани от потребителя пропорционални шрифтове за показване (опция)
  • Обхват на основния дисплей -9 -> 99 F или -9 -> 80C (Предупреждение за обхват, ако е надвишено)
  • Влажност от 0% -> 99% RH.
  • Записва максимална и минимална температура и влажност от нулирането
  • Включва изчисленията на Steadman и ще предупреждава за неудобни или опасни условия на труд
  • Изисква минимум части Uno, 3.5 "TFT щит
  • Възможно превключване на F/C
  • Програмируем контрол на нагревателя (за инкубатори и др.)
  • Лесен за изграждане
  • Силно модулен код
  • Казахме ли, че е безплатно?

(1) Ограниченията за буфериране на UNO означават, че диаграмата мига за кратко по време на актуализациите.

Консумативи:

Arduino Uno R3 (или китайски клонинг)

  • 1 монитор за температура и влажност на DHT22 (eBay/Amazon)
  • 1 TFT 3.5 "щит с резистивен сензорен екран и слот за SD карта (вижте текста.)
  • Плъзгащ превключвател SPST (по избор).
  • Компютър с USB - за да качите програмата.
  • Захранване 9-12v.
  • Странични фрези с добро качество
  • Поялник и спойка. Пинцета за радиатор. Кабелни проводници.
  • По избор, калъф (кутиите Arduino Uno нямат достатъчно място за щит на дисплея).
  • Фини термосвиваеми тръби (за обличане и изолиране на запоените точки).

Стъпка 1: Какво прави това специално?

Какво прави това специално?
Какво прави това специално?

Но изчакайте, виждали сте снимките и това е просто още един измервател на температура и влажност, нали? Можете да ги получите на eBay за приблизително същата цена като Arduino TFT щита, който използвахме за този проект.

Е, не съвсем … позволете ми да обясня.

Коронавирус, Covid-19, SARS-Cov-2 … всички доста страшни неща, едно от най-добрите неща, които можем да направим в момента, е да се грижим за дробовете си и никъде не е по-лесно да правим това у дома. Ако работим в модерен офис, той трябва да има добри ОВК и повечето съвременни автомобили имат отлични филтри, които отвеждат повечето от по -големите частици от външния въздух, преди да влязат в кабината. Това напуска дома … единственото място, където се чувствате в безопасност и там се дебнат най -често срещаните гадни. Въпреки че е възможно да се разболеете от легионерска болест от мръсна душ глава (да, наистина!), Това е доста необичайно за щастие.

Но има нещо много по -често, което повечето от нас дори не се замислят, защото сме живели с това през целия си живот.

Мухъл.

По -конкретно, спори на мухъл. Мислете за тях като за микроскопични семена, които се произвеждат от малки образувания, които скриват тъмнината и се разпръскват свободно във въздуха - често без да се налага да бъдат обезпокоени - и могат да запълнят домовете ни с всичко, от тези гадни черни петна във влажните ъгли до сухо гниене и др.

Мухълът не уврежда имуществото ви (което е достатъчно лошо), може да предизвика дразнене на целия дихателен път - от носа и синусите ни в момента до самите алвеоли, милионите малки торбички, които очертават дробовете ни - те са толкова малки, че изпънати, те биха покрили грубо тенис корта. Това е много място, където микроскопичният организъм може да влезе, да се скрие и да причини всякакъв хаос.

И има още…

В другия край на скалата сухият въздух също може да причини опустошения. Повърхността на дробовете ни е покрита с много тънък слой от водниста слуз - той е там, за да предпази гадостите от удара и върши доста добра работа, но ако въздухът е прекалено сух, тази слуз също започва да изсъхва и което затруднява дишането.

И има още повече…

Хората естествено се охлаждат чрез изпаряване - изпотяваме се (в сух, горещ ден, това е незабележимо), но с увеличаване на влажността, хората откриват, че водата просто "стои" върху кожата им и те започват да се нагорещяват. Много горещо.

В някои части на света (Австралия и тропиците) това е такъв проблем, че работниците трябва да са наясно с "ефективната работна температура" - метеорологичните канали често наричат това "температурата на усещане", тъй като като топлината /влажността се увеличава, шансът за топлинен удар и дори смърт става много реална възможност.

За малко обосновка и допълнително четене се консултирайте с Уикипедия или се потопете!

en.wikipedia.org/wiki/Heat_index

Ако мислите, че „това никога няма да ми се случи“, помислете, че с изменението на климата това се превръща в много реална възможност в географските ширини извън Сиатъл и работейки в горещ „мрачен“ден, може да рискувате здравето си, без дори да го осъзнавате.

Топлинното изтощение е изключително неприятно, а топлинният удар е сериозна спешна медицинска помощ.

Така че това устройство не е просто фантастичен графичен термометър/хигрометър, той има вградени аларми, за да предупреждава за условията на топлинен удар, ще ви помогне да решите колко добре вентилиран е и вашият дом и дори изглежда доста умен (ако кажем сами).

С всичко казано, това устройство не е предназначено за медицински цели и не трябва да се използва там, където здравето и безопасността на работниците могат да бъдат застрашени. Дори и да можем да сертифицираме нашия код (не можем) самият хардуер не носи тази гаранция. Това е, за да спре цялото това разхвърляно правно мумбо джъмбо, но трябва да ви даде представа колко здрав е вашият дом!

Изграждането е толкова лесно, колкото става, въпреки че ще трябва да "изкопаете" TFT щита, защото ще го използваме по начини, за които дизайнерите никога не са мислили.

ЗАБЕЛЕЖКА: Тъй като някой е повдигнал този въпрос, заслужава да се отбележи, че сензорите DHT22 имат заявена точност от ± 0.5 ° C и ± 1% Rh, което е достатъчно за много приложения, но не и ако температурата/влажността са критични. Планираме по-късно да добавим калибриране след монтажа. DHT11 има малко по -малко прецизно измерване на температурата от ± 1.0 ° C, но като цяло трябва да отразява добре околната среда.

Стъпка 2: Изрязване на TFT

Изрязване на TFT
Изрязване на TFT

Това е единствената наистина трудна част и това е нещо, което трябва да оправите, защото освен ако не подавате малко с поялник … добре, по -малко казано за това, толкова по -добре.

Този проект * трябва * да работи с много щитове от тази разделителна способност и тип - и софтуерът ще работи с всеки ATMega 328 или по -голям (софтуерът е много прилепнал, приближавайки се до 99% от 28K, налични на този етап) и ние стиснахме толкова функции, колкото пространството ще позволи.

Проверете дали всичко работи, преди да започнете да отрязвате парченца

  1. Тествайте прилягането на дисплея към Arduino - слотът за usSD е в края, където влизат захранването и USB портовете. Подсветката ще се включи, когато се захранва, но в противен случай няма да направи нищо.
  2. Обърнете внимание на етикетите на щифтовете за достъп до USB карта. Няма да имаме нужда от тях, затова ще направим дъската много къса прическа.
  3. На нашата дъска целевите щифтове са маркирани SD_SS, SD_DI, SD_DO и SD_SCK в края на J1.
  4. Можете да оставите или премахнете последните два щифта - изрязваме тези от нашата дъска.
  5. Не режете нищо друго или LCD дисплеят няма да работи! Например, LCD_D0 (една от линиите за данни) е много близо, така че тук трябва да бъдете изключително внимателни.
  6. Проверете два пъти, изрежете веднъж или се надявам, че можете да запоите нова заглавка!

Забележка: може да е възможно да използваме „мултиплекс“SPI щифтовете, които сме използвали тук, и да съхраняваме данни на SD картата, но това е нещо, което ще оставим на други строители.

Стъпка 3: Монтиране / запояване на сензора

Монтиране / запояване на сензора
Монтиране / запояване на сензора

Въпреки че не е строго необходимо, запояването на връзките е най -добрият начин да превърнете този проект в нещо, което можете да монтирате и забравите.

Запояването към DHT22 трябва да се извършва само от човек с разумни умения за запояване. Сензорът е силно чувствителен към промени в температурата и влажността. Безименен човек леко прегря спойките на нашия (кашлица, кашлица) и изпрати сензора толкова далеч от калибрирането, че той отказа да работи, докато не го "сварим", както е указано от производителя, за да спре да произвежда грешки. По-добър вариант за повечето хора е да закупите предварително монтиран DHT11/22 с заглавка, предназначена за прескачане на проводници.

DHT22 използват серийна едножична серийна връзка за комуникация с MCU - с потенциален обхват над 10M (> 32 фута) без сигнализиране, така че детекторът да може да бъде поставен на известно разстояние от Arduino.

Оказа се (след изучаване на схемите), че заглавката на 6-пинов In-Circuit Serial Programmer (ICSP) в края на платката е свързана към SPI щифтовете, използвани от щита за четене/запис на SD карта. Използването на тези пинове няма да повлияе на способността ви да програмирате платката през USB в бъдеще, тъй като те се използват предимно за отстраняване на грешки и програмиране на Uno със сериен програмист (FDTI). Като странична бележка, ние сме благодарни на Стив Ууд от AudioSpectrum Analyzers в Обединеното кралство, че ни предостави резервен, когато нашият изчезна в огромната купчина парчета на Марк.

Ако имате чифт качествени клещи с дълъг нос, възможно е да огънете проводниците, така че да могат да вземат хедър DuPont, но запояването е предпочитаният метод. С внимание (и стабилна ръка) е напълно възможно да запоите DHT22 директно към хедера.

Свързването е толкова лесно, колкото е възможно, но е от съществено значение да се спазва полярността, тъй като свързването на устройството обратно може да го унищожи незабавно. Въпреки че DHT22 има четири пина, щифт 3 не е свързан. Монтираните сензори обикновено идват само с три щифта, които се подреждат красиво с заглавката. Когато сензорът лежи по гръб (показан), можете да видите, че щифтовете за захранване и данни се подреждат правилно.

Стъпка 4: Тестване и първа употреба

Тестване и първа употреба
Тестване и първа употреба

Остава само внимателно да включите вашия DHT22 модул в Arduino и да настроите софтуера. Голяма част от интелигентните неща се извършват от софтуера, благодарение на графичната библиотека от Adafruit, драйвера на дисплея MCUFriend на David Prentice и също толкова умни неща от изчисленията на "ефективната топлина" на Робърт Стедман.

Единственото нещо, което трябва да настроите в тази основна конфигурация, е да кажете на софтуера кои три пина се използват.

Ако предпочитате да свържете сензора си по различен начин, следващите редове в CONSTANTS. H казват на Uno как да се конфигурира.

#дефинирайте DHT22_DATA 11

DH22 използва много консервативни 1 - 1,5 mA при отчитане, което е далеч по -малко от типичния максимум от 20 mA, така че няма да стресира нищо. (Разбира се, късо съединение на всеки щифт почти сигурно ще унищожи устройството, затова препоръчваме да използвате термосвиваемо устройство, ако поставите сензора на платка за включване на Heath Robinson.) Ако всичко върви добре, HotStuff ще се зареди след около 5 секунди. Ако бъде открита грешка, екранът ще стане черен и ще покаже кратко съобщение за грешка. Това до голяма степен може да бъде пренебрегнато, тъй като просто означава, че сензорът или не е захранван, или не е свързан правилно.

Стъпка 5: Използване на инструмента и често задавани въпроси

Използване на инструмента и често задавани въпроси
Използване на инструмента и често задавани въпроси

В: Виждам фини следи от неосветени цифри на екрана. Това не е ли грешка?

О: Не, това е по дизайн, въпреки че не е в камък. Идеята беше да се подражава на външния вид на „истински“LCD дисплей (срещу TFT с висока разделителна способност). Такива дисплеи използват големи, предварително проектирани блокове, които могат да се включват и изключват като пиксели, но за разлика от пикселите, те могат да заемат големи части от екрана. В резултат на това неизменно има фина следа от видимия материал и това се подражава тук.

В: Как мога да превключвам между градуси по Целзий и Фаренхайт?

О: Функцията не беше напълно тествана по време на „натискане“(защото някой забрави, нали …). Ние обаче проверихме и тази функция работи (ако желаете), но прикрепяйки малък плъзгащ превключвател SPST с единия извод към щифт 12, а другия към удобно заземяване. Най -бързият начин да направите това е да запоите или да използвате модифициран съединител DuPont, за да го прикрепите към земята, а другият или да закрепите директно 12 (някои клонинги имат допълнителен набор от проходни отвори за такива неща) или на оригинални дизайни, за да щифта MOSI на заглавката на ICSP, който е този над 5v захранването. Ако този превключвател е в отворено положение, устройството се зарежда в градуси, но в затворено положение, той дърпа щифт 12 ниско и рестартирането го връща нагоре във Фаренхайт. Няма нужда от резистор за защита на щифта, тъй като има осигурен вътрешен резистор.

В: Мога ли да използвам различен сензор?

О: Да. Но ще трябва или да намерите подходяща библиотека, или да напишете своя собствена. Избрахме DHT22 поради неговия едножичен интерфейс и понеже имаше един в задната част на частите, събиращи прах. Дизайнът на един кабелен интерфейс е за предпочитане, защото можем да използваме другите "безплатни" цифрови щифтове за други функции. I2C не е наличен, тъй като той е зает от щита на дисплея. SPI е обаче, ако сте готови да загубите функционалност, като смяна на мащаба и т.н.

В: Мога ли да продавам търговска версия?

О: Разбира се, можете да предоставите да спазвате условията за лицензиране на софтуера (това е по същество лицензът BSD с 2 клаузи, който е много разрешителен, но имайте предвид, че други лицензи могат да важат за включените библиотеки.) Също така имайте предвид, че това устройство не е (и никога не може да бъде) сертифициран за използване в критични среди, той е за домашна/любителска употреба, въпреки че може да намери приложения в домове за грижи, офиси и други работни места. Само имайте предвид, че той е толкова добър, колкото и най-слабата връзка … Разработеният за този проект механизъм за шрифтове е лицензиран за некомерсиална употреба, освен ако не направите дарение за рака на нашия колега GoFundMe.

В: Моите минимални/максимални показания не са записани в диаграмата.

О: Това е по дизайн. Инструментът използва „пълзяща средна“(статистическа средна стойност), която се нулира на всеки час. Това помага да се изглади графиката и да се даде по -разумен поглед върху измерванията, предотвратявайки странни скокове (като някои, ъ -ъ, "човек", дишащи върху сензора, да го направят луд.

В: Защо не използвате преки пътища на C ++ (като ++, - и т.н.) в кода си? Защо всичко е толкова… многословно!

О: Един от авторите е ветеран 8-битов програмист на игри, но другият идва от Python. Използвахме няколко преки пътища, при които използването им е доста недвусмислено, но C (езикът, който е в основата на C ++) е стар и компилаторите като цяло бяха малко тъпи, когато Kernighan и Richie написаха първия компилатор, да не говорим, че компютрите бяха slooooooow и клавиатурите имаха ключове че сте почувствали, че трябва да ударите с чук за плочи. Всички тези неща (и други) доведоха C до много кратък език с множество преки пътища за постигане на едно и също нещо. Голям брой са (и остават) отговорни за някои много сложни бъгове: и дори не ни карайте да започнем с куп/сривове.

Очевидно някои оптимизации (например семафорите) са необходими, защото се опитваме да смачкаме литър в чаена чаша, но когато е възможно, сме избегнали това.

Между другото, ако не притежавате добре прочетено копие на K&R C… спрете веднага и отидете да поръчате. Има много много големи книги за C, но K&R остава вероятно най -добрият и тъй като C е в основата на C ++, ще имате по -добро разбиране и за функциите на този език.

В: Мисля, че открих грешка какво да правя!

О: Грешки? Няма грешки, само функции … само някои функции не работят така, както очаквахме. Оставете ни бележка в GitHub и ние ще се опитаме да променим функцията, така че да е по -подходяща за дизайна. Всъщност кодът се преработва през цялото време в няколко различни проекта, така че е доста оскъден на места и за това Марк ще бъде ударен с мокър пикша, докато не изкрещи: "Не повече!" - Дан

Стъпка 6: Компилиране от източник

Компилация от източник
Компилация от източник

Проектът се хоства на GitHub (просто има твърде много код, за да се плесне на Instructable, хората ще получат квадратни очи, опитвайки се да разберат всички тези неща), но докато предварително програмирани ATMegas ще бъдат достъпни на eBay, може да искате да компилирате свой собствен източник.

Изходният код, който трябва да се компилира под Visual Studio с IO на платформата - той стана малко тромав за редактора на Arduino и Visual Studio ни позволява да напишем по -добър код с по -малко грешки, благодарение на някои от "lint" избора, който има.

github.com/marcdraco/HotStuff

platformio.org/

visualstudio.microsoft.com/downloads/ Ще ви трябват няколко библиотеки за този щит. Adafruit GFX (който също ще се нуждае от библиотеката Wire).

MCUFriend_kbv от Дейвид Прентис v2.9. Дейвид е произвел по -късни версии, но не е гарантирано, че ще работят.

Стъпка 7: Направете го сами

Направи го сам
Направи го сам

Няма нищо подобно на това да имаш красив проект, който да покажеш на другите и да ги накараш да въздъхнат със страхопочитание, когато започва с името ти горе в светлините. Така че ние сме настроили софтуера, така че почти всеки да може да прави промени без познаване на C/C ++.

Намерете в любимия си текстов редактор в „constants.h“, за да намерите следните редове:

constexpr uint16_t defaultPaper = ЧЕРЕН;

constexpr uint16_t defaultInk = CYAN;

Можете да видите имената на цветовете на обикновен английски - Дейвид Прентис любезно предостави множество дефиниции, които се появяват по -рано във файла и всичко, което трябва да направите, е да промените предния план (и фона) на нещо по ваш избор, преди да качите на дъската. Цветовете "следи" за графиката са малко по -дълбоки тук и изглеждат така:

constexpr uint16_t HUMIDITY_TRACE {AZURE}; constexpr uint16_t TEMP_TRACE {YELLOW};

Въпреки че тези TFT не са известни със своя контраст (и са ограничени до 5-6-5 RGB, 16-битов цвят), ние предоставихме примерна опция за компилация "NIGHT_MODE", която е коментирана по подразбиране, но задава дисплея

Други цветове могат да се регулират по подобен начин. Искате ли да се чете в Imperial, когато се задейства? Няма проблем! Намерете и коментирайте ("//") или премахнете следния ред и когато качите обратно на дъската …

Въпроси, коментари и подобрения трябва да се публикуват в GitHub.

Още по -дълга документация относно хакването на проекта е в придружаващия README. MD

Стъпка 8: Хакване

Този проект е създаден с помощта на принципа KISS и е завършен такъв, какъвто е.

Той може да бъде в основата на нещо, базирано на друг сензор - може би по -точен или по -бърз, при условие че има достатъчно място за неговата библиотека. Както можете да видите, нещата вече са доста стегнати.

Когато познавате добре кода, е лесно да промените нещата драстично, но дори и без много опит в програмирането, много от постоянните стойности в "constants.h" обясняват как да промените нещата. По -напредналите програмисти ще отбележат, че е сравнително лесно (надяваме се!) Да издърпате необходимите части за по -късна употреба. Например, сменихме графичния дисплей с напълно функционален часовник в реално време за по-малко от час. Часовникът обаче изисква начин за настройка на часа, така че не е полезен такъв, какъвто е; ще пуснем функционална версия на това по -късно (можете да намерите кода за разработка на GitHub под HotStuff Chrono).

Но има нещо в тези дисплеи, което не е очевидно веднага, докато не преминете към програмиране - този сензорен екран.

Проблемът с резистивните сензорни екрани от този тип е, че те се нуждаят от калибриране, което допълнително усложнява и, честно казано, няма място с всички останали функции, в които сме се натъпкали, за да забием друга библиотека там. Това би било възможно с Arduino Mega, който има много повече място за флаш, но къде е забавлението в това?

Погледнете под дъската и ще видите, че освен цифровите входове/изходи за задвижване на LCD и SD картата няма изходи за ADC за откриване на измерването на съпротивлението.

Странно нали?

Умни хора тези дизайнери. Дисплеят има свой собствен рамков буфер: това е област от RAM, която държи екрана такъв, какъвто е, докато захранването остава свързано, което означава, че можете (програмно) да изключите няколко пина на устройството, докато е включено, и да ги използвате за други задачи - при условие, че ги върнете след това!

За информация как се прави това, предлагаме да прочетете резистивната библиотека на сензорния екран на Limor "Lady Ada" Fried.

И ако направите нещо готино, не забравяйте да подадете заявка за изтегляне!

Стъпка 9: Незадължителни дарения

По желание дарения
По желание дарения

Сега ето по избор, нека представим дамата, която даде живот и име на шрифтовете, използвани в този проект и остава вдъхновение за всички нас, особено получавайки новини, че е развила рак и … повечето от нас знаят колко страшно е това конкретно мошеник е. Пълната й биография е на нейния уебсайт https://www.rosedf.net/ и можете да я намерите в обичайните социални медийни канали. Тя казва за себе си:

„Ако не тренирам, за да се опитам да стигна до космоса, да кажа на хората да отидат да погледнат нашето красиво нощно небе, да прекарват времето си с тези, които обичам, или просто да бъда глупак, обичам да фокусирам вниманието си върху достъпа до образование и справедливостта. работа по застъпничество за жертви на домашно/сексуално насилие и бездомност, какъвто бях, и обичам да повишавам осведомеността относно значението на психичното здраве в ежедневието и академичните среди."

Ако искате да й хвърлите няколко долара (или каквато и да е местната ви валута), тогава всички наистина ще го оценим. Много любов беше вложена в разработването на HotStuff, дори мислеше, че е замислено като преподавателско упражнение и голяма част от тази работа може да се използва повторно за бъдещи проекти, които имат „бавен“процесор, но се нуждаят от бърз, ясен и най-вече ГОЛЯМ буквено-цифров шрифт на TFT дисплей. Дарете тук (имате нашата благодарност):

paypal.me/FirstGenSci

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