Мазмуну:

Arduino Desk Fan Controller: 4 кадам
Arduino Desk Fan Controller: 4 кадам

Video: Arduino Desk Fan Controller: 4 кадам

Video: Arduino Desk Fan Controller: 4 кадам
Video: Home Assistant and ESPHome Automatic 4-Wire PWM PC Fan Controller 2024, Ноябрь
Anonim
Arduino Desk Fan Controller
Arduino Desk Fan Controller
Arduino Desk Fan Controller
Arduino Desk Fan Controller
Arduino Desk Fan Controller
Arduino Desk Fan Controller

Мен жакында компаниянын ичинде ролдорду алмаштырганда, Брэдфорддон Вейкфилддеги башкы кеңсеге көчүп, сайттарды көчүрдүм. Мен ишенимдүү эски столум менен коштоштум, тегерегимде мени муздатып туруу үчүн стол күйөрманы болушу керек болчу …. Кандай болбосун, биздин башкы офистеги тренд 4 "менен 6" тегерегиндеги USB менен иштеген кичинекей күйөрмандар үчүн болду. Ошентип, 6 "моделиндеги жез эффектинин жакшы үлгүсү тез арада заказ кылынып, кийинки күнү жеткирилди.

Бардык күйөрмандардын көйгөйү, ылдамдык орнотуулары же механикалык термелүү режимдери болобу, же күйгүзүлгөн, же өчүрүлгөн, жана сиз аларды ар дайым күйгүзүп жана өчүрүп саласыз. Мониторду 3 жакшы көтөрүү талабы менен коштолгон кыялдын учкуну жана менин кийинки долбоорум пайда болду. Кирүү Fanomatic.

Мен көп жылдар бою Ардуино менен ойногом, ошондуктан бул логикалык биринчи аялдама болчу.

1 -кадам: Соода тизмеси жана Case

Соода тизмеси жана Case
Соода тизмеси жана Case
Соода тизмеси жана Case
Соода тизмеси жана Case
Соода тизмеси жана Case
Соода тизмеси жана Case

Сатып алуулар тизмеси:

  • 12мм MDFден 1 барак - корпус үчүн
  • 1 Arduino Uno - мээ
  • 1 смл панель жана зымдар
  • 1 DHT11 - санариптик температура жана нымдуулук сенсору - үлгү температурасына гана
  • 1. 96 "OLED дисплейи - өзгөрмөлөрдү көрсөтүү үчүн - ылдамдык, температура ж
  • 1 IRF520 Mosfet модулу - USB күйгүзгүчүн күйгүзүү жана өчүрүү
  • 4 10к потенциометрлер ар кандай түстөгү баскычтар менен - күйөрман ылдамдыгын, өз убагында, өчүрүү убактысын, темп -пунктун көзөмөлдөө үчүн
  • 1 кубат которгуч
  • 1 смл калай доска боёгу - 1 пальто менен MDF үчүн ылайыктуу
  • 1 USB кабели жана 1 USB розеткасы

Кап:

Корпустун өлчөмү менин 24 мониторумдун жана туурасы 220мм болгон 4 порттуу KVM которгучтун базасынын өлчөмү менен жөнгө салынган. Мониторумдун орнотулушун каалаганмын. Тереңдиги абдан ийкемдүү болчу, ошондуктан мен мол берем деп 180 ммге бардым. Ошентип, 220mmx180mmx60mm өлчөмү болчу. Эми аны жасоо жана толтуруу.

12 мм MDF үйдө оңой эле кесилип, клей менен бураманын алдында жумушчу базаны жана фронтту түзөт. Андан кийин алдыңкы бөлүк 4 10k потенциометрге жана 1 чокунун үстүнө орнотулган/өчүрүлгөн, бул Arduino менен желдеткичтин кубатын көзөмөлдөйт. Кичинекей ышталган боз акрил панелин кармап туруу үчүн тик бурчтуу тешик жасалды, анын артында мен ошол сүйкүмдүү OLED дисплейлеринин бирин камсыздоону пландадым. Жарым жолдо, 12 мм MDFтин ордуна, 3 мм катмарга баргым келет, анткени калганынан көп жыгач алынып салынды.

Температура сенсорунун тешиктери бурулуп, арткы жана капталынан кесилгенден кийин, USB розеткасы жана USB кубаты кошулган. Досканын боегунун бир нече каты колдонулган. Бул mdf үчүн эң сонун боек, анткени ал жакшы сиңет жана астын талап кылбайт. Бул мен издеген нерсеге абдан кечиримдүү эмес мат берет.

Казандар жана өчүргүчтөр тиркелди, ышталган акрил ысык жабыштырылды жана ошол ретро көрүнүш үчүн Dyno этикеткалары чыгарылды.

Башкаруунун жанында…

2 -кадам: Controls

Controls
Controls

Баары Arduino Uno тегерегинде негизделген. Мен нанды компоненттерге отургузуп, эскизди баштагам.

Эскизде 3 китепкана колдонулат:

  • Вентиляторду күйгүзүү үчүн irf520 mosfetти айдайт.
  • Бирөө OLED дисплейди башкарат
  • DHT11ден температура маалыматтарын окуу жана которуу

Мен эскизди кийинчерээк бул жерге киргизем, бир аз иретке келтиргенден кийин, бирок эскертип коюңуз, мен кодер эмесмин, жакшы коддоо принциптерин түшүнөм, бирок жалкоо кодер болом. Эгерде мен бир нерсенин айласын таба алсам жана ал иштесе, анда ал иштейт.

Ал жерде ар бирин кантип колдонууну түшүндүргөн сонун сайттар бар …. жана ар биринен эң жакшы алуу үчүн мыкты (менин оюмча) сайттарга шилтемелерди камтыйт.

Логика:

Бир USB кабели Arduino ЖАНА USB күйөрманы менен камсыз кылат. Arduino желдеткичти иштете албайт, анткени анын агымы Ардуиного зыян келтирет (чындыгында бир аз драмалуу! Бул борттогу сактандыргычты чөгүп кетет). Ошентип, биз желдеткичти күйгүзүү же өчүрүү үчүн Arduino колдонуунун жолун табышыбыз керек.

Транзистор талап кылынат, мен алгач Дарлингтон транзисторуна буйрук бердим, бирок окуп чыккандан кийин, HobbyComponents.com сайтынан irf520 MOSFET драйвер модулун сатып алдым. Geek Alert !! IRF520 логикалык деңгээлди которуу үчүн сонун (Arduino казыктарынан чыгаруу). Аппаратка жөнөтүлгөн чыңалуу MOSFETтин каршылыгын аныктайт, I. E. 0ду 255ке сандык пинге жөнөтүү желдеткичти (же башка туташкан түзмөктү) өчүрүүдөн толук ылдамдыкка жеткирет.

Биз 0ден 255ке чейин кайтып келебиз.

Ошентип, биз Arduino менен күйөрманы күйгүзүп жатабыз, эмнеге убара болосуз? Ооба, биз өтө суук болгондо анын пайда болушун каалабайбыз, туурабы? Ошентип, эгерде биз температура сенсорун кошсок, анда биз код жазып, анын ысык экенин текшерип, желдеткичти күйгүзүп (255) же өчүрө алабыз (0). Мен DHT11ге бардым, анткени кир бул арзан, коду оңой жана бул долбоор үчүн жетиштүү так.

Бул 0ден 255ке чейин кайтуу. Эгерде биз билсек, бир аз код вентиляторду күйгүзөт (255), эгер температура жогору болсо же өчүрүлсө (0), эгерде температура төмөн болсо, 0 менен 255тин ортосунда бизде каршылык жогорулайт же түшөт. MOSFET жана желдеткичти тездетүү же жайлатуу.

Аналогдук пинге туташкан потенциометрди киргизиңиз! Качан бурулганда, 0 менен 1023 ортосунда маанини пайда кылат. Бул маанини кийин желдеткич ылдамдыгын өзгөртүү үчүн коддо текшерсе болот !! yipeeeee.

Акыркы нерсе бар (жакшы, жубайлар). MOSFET драйверин айдоо үчүн колдонула турган моторду башкаруу китепканасы 2 параметрди кабыл алат, бири каршылыкты (ылдамдык үчүн), экинчиси узактыгын белгилөө үчүн. Ошентип, бул сыйкырдуу параметр менен, желдеткич канча убакытка күйгүзүлөрүн, ал эми өчүрүлсө күйөрман канча убакыт орното алабыз.

Ошентип, бизде 4 өзгөрмөнү көзөмөлдөө үчүн 4 казан бар. Кийинкиде дисплейди карайбыз.

3 -кадам: Дисплей

Дисплей
Дисплей
Дисплей
Дисплей

Ага дисплей керекпи? Жок эле. Анда эмне үчүн анын бири бар? Ооба, анткени мен сүйкүмдүү дисплейде учурдагы температураны, күйөрман ылдамдыгын, желдеткичти өз убагында, желдеткич өчүү убактысын жана температуранын коюлган чекитин көрсөтүүнү кааладым.

U8G китепканасы бул кичинекей OLED дисплейди башкарууда мыкты. Бул изилдөө кечин талап кылды жана мен 5 сапта каалаган шрифттин өлчөмүн алуу үчүн u8g.print () буйруктарын колдонуп, өзгөрмөлөрдү көрсөтүү үчүн буйруктарды башымдан өткөрдүм. Бул дисплейдин артыкчылыгы - бул Arduino коомчулугу көнгөн 2 же 4 'катардагы дисплей эмес, ошондуктан графика, шрифттер абдан жакшы аткарылат.

Чынын айтсам, коддун көбү дисплейди башкарат. эгер билдирүүлөр көрсөтүлө турган баалуулуктарды аныкташса, E. G. аналогдук идиштерден (0дон 1023кө чейин) маанини экранда көрсөтүү үчүн мааниге айлантуу. Жалпысынан алганда, блоктордун бир нече топтому бар, желдеткичтин ылдамдыгын казандан тартып аныктап, желдеткичти айдап чыгуу үчүн экран үчүн % мааниге жана 0 менен 255 ортосундагы мааниге которуңуз.

Мейли, азырынча ушундай болот элим. Бул биринчи бөлүк сизге жагат деп ишенем. Мен түзөтүп, шилтемелер жана код менен жаңыртам. Эгер сиз деталдуу түрдө каалаган нерсеңиз болсо, комментарий калтырып, сураңыз.

4 -кадам: Код

Мен эскизди 3 жыл мурун жарыялаганымда жүктөөгө убада бергем жана эч качан кылган эмесмин.

Ошентип, бул жерде ……

Сунушталууда: