Satura rādītājs:
- Piegādes
- Solis: pievienojiet ķēdi
- 2. darbība: skaņas signāla daļas sagatavošana
- 3. darbība: LED paneļa sagatavošana
- 4. solis: slēdža sagatavošana (faktiski poga)
- 5. darbība: LED sloksnes sagatavošana
- 6. darbība. Kapacitātes sensora sagatavošana
- 7. solis: barošanas avota sagatavošana
- 8. solis: savienojiet tos ar Arduino
- 9. solis: iežogojums
- 10. solis: laika programmēšana
- 11. solis: Korekcijas mehānisms
- 12. solis: kā izmantot visas funkcijas
- 13. darbība. Secinājums
- 14. darbība. Atjaunināšana: pēc vienas nedēļas lietošanas
Video: DIY Arduino binārais modinātājs: 14 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:53
Tas atkal ir klasiskais binārais pulkstenis! Bet šoreiz ar vēl vairākām papildu funkcijām! Šajā pamācībā es jums parādīšu, kā izveidot bināru modinātāju ar Arduino, kas var parādīt ne tikai laiku, bet arī datumu, mēnesi, pat izmantojot taimeri un modinātāja funkcijas, kuras var izmantot arī kā lampu pie gultas! Bez liekas pieķeršanās sāksim!
Piezīme. Šajā projektā netiek izmantots RTC modulis, tāpēc precizitāte ir atkarīga no izmantotās plates. Esmu iekļāvis koriģējošu mehānismu, kas noteiktā laika periodā koriģēs laika svārstības, taču jums būs jāeksperimentē, lai atrastu pareizo laika perioda vērtību (vairāk par to zemāk), un pat ar koriģējošu mehānismu tas joprojām mainīsies ilgu laiku (salīdzinot ar bez tā). Ja kāds ir ieinteresēts, lūdzu, īstenojiet RTC moduļa izmantošanu šajā projektā
Piegādes
5 mm LED (jebkuras krāsas, es izmantoju 13 baltas gaismas diodes ar vienu RGB LED kā indikatoru) --- 14 gab
Arduino Nano (citi var darboties) --- 1 gab
Mikro slēdzis --- 1 gab
Neliels alumīnija folijas gabals
Montāžas dēlis (iežogojumam, bet jūtieties brīvi izveidot savu)
Baltā papīra gabals (vai jebkura cita krāsa)
Kāda plastmasas plēve (tā, ko izmanto kā grāmatas vāku)
Vadu ķekars
Signāls --- 1 gab
NPN tranzistors --- 1 gab
Rezistori 6k8 --- 14 gab., 500R --- 1 gab., 20R (10Rx2) --- 1 gab., 4k7 --- 1gab.
Projekta barošanas avots (es izmantoju litija akumulatoru)
5050 LED sloksne un slīdnis (pēc izvēles)
Solis: pievienojiet ķēdi
Es sadalīšu šo soli:
1) skaņas signāla daļa
2) LED panelis
3) Slēdzis (spiedpoga)
4) LED sloksne
5) Kapacitātes sensors
6) Barošanas avots
7) Savienojiet tos visus ar Arduino
Lielākoties tas ir tikai "sekojiet shematiskajam" solim. Tāpēc pārbaudiet iepriekš minēto shēmu vai pat lejupielādējiet un izdrukājiet to!
2. darbība: skaņas signāla daļas sagatavošana
Ja esat iepriekš izmantojis skaņas signālu ar Arduino, jūs zināt, ka, ja mēs to pievienosim tieši Arduino, tas nebūs pietiekami skaļš. Tātad mums ir nepieciešams pastiprinātājs. Lai izveidotu pastiprinātāju, mums ir nepieciešams NPN tranzistors (būtībā darbosies jebkurš NPN, es izmantoju S9013, jo es to ieguvu no vecā projekta) un kāds rezistors, lai ierobežotu strāvu. Lai sāktu, vispirms identificējiet tranzistora kolektoru, emitētāju un pamatni. Šim nolūkam noderēs neliela googlēšana datu lapā. Pēc tam pielodējiet tranzistora kolektoru pie skaņas signāla negatīvās spailes. Signāla pozitīvajā spailē mēs vienkārši pielodējam pie tā stieples gabalu, lai vēlāk varētu pielodēt to pie mūsu Arduino. Pēc tam pielodējiet 500R (vai jebkuru līdzīgu rezistora vērtību) rezistoru pie tranzistora pamatnes un no rezistora, pielodējiet vēl vienu stieples gabalu turpmākai lietošanai. Visbeidzot, pielodējiet divus 10R rezistorus virknē tranzistora emitētāja un pievienojiet citu vadu no rezistoriem.
Patiešām, skatiet shēmu.
p/s: Es joprojām īsti nezinu, kā izvēlēties rezistoru tranzistoram, to rakstot. Izmantotā vērtība tiek izvēlēta empīriski.
3. darbība: LED paneļa sagatavošana
Pievienojiet gaismas diodes un rezistoru attiecīgi prototipēšanas plāksnei un lodējiet. Tieši tā. Sekojiet shēmai. Ja jūs interesē atstarpe, ko izmantoju, 3 caurumi viens no otra katrai kolonnai un divi caurumi katrā rindā (skatiet attēlu). Un indikatora gaismas diode? Es to nejauši pievienoju.
Pēc gaismas diodes un rezistora pielodēšanas pie paneļa savienojiet kopā visas gaismas diodes pozitīvās spailes. Pēc tam lodējiet vadus pa vienam pie katra rezistora gaismas diodes negatīvajos spailēs, lai vēlāk varētu tos pielodēt pie Arduino.
PIEZĪME. Šo soli var sajaukt. Atcerieties, ka tā vietā, lai savienotu visu zemi kopā, mēs savienojam visu pozitīvo spaili kopā un negatīvo spaili ar atsevišķo Arduino tapu. Tādējādi mēs kā zemi izmantojam Arduino GPIO tapu, nevis Vcc. Ja nejauši pievienojat to atpakaļ, neuztraucieties. Jūs varat mainīt visus HIGH uz LOW un LOW to HIGH ledcontrol funkcijā.
4. solis: slēdža sagatavošana (faktiski poga)
Slēdzim (es to saucu par slēdzi, jo es izmantoju mikro slēdzi, bet jūs zināt, ka tā ir spiedpoga), mums ir nepieciešams 4k7 nolaižamais rezistors un, protams, pats slēdzis. Ak, neaizmirstiet sagatavot dažus vadus. Sāciet, pielodējot rezistoru un stieples gabalu pie mikro-slēdža kopējās zemes (COM). Pēc tam pielieciet citu stieples gabalu pie mikro-slēdža parasti atvērtā (NO). Visbeidzot, pievienojiet rezistoram citu vadu. Nostipriniet to ar kādu karstu līmi.
Zināšanu stūris: Kāpēc mums ir nepieciešams nolaižamais rezistors?
"Ja jūs no visa atvienosit digitālo I/O tapu, gaismas diode var mirgot kļūdaini. Tas ir tāpēc, ka ieeja ir" peldoša " - tas ir, tā nejauši atgriezīsies vai nu HIGH, vai LOW. Tāpēc jums ir nepieciešama pievilkšanās vai nolaižamais rezistors ķēdē. " - Avots: Arduino tīmekļa vietne
5. darbība: LED sloksnes sagatavošana
LED sloksne ir paredzēta gultas sānu lampai, kas nav obligāta. Vienkārši savienojiet LED sloksni un bīdāmo slēdzi virknē, nekas īpašs.
6. darbība. Kapacitātes sensora sagatavošana
Labi, skatiet attēlu. Būtībā mēs vienkārši piestiprināsim vadu pie neliela alumīnija folijas gabala (jo alumīnija foliju nevar pielodēt), tad pielīmējiet to pie neliela montāžas dēļa gabala. Labs atgādinājums, pārliecinieties, ka neesat pilnībā pielīmējis alumīnija foliju. Atstājiet daļu no tā tiešai saskarei.
7. solis: barošanas avota sagatavošana
Tā kā kā barošanas avotu es izmantoju litija akumulatoru, man ir nepieciešams TP4056 modulis uzlādēšanai un aizsardzībai, kā arī pastiprinātāja pārveidotājs, lai pārveidotu spriegumu uz 9 V. Ja esat nolēmis izmantot 9V sienas adapteri, jums, iespējams, būs nepieciešama līdzstrāvas ligzda vai vienkārši pievienojiet to. Ņemiet vērā, ka pastiprinātāja rezistora vērtība ir paredzēta 9 V jaudai, un, ja vēlaties izmantot citu spriegumu, iespējams, būs jāmaina rezistors.
8. solis: savienojiet tos ar Arduino
Sekojiet shēmai! Sekojiet shēmai! Sekojiet shēmai!
Nepievienojiet nepareizu tapu, pretējā gadījumā viss kļūs dīvaini.
9. solis: iežogojums
Mana dizaina izmērs ir 6,5 cm*6,5 cm*8 cm, tāpēc tas ir nedaudz apjomīgs. Tas sastāv no priekšējā loga LED displejam un augšējā loga gultas lampai. Par manu dizainu skatiet attēlus.
10. solis: laika programmēšana
Lejupielādējiet manu skici zemāk un augšupielādējiet savā Arduino. Ja jūs nezināt, kā to izdarīt, neuztraucieties veikt šo projektu! Vienkārši joko, šeit ir laba apmācība par to: augšupielādējiet skici arduino
Pēc tam atveriet seriālo monitoru, un jums vajadzētu redzēt, ka tas izvada pašreizējo laiku. Lai iestatītu laiku, lūk, kā to izdarīt.
Lai iestatītu stundu: h, XX - kur xx ir pašreizējā stunda
Lai iestatītu minūti: min, XX - xx ir pašreizējā minūte
Lai iestatītu otro: s, XX
Lai iestatītu datumu: d, XX
Lai iestatītu mēnesi: pirmdiena, XX
Kad tiek izpildīts iepriekš minētais komentārs, tam jāatgriež tikko iestatītā vērtība. (Piemēram, iestatot stundu ar h, 15, sērijveida monitorā jāatgriež stunda: 15.
Kapacitātes sensoram, iespējams, tas būs jākalibrē, pirms tas darbosies. Lai to izdarītu, divreiz nospiediet mikro slēdzi un paskatieties uz seriālo monitoru. Tam vajadzētu izvadīt virkni skaitļu. Tagad uzvelciet pirkstu uz kapacitātes sensoru un skatiet, ņemiet vērā skaitļa diapazonu. Pēc tam mainiet mainīgo "captrigger". Pieņemsim, ka, nospiežot, jūs saņemat 20-30, pēc tam iestatiet captrigger uz 20.
Skice izmanto ADCTouch bibliotēku, pārliecinieties, vai tā ir instalēta.
11. solis: Korekcijas mehānisms
Korekcijas mehānisma laika periods manā kodā ir iestatīts uz to, kas man ir precīzs. Ja laiks joprojām nav precīzs, jums jāmaina mainīgā "corrdur" vērtība
Corrdur tagad pēc noklusējuma ir 0 jaunākajā atjauninājumā.
Corrdur vērtība nozīmē, cik milisekundes nepieciešamas, lai palēninātu vienu sekundi
Lai uzzinātu corrdur vērtību, izmantojiet formulu:
2000/(y-x)/x)
kur x = faktiskais pagājušais laiks un y = pulksteņa laiks, abas sekundes
Lai atrastu x un y vērtību, jums jāveic neliels eksperiments.
Iestatiet pulksteņa laiku uz faktisko laiku un ierakstiet sākotnējo laiku (faktiskajam sākotnējam laikam un pulksteņa sākuma laikam jābūt vienādam). Pēc kāda laika (dažas stundas) pierakstiet faktisko beigu laiku un pulksteņa beigu laiku.
x = faktiskais pēdējais laiks-sākuma laiks un y = pulksteņa pēdējais laiks-sākuma laiks
Pēc tam mainiet koda corrdur vērtību un atkārtoti ielādējiet to Arduino.
Pēc tam atkārtojiet testu, un šoreiz formula tika mainīta uz:
2000/((2/z)+(y-x/x))
Kur x un y ir tas pats, kas iepriekš, bet z ir pašreizējā vērtība.
Augšupielādējiet vēlreiz un atkārtojiet pārbaudi, līdz tas ir pietiekami precīzs.
Gadījumā, ja jūsu pulkstenis joprojām paātrina, pat ja Corrdur ir iestatīts uz 0 (tas nozīmē, ka nav koriģējoša mehānisma), otrais ++ jāmaina uz otro- koda koriģējošā mehānisma daļā (es to komentēju), iestatiet corrdur uz 0, tad atrodi nr. sekundes, lai paātrinātu vienu sekundi.
12. solis: kā izmantot visas funkcijas
Režīmu var mainīt, nospiežot mikro slēdzi.
Pirmajā režīmā tas vienkārši parāda laiku. Ja indikators mirgo 1 reizi sekundē, trauksme ir izslēgta. Ja 2 reizes sekundē, modinātājs ir ieslēgts. Modinātāju var atlikt uz 10 minūtēm pirmajā režīmā, nospiežot kapacitātes sensoru.
Otrajā režīmā tas parāda datumu. Kapacitātes sensora nospiešana neko nedara.
Trešajā režīmā varat iestatīt taimeri. Nospiežot kapacitātes sensoru, tiks ieslēgts taimeris, un jums vajadzētu redzēt, kā sāk mirgot indikators. Kapacitātes sensoru izmanto arī, lai iestatītu taimera laiku. Taimera diapazons ir no 1 minūtes līdz 59 minūtēm.
Ceturtajā režīmā varat iestatīt modinātāja stundu, izmantojot kapacitātes sensoru
Piektajā režīmā varat iestatīt modinātāja minūti, izmantojot kapacitātes sensoru.
Sestajā režīmā, nospiežot kapacitātes sensoru, minūte tiks atiestatīta uz 30 un sekunde uz 0, nemainot stundu. Tas nozīmē, ka, kamēr jūsu pulkstenis nepārsniedz 30 minūtes, varat to atkārtoti kalibrēt, izmantojot šo režīmu.
Septītais režīms ir nedarīšanas režīms gadījumā, ja kapacitātes sensors uzlādes laikā izslēdzas.
Ak, lai izslēgtu modinātāju, vienkārši nospiediet mikro slēdzi. (Nesenākais atjauninājums, lai iekļautu trauksmes signālu)
Nu, kā būtu ar pulksteņa lasīšanu? Tas ir viegli! Binārā pulksteņa lasīšana - Wikihow Sākumā jūs varētu justies dīvaini, bet jūs pie tā pieradīsit!
13. darbība. Secinājums
Kāpēc es sāku šo projektu. Sākotnēji tas ir tāpēc, ka man ir vecs digitālais pulkstenis, kas atrodas apkārt, un es vēlos to pārvērst par modinātāju. Diemžēl vecais pulkstenis izrādījās salauzts. Tāpēc es domāju, kāpēc neveidot tādu, izmantojot Arduino? Izmantojot nelielu Google meklēšanu, es atradu šo bināro pulksteņu projektu bez RTC, norādot Cello62. Tomēr tai nav modinātāja funkcijas, kuru es vēlos, tāpēc es paņemu kodu un pats to pārveidoju. Un projekts ir dzimis. Turklāt es nesen redzēju, ka pulksteņu konkurss norisinājās pēc pamācības, kas man deva vēl lielāku motivāciju to darīt. Jebkurā gadījumā šis joprojām ir mans pirmais projekts, kurā izmantoju Arduino, tāpēc virkne iespējamo uzlabojumu.
Turpmākie uzlabojumi:
1) Izmantojiet RTC
2) Iestatiet modinātāju vai laiku vai taimeri bezvadu režīmā!
3) Neatkarīgi no iezīmēm, par kurām es domāju
14. darbība. Atjaunināšana: pēc vienas nedēļas lietošanas
Ja neskaita acīmredzamo problēmu - laika novirzīšanos, nākamā, ko es teiktu, ir enerģijas patēriņš. Vispirms es paaugstinu spriegumu līdz 9v, ko pēc tam pazeminās lineārais regulators Arduino. Lineārais regulators ir ļoti neefektīvs. Pulkstenis ilgst tikai VIENU DIENU. Tas nozīmē, ka man tas ir jāuzlādē katru dienu. Tas nav lielākais darījums, līdz saprotat, ka visa sistēma ir tikai aptuveni 50% efektīva. Ņemot vērā, ka mana akumulatora jauda ir 2000 mAh, es varētu aprēķināt katru dienu izšķērdēto jaudu.
Enerģijas izšķiešana = (7.4Wh*10%)+(7.4Wh*90%*50%) = 4.07Wh dienā
Tas ir 1,486 kWh gadā! To var izmantot, lai uzvārītu 283 g ūdens (no 25 C līdz 100 C)? Bet jebkurā gadījumā es uzlabošu pulksteņa efektivitāti. Veids, kā to izdarīt, ir vispār neizmantot lineāro regulatoru. Tas nozīmē, ka mums ir jāpielāgo pastiprinātāja pārveidotājs, lai izvadītu 5V tieši Arduino 5V tapā. Tālāk, lai vēl vairāk samazinātu izšķērdēto jaudu, man ir jānoņem divi iebūvētie LED (pin13 un jauda), jo tie iztērēs 0,95Wh dienā. Diemžēl es esmu pilnīgi niecīgs pie SMD lodēšanas, tāpēc vienīgais veids, kā to izdarīt, ir nogriezt sliedi uz tāfeles. Pēc tam man ir jānoņem signāla rezistors uz skaņas signāla un gultas lampa (LED sloksne nedarbojas pie 5 V). Bet vai tas nozīmē, ka jums ir jāatsakās no šīs apbrīnojamās iezīmes? Nē! Šeit jums ir divas izvēles: izmantojiet parasto 5 mm LED diode vai 5 V LED sloksni. Bet man jau bija sajūta, ka esmu visu pagājušo nedēļu nodarbojies ar šo projektu, tāpēc nolēmu atteikties no šīs funkcijas. Tomēr es sākotnēji izmantoju slēdzi gaismas funkcijai, lai ieslēgtu vai izslēgtu pulksteņa paneli, lai vēl vairāk ietaupītu enerģiju, bet galu galā LED mirgo, kad to izslēdzu. Kļūda kļūst par iezīmi? Es nezinu (kāds zina, lūdzu, pastāstiet man zemāk).
Modifikācijas beigās pulkstenis tagad ilgst vairāk nekā 2 dienas!
Tālāk man ir mazāk nopietna problēma ar pulksteni. Uzlādes laikā kapacitātes sensors kļūtu traks, tāpēc es pievienoju citu režīmu, kas pilnīgi neko nedara.
Runājot par laika maiņu, tā kā ir ļoti neērti katru dienu pieslēgties datoram, lai to atiestatītu, esmu pievienojis vēl vienu režīmu, kas iestatīs minūti līdz 30 un sekundi līdz 0. Tas nozīmē, ka jūs varētu to atiestatīt pusstundā jebkurā stundā!
Ieteicams:
Mikro binārais pulkstenis: 10 soļi (ar attēliem)
Mikro binārais pulkstenis: iepriekš izveidojot instrukciju (bināro DVM), kas izmanto ierobežoto displeja apgabalu, izmantojot bināro. Tas bija tikai neliels solis, iepriekš izveidojot galveno koda moduli decimāldaļai uz bināro, lai izveidotu bināro pulksteni, bet t
Viedais modinātājs: viedais modinātājs, kas izgatavots ar Raspberry Pi: 10 soļi (ar attēliem)
Viedais modinātājs: viedais modinātājs, kas izgatavots, izmantojot Raspberry Pi: Vai esat kādreiz vēlējies gudru pulksteni? Ja tā, tas ir risinājums jums! Es izveidoju viedo modinātāju, tas ir pulkstenis, ar kuru jūs varat mainīt modinātāja laiku atbilstoši vietnei. Kad modinātājs atskan, atskanēs skaņa (skaņas signāls) un iedegsies 2 gaismas
3 ciparu Arduino binārais skaitītājs: 8 soļi (ar attēliem)
3 ciparu Arduino binārais skaitītājs: šis projekts ir skaitītājs 1-999, izmantojot 4-LED katram ciparam, bet tā vadības tapa ir anods, atstājot brīvus katodus savienošanai ar atbilstošo LED rindu un rezistoru starp šo un Arduino tapu . Kopējie anodi būs
Arduino binārais pulkstenis - 3D drukāts: 5 soļi (ar attēliem)
Arduino binārais pulkstenis - 3D drukāts: es kādu laiku skatos uz binārajiem pulksteņiem sava biroja galdam, tomēr tie ir diezgan dārgi un / vai tiem nav milzīgu funkciju. Tāpēc es nolēmu tā vietā uztaisīt vienu. Viens punkts, kas jāņem vērā, veidojot pulksteni, Arduino / Atmega328
Arduino binārais modinātājs: 13 soļi (ar attēliem)
Arduino binārais modinātājs: Hei, šodien es vēlos jums parādīt, kā izveidot vienu no maniem jaunākajiem projektiem, savu bināro modinātāju. Internetā ir daudz dažādu bināro pulksteņu, taču tas faktiski varētu būt pirmais, kas izgatavots no krāsainu adresējamu gaismas diodes sloksnes