Satura rādītājs:

Arduino binārais modinātājs: 13 soļi (ar attēliem)
Arduino binārais modinātājs: 13 soļi (ar attēliem)

Video: Arduino binārais modinātājs: 13 soļi (ar attēliem)

Video: Arduino binārais modinātājs: 13 soļi (ar attēliem)
Video: ESP32 Tutorial 10 - Digital counter using Seven Segment Display 74HC595 -ESP32 IoT Learnig kit 2024, Septembris
Anonim
Image
Image

Sekojiet vairāk autora:

DIY lāzera cilvēku skaitītājs
DIY lāzera cilvēku skaitītājs
Pašpiedziņas laivas būvēšana (ArduPilot Rover)
Pašpiedziņas laivas būvēšana (ArduPilot Rover)
Pašpiedziņas laivas būvēšana (ArduPilot Rover)
Pašpiedziņas laivas būvēšana (ArduPilot Rover)
Perfekta naktslampa un tālruņa dokstacija
Perfekta naktslampa un tālruņa dokstacija
Perfekta naktslampa un tālruņa dokstacija
Perfekta naktslampa un tālruņa dokstacija

Par: Sveiki, mani sauc Jans, un es esmu veidotājs, man patīk būvēt un radīt lietas, kā arī esmu diezgan labs lietu labošanā. Tā kā es domāju, ka man vienmēr ir paticis radīt jaunas lietas, un to es turpinu darīt līdz … Vairāk par pagraba inženieriju »

Čau, šodien es vēlos jums parādīt, kā izveidot vienu no saviem 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, kurā ir arī trauksmes funkcija un pieskārienu pogas, lai iestatītu tādas lietas kā laiks un krāsa.

Lūdzu, neļaujiet sarežģītajam izskatam jūs atbaidīt. Ar nelielu skaidrojumu binārā lasīšana patiesībā nav tik grūta, kā šķiet. Un, ja jūs vēlaties uzzināt kaut ko jaunu, es vēlētos jums palīdzēt to darīt vēlāk.

Ļaujiet man nedaudz pastāstīt par šī projekta stāstu:

Sākotnēji es plānoju izveidot "parastu" pulksteni, kas izmanto gaismas diodes kā rokas, bet man nebija pietiekami daudz gaismas diožu.

Ko jūs darāt, ja vēlaties parādīt laiku ar pēc iespējas mazāk gaismas diodēm?

Jūs dodaties binārā, un tieši to es šeit darīju.

Šis pulkstenis ir trešā šāda veida versija. Es uzbūvēju ļoti vienkāršu prototipu uzreiz pēc tam, kad projekta ideja mani pārsteidza, un aizvedu to uz Maker Faire Hannoverē, lai redzētu, ko cilvēki par to domā. Kamēr es biju tur, es saņēmu daudz ļoti pozitīvu un interesantu atsauksmju, kā arī idejas par uzlabojumiem.

Visu šo ideju un stundu domāšanas, lāpīšanas un programmēšanas rezultāts ir šis diezgan interesanti izskatīgais mazais modinātājs, kuram ir daudz vairāk funkciju nekā versijai 1.0, un šodien mēs iesim cauri visiem būvniecības soļiem, lai jūs varētu viegli izveidot vienu pats.

Youtube ir arī ļoti detalizēts video, ja jūs nevēlaties visu izlasīt.

1. darbība: iegūstiet lietas

Iegūstiet savas lietas
Iegūstiet savas lietas
Iegūstiet savas lietas
Iegūstiet savas lietas
Iegūstiet savas lietas
Iegūstiet savas lietas

Šeit ir neliels saraksts ar visiem komponentiem un rīkiem, kas jums būs nepieciešami, lai izveidotu savu bināro pulksteni.

Elektronika:

  • 18 adresējamas Ws2811 gaismas diodes (piemēram, neopikseļi) uz sloksnes ar 60 gaismas diodēm uz m (ebay)
  • Arduino Nano (ar ATMega328 procesoru) (ebay)
  • 1307 RTC modulis (ebay)
  • 4X ietilpīgas skārienpogas (ebay)
  • bs18b20 digitālais temperatūras sensors (ebay)
  • LDR (ebay)
  • klēpjdatora/viedtālruņa skaļrunis vai pjezo skaņas signāls
  • 2222A NPN tranzistors (vai kaut kas līdzīgs)
  • vīriešu galvenes
  • leņķveida sieviešu galvenes (ebay)
  • 1 kOhm rezistors
  • 4, 7 kOhm rezistors
  • 10 kOhm rezistors
  • Vadi
  • 7x5cm prototipa PCB 24x18 caurumi (ebay)
  • sudraba stieple (juvelierizstrādājumu stieple) (ebay)
  • 90 ° mini USB adapteris (ebay)

Citi materiāli

  • Vinila ietīšana
  • 4X 45mm m4 atloku galvas skrūves (ebay)
  • 32X m4 metāla paplāksnes
  • 4X m4 bloķēšanas uzgrieznis
  • 28X m4 uzgrieznis
  • 4X 10mm m3 misiņa PCB izolācija (ebay)
  • 8X 8mm m3 skrūve (ebay)
  • alumīnija loksne
  • 2 mm piena akrila loksne
  • 2 mm caurspīdīga akrila loksne
  • 3 mm MDF loksne
  • divpusēja lente

Rīki

  • mini USB kabelis
  • dators, kurā darbojas Arduino IDE
  • 3, 5 mm urbis
  • 4,5 mm urbis
  • spēka urbis
  • griešanas nazis
  • copes zāģis
  • lodēšanas jons
  • metāla griešanas šķēres
  • failu
  • smilšpapīrs

Veidnes (tagad ar izmēriem)

  • PDF
  • Bezmaksas Office Draw

Kods

  • Skices
  • Pogu bibliotēka
  • Taimera bibliotēka
  • Jukebox bibliotēka
  • Modificēts RTClib
  • Adafruit Neopixel bibliotēka
  • Arduino temperatūras kontroles bibliotēka

2. darbība: izgrieziet priekšējo un aizmugurējo paneli

Izgrieziet priekšējo un aizmugurējo paneli
Izgrieziet priekšējo un aizmugurējo paneli
Izgrieziet priekšējo un aizmugurējo paneli
Izgrieziet priekšējo un aizmugurējo paneli
Izgrieziet priekšējo un aizmugurējo paneli
Izgrieziet priekšējo un aizmugurējo paneli
Izgrieziet priekšējo un aizmugurējo paneli
Izgrieziet priekšējo un aizmugurējo paneli

Pirmais gabals, ko mēs izgatavosim, ir akrila priekšējais panelis. Mēs atzīmējam, kur vēlamies, lai mūsu griezumi nonāktu, paturot prātā, ka mēs vēlamies mazliet pieļaut slīpēšanu. Tad mēs vienkārši nokasām akrilu ar savu griešanas nazi. Pēc tam, kad esam to izdarījuši 10 līdz 20 reizes, mums ir grope. Pēc tam mēs varam novietot šo birzi uz galda malas un saliekt akrilu, līdz tas saplīst.

Pēc tam, kad priekšējais panelis ir sagriezts pēc izmēra, mēs izgriežam aizmugurējo paneli no MDF gabala. Šim nolūkam mēs varam izmantot savu zāģēšanas zāģi, taču darbojas arī griešanas nazis. Mums vienkārši jāpiestiprina MDF uz koka lūžņiem un jāsaskrāpē ar griezējnazi, līdz asmens iet cauri un mums ir divi atsevišķi gabali.

Tagad mēs saliekam abus paneļus kopā un slīpējam katru pusi, lai tie pilnībā sakristu.

Pēc tam, kad tas ir izdarīts, mēs izgriezām pirmo veidni un, izmantojot lenti, uzliekam to uz diviem paneļiem un sākam urbt iezīmētos caurumus.

Vispirms katrā no 4 stūriem izurbjam 4,5 mm caurumu. Tā kā akrils ir ļoti trausls un mēs nevēlamies, lai tas saplīst, mēs sāksim ar nelielu urbi un strādāsim augšup, līdz sasniegsim vēlamo cauruma diametru. Pēc tam mēs izmantojam veidni, lai noslīpētu stūrus pareizajā formā.

3. darbība: pabeidziet aizmugurējo paneli

Pabeidziet aizmugurējo paneli
Pabeidziet aizmugurējo paneli
Pabeidziet aizmugurējo paneli
Pabeidziet aizmugurējo paneli
Pabeidziet aizmugurējo paneli
Pabeidziet aizmugurējo paneli
Pabeidziet aizmugurējo paneli
Pabeidziet aizmugurējo paneli

Pagaidām mēs varam nolikt priekšējo paneli malā un pielīmēt otro veidni uz aizmugurējā paneļa, kur mums jāizmanto 3, 5 mm urbis, lai izurbtu caurumus mūsu 4 pc atdalīšanai, kā arī 4 caurumus, kas iezīmē malas par mazo aizmugurējo logu.

Pēc tam mēs izmantojam savu zāģēšanas zāģi, lai ar failu izgrieztu logu un izlīdzinātu malas. Jūs arī nevēlaties aizmirst izurbt caurumu mini USB kabelim (es dzirdēju par vienu ne tik koncentrētu veidotāju, kuram ir tendence darīt šādas lietas: D).

Kad esam pabeiguši aizmugurējā paneļa griešanu, mēs varam turpināt to ietīt vinila plēvē. Mēs vienkārši sagriežam divus gabalus pareizajā izmērā un uzliekam pirmo uz vienu pusi. Tad mēs nogriežam apmales un atbrīvojam logu. Matu žāvētājs var palīdzēt atkal padarīt redzamus visus caurumus, lai mēs tos varētu arī izgriezt. Pēc tam, kad esam darījuši to pašu otrā pusē, mēs izmantojam nākamo veidni un skrāpēšanas un laušanas paņēmienu, lai izveidotu aizmugurējā paneļa mazo akrila logu.

4. solis: izveidojiet LED paneli

Izveidojiet LED paneli
Izveidojiet LED paneli
Izveidojiet LED paneli
Izveidojiet LED paneli
Izveidojiet LED paneli
Izveidojiet LED paneli

Tagad mēs nonākam pie šī projekta svarīgākā vārda tiešākajā nozīmē. LED panelis.

Mēs izmantojam savas metāla griešanas šķēres, lai no metāla loksnes izgrieztu 12,2x8 cm lielu gabalu. To darot, esiet piesardzīgs, jo šķēres rada ļoti asas malas. Mēs tos izlīdzināsim ar savu failu un smilšpapīru. Tad mēs pievienojam nākamo veidni, lai urbtu caurumus skrūvēm un vadiem.

Laiks sagatavot faktiskās gaismas diodes.

Pirmkārt, mēs tos sagriežam trīs sloksnēs pa 6 LED. Dažām LED sloksnēm ir ļoti plāns līmes slānis vai vispār nav līmes, tāpēc mēs pielīmēsim savas sloksnes uz abpusējas lentes gabala un sagriezīsim to ar nazi. Tas padarīs to pielīmējamu pie metāla plāksnes un, lai gan tas nav profesionāls risinājums, izolēs vara spilventiņus no zemāk esošās metāla virsmas.

Pirms sloksnes pielīmējam pie paneļa, notīrām to ar spirtu. Kamēr mēs pievienojam gaismas diodes, mums ir jāpārliecinās, ka mēs tos noliekam pareizajā vietā un pareizajā virzienā. Mazās bultiņas uz LED sloksnes norāda virzienu, kādā dati pārvietojas pa joslu.

Kā redzat piektajā attēlā, mūsu datu līnija nāk no paneļa augšējā kreisā stūra, iet caur pirmo sloksni līdz labajai pusei, nevis atpakaļ uz nākamās sloksnes sākumu kreisajā pusē un tā tālāk. Tātad visām mūsu bultiņām ir jānorāda uz labo pusi.

Uzkarsēsim lodēšanas jonu un uzliksim alvu uz vara spilventiņiem, kā arī uz mūsu stieples. Datu līnijas ir savienotas, kā es tikko aprakstīju, bet mēs vienkārši paralēli pievienojam sloksnes plus un mīnus spilventiņus.

Kad sloksnes ir pieslēgtas, mēs ar nazi uzmanīgi pacelām katras sloksnes galus, turot gaismas diodes uz leju, lai tās joprojām būtu vērstas uz augšu. Pēc tam mēs ievietojām karstu līmi, lai izolētu lodēšanas savienojumus.

Pēc tam, kad tas ir izdarīts, un mēs pievienojam dažus galvenes tapas vadiem, kas nonāk pie PCB. Šiem vadiem jābūt apmēram 16 cm gariem. Lai būtu pārliecināts, ka metāla panelis neko netraucē, mēs izmantojam multimetru, lai izmērītu pretestību starp visām tapām. Ja tas parāda kaut ko virs 1kOhm, viss ir kārtībā.

Tagad mēs varam to savienot ar Arduino, palaist virkni un izbaudīt krāsas.

5. solis: izveidojiet gaismas ceļvedi

Izveidojiet gaismas ceļvedi
Izveidojiet gaismas ceļvedi
Izveidojiet gaismas ceļvedi
Izveidojiet gaismas ceļvedi
Izveidojiet gaismas ceļvedi
Izveidojiet gaismas ceļvedi
Izveidojiet gaismas ceļvedi
Izveidojiet gaismas ceļvedi

Ja mēs novietojam savu LED paneli tieši aiz piena akrila, var būt diezgan sarežģīti atšķirt atsevišķas gaismas diodes. Tas padarītu mūsu pulksteni vēl grūtāk lasāmu, nekā tas jau ir.

Lai atrisinātu šo problēmu, mēs izveidosim nelielu gaismas ceļvedi. Šim nolūkam mēs vienkārši izgriezām citu MDF gabalu, kura izmērs ir tāds pats kā priekšējam panelim. Tad mēs tam pievienojam vēl vienu veidni un urbjam astoņpadsmit 3, 5 mm caurumus gaismas diodēm, kā arī četrus 4, 5 mm caurumus skrūvēm. Pēc tam mēs varam to piestiprināt pie priekšējā paneļa un abus izlīdzināt ar smilšpapīru.

Kā redzat pēdējā attēlā, tagad gaisma šķiet daudz koncentrētāka.

6. darbība: izveidojiet pogu rāmi

Izveidojiet pogu rāmi
Izveidojiet pogu rāmi
Izveidojiet pogu rāmi
Izveidojiet pogu rāmi
Izveidojiet pogu rāmi
Izveidojiet pogu rāmi

Pēdējais korpusa komponents, ko mēs gatavojamies izgatavot, ir pogu rāmis.

Mēs, atkal, sagriežam MDF gabalu pareizajā izmērā un pievienojam tam veidni, pēc tam mēs izurbjam visus nepieciešamos caurumus un izmantojam zāģēšanas zāģi, lai izgrieztu vidējo daļu.

Mūsu rāmim vajadzētu turēt 4 skārienjutīgās pogas, gaismas sensoru un mūsu mazo skaļruni. Pirms mēs varam tos piestiprināt pie rāmja, mēs no MDF izgriezām pāris mazākus vāka gabalus. Pēc tam mēs karsti pielīmējam komponentus uz šiem vākiem un pievienojam tiem vadus.

Skārienjutīgās pogas barošanas paliktņi ir savienoti paralēli, savukārt katrai izejas līnijai ir atsevišķs vads. Šis ir arī labs brīdis, lai pārbaudītu, vai tie visi darbojas. Tā kā gaismas sensoram vienā pusē nepieciešami 5 volti, mēs varam to vienkārši pieslēgt trauksmes pogām VCC spilventiņam un pielodēt vadu pie otras kājas.

Pēc paneļu sagatavošanas mēs sagriežam rāmja sānos, lai atbrīvotu vietu tiem un to vadiem.

Pēc tam mēs ar putekļu sūcēju noņemam koksnes putekļus no visiem gabaliem un pārklājam tos ar vinila plēvi.

Mēs izmantojam precīzo nazi, lai noņemtu vinila gabalus tieši virs mūsu skārienjutīgo moduļu jutīgajām zonām. Ar dažām abpusējām lentēm mēs varam MDF piestiprināt savas pogas. Es izveidoju pogas no gumijas putām, kas tām piešķir jauku, mīkstu tekstūru, bet jūs varat izmantot jebkuru nemetālisku materiālu, kuru vēlaties.

Uz rāmja mēs izmantojam savu nazi, lai vēlreiz atbrīvotu nedaudz MDF, kas nodrošina karstās līmes satveršanas virsmu. Tad mēs beidzot varam pielīmēt sastāvdaļas mūsu rāmja sānos.

7. solis: lodējiet galveno PCB

Lodējiet galveno PCB
Lodējiet galveno PCB
Lodējiet galveno PCB
Lodējiet galveno PCB
Lodējiet galveno PCB
Lodējiet galveno PCB

Ļaujiet atstāt rāmi tādu, kāds tas ir šobrīd, un pāriet uz PCB. PCB izkārtojumu var redzēt pirmajā attēlā.

Mēs sākam, ievietojot komponentus ar zemāko profilu uz shēmas plates. Mazākās sastāvdaļas ir stiepļu tilti, kurus atcerējos mazliet par vēlu, tāpēc sāku ar rezistoriem. Mēs lodējam savus komponentus un pārietam uz nākamo augstāko sastāvdaļu komplektu.

Tālāk mums ir mūsu sieviešu galvenes tapas. Lai ietaupītu vietu un varētu pieslēgt elektroniku no sāniem, mēs tos uzstādām 90 grādu leņķī.

Tranzistori īsti neatbilst mūsu PCB 2, 54 mm atverēm, tāpēc mēs izmantojam knaibles, lai rūpīgi saliektu kājas līdz formai, kas parādīta otrajā attēlā. Mēs vispirms pielodējam vienu no viņu kājām un pagriežam PCB. Pēc tam mēs atkārtoti uzsildām lodēšanas savienojumu un izmantojam pirkstu vai knaibles, lai pareizi novietotu sastāvdaļu. Tagad mēs varam lodēt abas pārējās kājas vietā.

Pēc visām mazajām sastāvdaļām mēs pielodējam savu Arduino un reālā laika pulksteņa moduli. RTC modulis arī neatbilst caurumu atstarpēm tik labi, tāpēc mēs aprīkosim tikai to pusi, kurai ir 7 lodēšanas spilventiņi ar galvenes tapām. Turklāt zem tā mēs ievietojam lenti, lai novērstu īssavienojumus.

Tā kā visas mūsu sastāvdaļas ir pielodētas, tagad ir pienācis laiks izveidot savienojumus tāfeles otrā pusē. Šim nolūkam mēs izņemsim vadu, kas nav izolēts. Lai iztaisnotu, var izmantot knaibles. Tad mēs sagriežam vadu mazākos gabalos un pielodējam pie PCB.

Lai izveidotu savienojumu, mēs uzkarsējam lodēšanas savienojumu un ievietojam vadu. Pēc tam mēs turējam lodēšanas jonu uz tā, līdz tas sasniedz pareizo temperatūru un lodējums to ieskauj, un mēs iegūstam savienojumu, kas izskatās kā attēlā redzamais. Ja mēs nesasildām vadu, mēs varam iegūt aukstu savienojumu, kas izskatītos līdzīgi citam piemēram un nevadītu ļoti labi. Mēs varam izmantot savu stiepļu griezēju, lai lodēšanas laikā stieptu vadu uz leju un pārliecinātos, ka tas atrodas uz PCB. Garākos savienojuma ceļos mēs to lodējam pie viena paliktņa ik pēc 5 līdz 6 caurumiem, līdz mēs sasniedzam stūri vai nākamo sastāvdaļu.

Kādā stūrī mēs sagriežam vadu virs lodēšanas spilventiņa pirmās puses un pielodējam tā galu. Pēc tam mēs ņemam jaunu stieples gabalu un turpinām no turienes taisnā leņķī.

Šo tukšo vadu savienojumu izveide ir diezgan sarežģīta un prasa zināmas prasmes, tādēļ, ja jūs to darāt pirmo reizi, noteikti nav slikta ideja to praktizēt uz PCB lūžņiem, pirms mēģināt to izdarīt ar īsto.

Pēc lodēšanas pabeigšanas mēs vēlreiz pārbaudām savienojumus un pārliecināmies, ka neesam radījuši īssavienojumus. Tad mēs varam ievietot PCB pogu rāmī un izmantot to kā atsauci nepieciešamajiem rāmja stieples garumiem. Pēc tam mēs sagriežam šos vadus pareizajā garumā un pievienojam tiem tērauda galvenes tapas.

Visi skārienpogu 5V un zemējuma savienojumi ir savienoti 2 kontaktu savienotājā. 4 izejas vadi iegūst 4 kontaktu savienotāju un gaismas sensora līnija, kā arī divi skaļruņu vadi ir apvienoti trīs kontaktu savienotājā. Neaizmirstiet iezīmēt katras kontaktligzdas un savienotāja vienu pusi ar asinātāju vai lenti, lai nejauši nepievienotu tos nepareizam ceļam.

8. solis: salieciet pulksteni

Salieciet pulksteni
Salieciet pulksteni
Salieciet pulksteni
Salieciet pulksteni
Salieciet pulksteni
Salieciet pulksteni
Salieciet pulksteni
Salieciet pulksteni

Pēc tam es atgriezos pie priekšējā paneļa un pēdējam pieskārienam uzmanīgi uzlīmēju uzlīmi, kas izgatavota no caurspīdīgas lāzera printera folijas.

Lai gan es to izmantoju ļoti piesardzīgi, man neizdevās iegūt rezultātu bez burbuļiem, kas diemžēl ir skaidri redzams, rūpīgi pārbaudot. Folija arī ne pārāk labi pielīp pie stūriem, tāpēc nevaru īsti ieteikt šo risinājumu.

To, iespējams, varētu izdarīt ar labāku uzlīmi, vai, ja jums labi padodas zīmēt, skaitļus varētu pievienot ar asumu.

Tagad mums ir visas sastāvdaļas un mēs varam salikt savu pulksteni.

Mēs sākam, saliekot kopā gaismas vadotni un priekšējo paneli. Kad visas 4 skrūves ir ieslēgtas, mēs izlīdzinām divus paneļus un pēc tam pievelciet tos. Pāris riekstu vēlāk nāk gaismas panelis, kur mums ir jāskatās virziens. Kabelim jābūt augšpusē.

Trešais gabals ir pogu rāmis. Paturiet prātā, ka, skatoties no priekšpuses, skaļrunim jāatrodas pulksteņa labajā pusē. Izvelciet LED paneļa kabeli cauri rāmja vidum, pirms to nostiprināt vietā.

Tagad mēs uzliekam priekšējo montāžas palīgu un pārejam pie aizmugurējā paneļa. Attēlā jūs varat redzēt arī manu skaisto 90 grādu mini USB adapteri. Es jums piesaistīju atbilstošu adapteri, tāpēc jums nebūs jāsaskaras ar šāda veida jucekli. Jūs varat vienkārši pievienot adapteri un izvadīt kabeli caur caurumu aizmugurējā panelī.

Mēs ņemam M3 skrūves un PCB starplikas, lai salabotu mazo logu. Ir svarīgi rūpīgi pievilkt skrūves, jo mēs nevēlamies sabojāt akrilu. Tad mēs ņemam mūsu PCB, pievienojam adapteri un pieskrūvējam to starplikām. Komponenta pusei jābūt vērstai pret logu, bet Arduino USB portam jābūt vērstam pret pulksteņa apakšdaļu.

Tad mēs pievienojam visus savienotājus no priekšējā bloka, paturot prātā polaritāti un uzmanīgi saspiežot visus vadus pulkstenī. Pēc tam mēs to varam aizvērt ar aizmugurējo paneli un pievelciet 4 atlikušos bloķēšanas uzgriežņus.

Galu galā jūs vēlaties, lai katra paneļa katrā pusē būtu mazgātājs, bet gaismas vadotne ir novietota tieši aiz priekšējā paneļa. Mums ir viens uzgrieznis starp gaismas vadotni un LED paneli un vēl divi, atdalot to no pogas rāmja. To var redzēt arī pēdējā attēlā.

Tā kā es izmantoju īsas skrūves, kuru garums ir 40 mm, man ir tikai 3 uzgriežņi, kas nošķir aizmugurējo paneli un rāmi. Izmantojot pareizās 45 mm skrūves, jūs šeit pievienotu vēl vienu uzgriezni, kā arī vienu vai divas papildu paplāksnes. Montāžas beigās mums ir bloķēšanas uzgrieznis, lai viss paliktu vietā.

9. darbība: augšupielādējiet kodu un kalibrējiet gaismas sensoru

Augšupielādējiet kodu un kalibrējiet gaismas sensoru
Augšupielādējiet kodu un kalibrējiet gaismas sensoru
Augšupielādējiet kodu un kalibrējiet gaismas sensoru
Augšupielādējiet kodu un kalibrējiet gaismas sensoru
Augšupielādējiet kodu un kalibrējiet gaismas sensoru
Augšupielādējiet kodu un kalibrējiet gaismas sensoru

Laiks augšupielādēt mūsu kodu.

Vispirms mēs lejupielādējam visus nepieciešamos failus un izpakojam tos. Pēc tam mēs atveram mapi Arduino bibliotēkas un ievietojam tajā visas jaunās bibliotēkas.

Tagad mēs atveram gaismas sensora kalibrēšanas skici, kas mums parādīs pulksteņa automātiskās aptumšošanas funkcijas spilgtās un tumšās vērtības. Mēs to augšupielādējam, atveram sērijveida monitoru un izpildām ekrānā redzamos norādījumus.

Pēc tam mēs atveram bināro pulksteņu faktisko kodu un aizstājam abas vērtības ar tikko izmērītajām.

Mēs aizveram visus pārējos logus, augšupielādējam kodu pulkstenī un esam pabeiguši.

Laiks spēlēties ar mūsu jauno sīkrīku.

10. solis: ātrs ievads binārajā sistēmā

Īss ievads binārajā sistēmā
Īss ievads binārajā sistēmā
Īss ievads binārajā sistēmā
Īss ievads binārajā sistēmā
Īss ievads binārajā sistēmā
Īss ievads binārajā sistēmā
Īss ievads binārajā sistēmā
Īss ievads binārajā sistēmā

Pirms turpināt, es vēlētos atbildēt uz vienu jautājumu, kas, iespējams, jau ir izgājis jūsu prātā, "Kā pasaulē jūs lasāt šo pulksteni?"

Lai to izdarītu, es vēlētos jums īsi iepazīstināt ar bināro sistēmu.

Mēs visi esam pazīstami decimāldaļsistēmā, kur katram ciparam var būt 10 dažādi stāvokļi, sākot no 0 līdz 9. Binārā skaitlī katram ciparam var būt tikai divi stāvokļi - 1 vai 0, tāpēc jūs varat izmantot kaut ko tik vienkāršu kā parādīt bināro skaitli.

Lai parādītu ciparus, kas decimāldaļās ir lielāki par 9, mēs pievienojam vairāk ciparu. Katram ciparam ir noteikts reizinātājs. Pirmais cipars no labās puses nāk ar reizinātāju 1, nākamais ir 10, bet nākamais ir 100. Ar katru jaunu ciparu reizinātājs ir desmit reizes lielāks nekā iepriekšējais cipars. Tātad mēs zinām, ka skaitlis divi novieto vienu ciparu pa kreisi, apzīmē skaitli 20. Kamēr divi cipari pa kreisi, tas apzīmē 200.

Binārajā sistēmā katram ciparam ir arī reizinātājs. Tomēr, tā kā katram ciparam var būt tikai divi dažādi stāvokļi, katrs jaunais reizinātājs ir divas reizes lielāks nekā iepriekšējais. Ak, un, starp citu, bināros ciparus sauc par bitiem. Tātad, apskatīsim mūsu pirmo piemēru, ja mēs ievietojam 1 zemākajā pozīcijā, tas ir vienkāršs 1, bet, ja mēs to novietojam uz nākamo augstāko pozīciju, kur mūsu reizinātājs ir 2, tas attēlo skaitli 2 binārā.

Kā būtu ar nedaudz sarežģītāku piemēru attēla apakšā. Trešais un pirmais bits ir ieslēgts. Lai iegūtu šeit attēloto decimāldaļu, mēs vienkārši pievienojam divu bitu vērtības. Tātad 4 * 1 + 1 * 1 vai 4 + 1 dod mums skaitli 5.

8 biti tiek dēvēti par baitiem, tāpēc redzēsim, kādu skaitli mēs iegūstam, ja ar tiem aizpildām veselu baitu.1+2+4+8+16+32+64+128, kas ir 255, kas ir augstākā vērtība, kāda var būt vienam baitam.

Starp citu, lai gan decimāldaļu sistēmā cipars ar lielāko reizinātāju vienmēr ir pirmais, jums ir divi veidi, kā skaitli ierakstīt binārā. Šīs divas metodes sauc par vismazāk nozīmīgo baitu vispirms (LSB) un visnozīmīgāko baitu vispirms (MSB). Ja vēlaties lasīt bināro skaitli, jums jāzina, kurš no diviem formātiem tiek izmantots. Tā kā tas ir tuvāk decimāldaļas sistēmai, mūsu binārais pulkstenis izmanto MSB variantu.

Atgriezīsimies pie mūsu reālās pasaules piemēra. Kā uzsvērts sestajā attēlā, mūsu pulkstenim ir 4 biti, lai parādītu stundu. Nekā mums ir 6 biti minūtē un arī 6 biti sekundē. Vēl vairāk mums ir viens am/pm bits.

Labi, pasaki man, cik pulkstenis ir 6. attēlā, nekā pāriet uz pēdējo.. ….

stundu sadaļā mums ir 2+1, kas ir 3, un pm bits ir ieslēgts, tāpēc ir vakars. Tālāk minūti 32+8, tas ir 40. Sekundēm mums ir 8+4+2, kas ir 14. Tātad ir 3:40:14 vai 15:40:14.

Apsveicam, jūs tikko iemācījāties lasīt bināro pulksteni. Protams, ir nepieciešams nedaudz pierast, un sākumā jums būs jāsaskaita skaitļi, katru reizi, kad vēlaties uzzināt, cik ir pulkstenis, bet, līdzīgi kā analogajam pulkstenim bez ciparnīcas, jūs pieradīsit pie LED modeļiem laiks.

Un tas ir daļa no šī projekta būtības, reālajā pasaulē pārņemot kaut ko tik abstraktu kā bināro sistēmu un iepazīstot to labāk.

11. darbība: binārā modinātāja izmantošana

Izmantojot bināro modinātāju
Izmantojot bināro modinātāju
Izmantojot bināro modinātāju
Izmantojot bināro modinātāju
Izmantojot bināro modinātāju
Izmantojot bināro modinātāju

Tagad mēs beidzot vēlamies spēlēties ar pulksteni, tāpēc ļaujiet mums ātri apskatīt vadības ierīces.

Programmatūra var atšķirt vienu pogas pieskārienu, dubultskārienu un garu pieskārienu. Tātad katru pogu var izmantot vairākām darbībām.

Divreiz pieskaroties augšup vai lejup pogai, tiek mainīts gaismas diodes krāsu režīms. Jūs varat izvēlēties starp dažādiem statiskiem un izbalējošiem krāsu režīmiem, kā arī temperatūras režīmu. Ja esat kādā no statiskajiem krāsu režīmiem, turot augšup vai lejup nospiestu pogu, krāsa tiek mainīta. Izbalēšanas režīmā viens pieskāriens maina animācijas ātrumu.

Lai iestatītu regulēšanas režīmu, veiciet dubultskārienu pogai Labi. Gaismas panelis norāda iestatīto režīmu, vairākas reizes mirgot.

  • Viena reize nozīmē, ka nav dimmer.
  • Divas reizes nozīmē, ka spilgtumu kontrolē gaismas sensors.
  • Trīs reizes, un gaismas diodes automātiski izslēdzas pēc 10 sekunžu neaktivitātes.
  • Četras reizes un abi dimmer režīmi ir apvienoti.

Ilgi nospiežot pogu OK, jūs nokļūsit laika iestatīšanas režīmā, kur jūs varat izmantot augšup un lejup vērstās bultiņas, lai mainītu skaitli. Vienreiz pieskaroties pogai Labi, jūs varat pāriet no stundām uz minūtēm, vēl vienu pieskārienu un varat iestatīt sekundes. Pēc tam pēdējais pieskāriens ietaupa jauno laiku. Ja jūs nejauši ieslēdzat laika iestatīšanas režīmu, varat vienkārši pagaidīt 10 sekundes, un pulkstenis to automātiski atstās.

Tāpat kā ar pogu OK, ilgstoši nospiežot modinātāja pogu, varat iestatīt modinātāju. Dubultklikšķis uz modinātāja pogas aktivizē vai deaktivizē modinātāju.

Ja pulkstenis zvana, vienreiz pieskarieties modinātāja pogai, lai nosūtītu to uz 5 minūtēm miega režīmā vai turētu nospiestu, lai deaktivizētu modinātāja izslēgšanu.

Tās visas bija līdz šim pulksteņa funkcijas. Nākotnē es varētu pievienot vairāk, ko varat iegūt, lejupielādējot jaunāko programmaparatūras versiju.

12. darbība: koda izpratne (pēc izvēles)

Koda izpratne (pēc izvēles)
Koda izpratne (pēc izvēles)

Es zinu, ka daudziem cilvēkiem ļoti nepatīk programmēšana. Par laimi šiem cilvēkiem, lai izveidotu un izmantotu šo bināro pulksteni, gandrīz nav vajadzīgas programmēšanas zināšanas. Tātad, ja jums nerūp programmēšanas puse, varat vienkārši izlaist šo darbību.

Tomēr, ja jūs interesē kodēšanas daļa, es vēlētos sniegt jums vispārīgu pārskatu par programmu.

Katras mazās pulksteņa koda detaļas izskaidrošana pati par sevi būtu pamācāma, tāpēc es to darīšu vienkāršu, izskaidrojot programmu uz objektu orientētā veidā.

Ja jūs nezināt, ko tas nozīmē, uz objektu orientēta programmēšana (OOP) ir vismodernāko programmēšanas valodu, piemēram, C ++, jēdziens. Tas ļauj sakārtot dažādas funkcijas un mainīgos tā sauktajās klasēs. Klase ir veidne, no kuras var izveidot vienu vai vairākus objektus. Katram no šiem objektiem tiek piešķirts nosaukums un tam ir savs mainīgo kopums.

Piemēram, pulksteņa kodā tiek izmantoti vairāki MultiTouchButton objekti, piemēram, alarmButton. Tie ir objekti no klases MultiTouchButton, kas ir daļa no manas pogu bibliotēkas. Foršākais par šiem objektiem ir tas, ka jūs varat ar tiem saskarties ar reālās pasaules objektiem. Piemēram, mēs varam pārbaudīt, vai trauksmes poga tika divreiz pieskārusies, zvanot alarmButton.wasDoubleTapped (). Turklāt šīs funkcijas ieviešana ir labi paslēpta citā failā, un mums nav jāuztraucas par tās pārkāpšanu, mainot kaut ko citu mūsu kodā. Ātru ieiešanu objektorientētās programmēšanas pasaulē var atrast Adafruit vietnē.

Kā redzat iepriekš redzamajā grafikā, pulksteņu programmā ir daudz dažādu objektu.

Mēs tikko runājām par pogu objektiem, kas var interpretēt ievades signālus kā pieskārienu, dubultskārienu vai ilgu nospiešanu.

Mūzikas bloks, kā norāda nosaukums, var radīt troksni. Tam ir vairākas melodijas, kuras var atskaņot, izmantojot nelielu skaļruni.

BinaryClock objekts pārvalda laiku un modinātāja iestatījumus, kā arī modinātāja skatīšanos. Turklāt tas iegūst laiku no rtc moduļa un pārvērš to par bināro informācijas buferi LED panelim.

ColorController ietver visas krāsu efektu funkcijas un nodrošina krāsu paneli LEDPanel. Tas arī ietaupa tā stāvokli Arduinos EEProm.

Regulators regulē pulksteņa spilgtumu. Tam ir dažādi režīmi, kurus lietotājs var izmantot. Pašreizējais režīms tiek saglabāts arī EEProm.

LEDPanel pārvalda dažādus buferus katras gaismas diodes krāsu vērtībai, spilgtuma vērtībai un binārajam stāvoklim. Ikreiz, kad tiek izsaukta funkcija pushToStrip (), tā tos pārklāj un nosūta uz vadlīniju.

Visi objekti ir "savienoti" caur galveno (failu ar iestatīšanas un cilpas funkcijām), kas ietver tikai dažas funkcijas, lai veiktu 3 būtiskus uzdevumus.

  1. Lietotāja ievades interpretēšana - tā iegūst ievadi no 4 pogu objektiem un izliek tos caur loģiku. Šī loģika pārbauda pulksteņa pašreizējo stāvokli, lai noteiktu, vai pulkstenis ir normālā, laika iestatīšanas vai zvana režīmā, un attiecīgi izsauc dažādas funkcijas no citiem objektiem.
  2. Saziņas pārvaldība starp objektiem - tā pastāvīgi jautā binaryClock objektam, vai tai ir pieejama jauna informācija vai trauksme zvana (). Ja tai ir jauna informācija, tā iegūst informācijuBuffer no binaryClock un nosūta to uz objektu ledPanel. Ja pulkstenis zvana, tas ieslēdz mūzikas automātu.
  3. Objektu atjaunināšana - katram programmas objektam ir atjaunināšanas procedūra, kas tiek izmantota, piemēram, ievades pārbaudei vai gaismas diodes krāsu maiņai. Lai pulkstenis darbotos pareizi, tie cikla funkcijā ir jāzvana atkārtoti.

Tam vajadzētu sniegt vispārēju izpratni par to, kā atsevišķi koda gabali darbojas kopā. Ja jums ir konkrētāki jautājumi, varat man vienkārši uzdot jautājumu.

Tā kā mans kods noteikti nav tālu no perfekta, nākotnē es to vēl vairāk uzlabošu, tāpēc dažas funkcijas var mainīties. Foršākais OOP ir tas, ka tas joprojām darbosies ļoti līdzīgā veidā, un jūs joprojām varat izmantot grafiku, lai to saprastu.

13. solis: beigu vārdi

Nobeiguma vārdi
Nobeiguma vārdi

Es priecājos, ka jūs turpinājāt lasīt līdz šim brīdim. Tas nozīmē, ka mans projekts nebija pārāk garlaicīgs:).

Šajā mazajā pulkstenī es ieguldīju daudz darba un vēl vairāk - visā dokumentācijā un video, lai jums būtu vieglāk izveidot savu bināro modinātājpulksteni. Es ceru, ka mani centieni bija tā vērti, un es varētu jums piesaistīt lielisku ideju jūsu nākamās nedēļas nogales projektam vai vismaz sniegt iedvesmu.

Es labprāt dzirdētu, ko jūs domājat par pulksteni komentāros zemāk:).

Lai gan es centos aptvert katru detaļu, es varētu palaist garām vienu vai divas lietas. Tāpēc droši jautājiet, ja ir palikuši kādi jautājumi.

Kā vienmēr, liels paldies, ka lasījāt un priecājāties.

LED konkurss 2017
LED konkurss 2017
LED konkurss 2017
LED konkurss 2017

Otrā vieta LED konkursā 2017

Ieteicams: