Led pulkstenis uz arduino nano. Mēs ar savām rokām izgatavojam elektronisko pulksteni uz arduino. Gatavs pulkstenis uz Arduino

Fotoattēlā ir manis samontēts prototips, lai atkļūdotu programmu, kas pārvaldīs visu šo ekonomiku. Otrais arduino nano, kas atrodas maizes paneļa augšējā labajā stūrī, nepieder pie projekta un turas tieši tāpat, jūs varat to ignorēt.

Nedaudz par darbības principu: arduino ņem datus no DS323 taimera, apstrādā tos, nosaka gaismas līmeni, izmantojot fotorezistoru, pēc tam visu nosūta uz MAX7219, un tas, savukārt, izgaismo nepieciešamos segmentus ar vēlamo spilgtumu. . Turklāt, izmantojot trīs pogas, varat iestatīt gadu, mēnesi, dienu un laiku, kā vēlaties. Fotoattēlā indikatori parāda laiku un temperatūru, kas tiek ņemta no digitālā temperatūras sensora

Galvenā grūtība manā gadījumā ir tā, ka 2,7 collu indikatori ar kopēju anodu, un tie vispirms bija kaut kā jāsadraudzējas ar max7219, kas ir uzasināts indikatoriem ar kopējo katodu, un, otrkārt, lai atrisinātu problēmu ar to barošanu jo tiem ir nepieciešami 7,2 volti, lai spīdētu, ko vien max7219 nevar nodrošināt. Vienā forumā prasot palīdzību, saņēmu tādu pašu atbildi.

Ekrānuzņēmuma risinājums:


Pie max7219 segmentu izejām pieķeras mikroshēma, kas invertē signālu, un pie katras izejas, kas jāpievieno displeja kopējam katodam, pieķeras trīs tranzistoru ķēde, kas arī invertē tā signālu un palielina spriegumu. Tādējādi mēs iegūstam iespēju savienot displejus ar kopēju anodu un barošanas spriegumu, kas pārsniedz 5 voltus ar max7219

Pieslēdzu vienu indikatoru pārbaudei, viss strādā, nekas nesmēķē

Sākam vākt.

Es nolēmu sadalīt ķēdi 2 daļās, jo bija milzīgs skaits džemperu versijā, kuru šķīra manas līkas ķepas, kur viss bija uz viena dēļa. Pulkstenis sastāvēs no displeja bloka un barošanas avota un vadības bloka. Vispirms tika nolemts samontēt pēdējo. Estēti un pieredzējuši radioamatieri, lūdzu nenoģībt cietsirdīgās attieksmes pret detaļām dēļ. LUT dēļ nav vēlmes pirkt printeri, tāpēc daru pa vecam - trenējos uz papīra, izurbu caurumus pēc šablona, ​​zīmēju ar trases marķieri, tad kodinu.

Indikatoru stiprināšanas princips palika tāds pats kā ieslēgts.

Mēs atzīmējam indikatoru un komponentu novietojumu, izmantojot ērtībai izgatavotu organiskā stikla veidni.

Marķēšanas process







Pēc tam, izmantojot veidni, mēs izurbjam caurumus pareizajās vietās un izmēģinām visas sastāvdaļas. Viss nevainojami nostājās savās vietās.

Mēs zīmējam ceļus un indes.




peldēšanās dzelzs hlorīdā

Gatavs!
vadības panelis:


indikācijas dēlis:


Vadības panelis sanāca ideāli, celiņš uz displeja dēļa nebija kritiski sagrauzts, tas ir labojams, laiks lodēt. Šoreiz es pazaudēju savu SMD nevainību un ķēdē iekļāvu 0805 komponentus. Vismaz pirmie rezistori un kondensatori tika pielodēti vietā. Domāju, ka dabūšu rokās, būs vieglāk.
Lodēšanai izmantoju nopirkto plūsmu. Lodēt ar viņu ir prieks, tagad spirta kolofoniju izmantoju tikai alvošanai.

Šeit ir gatavie dēļi. Vadības panelī ir sēdeklis arduino nano, pulkstenis, kā arī izejas savienošanai ar displeja paneli un sensoriem (fotorezistors automātiskajam spilgtumam un digitālais termometrs ds18s20) un barošanas bloks ar regulējamu izejas spriegumu (par liels septiņu segmentu) un pulksteņa un arduino darbināšanai, uz displeja paneļa ir displeju nolaišanās ligzdas, max2719 un uln2003a ligzdas, risinājums četru lielu septiņu segmentu barošanai un virkne džemperu.




aizmugurējā vadības panelis

Aizmugures indikācijas panelis:

Briesmīga smd montāža:


palaist

Pēc visu kabeļu, pogu un sensoru lodēšanas ir pienācis laiks to visu ieslēgt. Pirmajā braucienā atklājās vairākas problēmas. Pēdējais lielais indikators nespīdēja, un pārējais spīdēja vāji. Ar pirmo problēmu tiku galā pielodējot smd tranzistora kājas, ar otro - regulējot sprieguma izeju par lm317.
TAS IR DZĪVS!

Viens no pirmajiem projektiem, ko iesācēji veido, pamatojoties uz Arduino plati, ir vienkāršs pulkstenis, kas seko laikam. Būtībā šādi pulksteņi ir balstīti uz RTC (Real Time Clock) moduli, kas savienots ar Arduino. Mūsdienās elektronisko komponentu tirgū ir pieejami dažādi modeļi RTC, atšķiras ar precizitāti un cenu. Starp izplatītākajiem modeļiem ir DS1302, DS1307, DS3231.



Bet jūs varat izveidot Arduino pulksteni, neizmantojot RTC, it īpaši, ja nevarat iegūt šādus moduļus. Protams, precizitāte šajā gadījumā būs zema, tāpēc projekts drīzāk jāuzskata par izglītojošu.


Šādu pulksteņu darbības princips ir diezgan vienkāršs. Katru reizi, kad ieslēdzat šo Arduino pulksteni, jums tas būs jāiestata uz pašreizējo laiku, tāpat kā jebkurš analogais pulkstenis. Noteikti labāk neizmantot šādus pulksteņus savās mājās Ikdiena ja tie ir aktīvi ilgu laiku bez pārstartēšanas un turpmākas regulēšanas, jo ilgstošas ​​darbības laikā var būt nozīmīga desinhronizācija ar pašreizējo laiku.


Šo pulksteni var salikt uz parasta maizes dēļa, jo tam nav nepieciešami daudzi komponenti. Mūsu galvenā saite šeit būs Arduino Uno dēlis. Lai parādītu laiku, varat paņemt 16x2 LCD. Lai mainītu laika iestatījumus, pievienojiet divas pogas (stundām un minūtēm). Pogas ir savienotas ar Aduino, izmantojot 10kΩ rezistorus. Lai mainītu displeja spilgtumu, ir nepieciešams 10 kΩ potenciometrs. Diagramma visu šo komponentu savienošanai ar Arduino Uno plati ir parādīta zemāk.



Tagad jums ir jāieprogrammē Arduino. Vienkāršs kods (skice), kas ļauj LCD ekrānā parādīt laiku, ir parādīts zemāk.


#iekļauts LiquidCrystal LCD (12,11,5,4,3,2); int h=12; intm; int s; int karogs; int TIME; const int hs=8; const int ms=9; int state1; int state2; void setup() ( lcd.begin(16,2); ) void loop() ( lcd.setCursor(0,0); s=s+1; lcd.print("TIME:"); lcd.print(h ); lcd.print(":"); lcd.print(m); lcd.print(":"); lcd.print(s); if(karogs<12)lcd.print("AM"); if(flag==12)lcd.print("PM"); if(flag>12)lcd.print("PM"); ja(karogs==24)karogs=0; kavēšanās (1000); lcd.clear(); ja(s==60)(s=0; m=m+1; ) ja(m==60) (m=0; h=h+1; karogs=karogs+1; ) ja(h==13 ) ( h=1; ) lcd.setCursor(0,1); lcd.print("VEIKU JAUKU DIENU"); //-------Laiks // iestatījums-------// status1=digitalRead(hs); if(stāvoklis1==1) ( h=h+1; karogs=karogs+1; if(karogs<12)lcd.print("AM"); if(flag==12)lcd.print("PM"); if(flag>12)lcd.print("PM"); ja(karogs==24)karogs=0; ja(h==13)h=1; ) status2=digitalRead(ms); ja(stāvoklis2==1)(s=0; m=m+1; ) )

   Paldies par jūsu interesi informācijas projekts tīmekļa vietne.
   Ja vēlaties, lai interesanti un noderīgi materiāli iznāktu biežāk un tajā būtu mazāk reklāmu,
   Jūs varat atbalstīt mūsu projektu, ziedojot jebkādu summu tā attīstībai.

Pulkstenis ar LED fona apgaismojumu un pulsējošu minūšu rādītāju uz Arduino mikrokontrollera
Šis unikālais pulkstenis ar LED apgaismojumu ar pulsējošu minūšu rādītāju tika izgatavots, izmantojot TLC5940 PWM kontrollera IC. Tās galvenais uzdevums ir paplašināt kontaktu skaitu ar PWM modulāciju. Vēl viena šī pulksteņa iezīme ir analogais voltmetrs, kas pārveidots par ierīci, kas mēra minūtes. Lai to izdarītu, uz standarta printera tika izdrukāts jauns mērogs un ielīmēts virs vecā. Tādējādi 5. minūte netiek skaitīta, tikai piektās minūtes laikā laika skaitītājs parāda bultiņu, kas atrodas skalas galā (noiet skalas). Galvenā vadība ir ieviesta Arduino Uno mikrokontrollerā.

Lai pulksteņa fona apgaismojums tumšā telpā nespīdētu pārāk spilgti, tika ieviesta ķēde automātiskai spilgtuma regulēšanai atkarībā no apgaismojuma (izmantots fotorezistors).

1. darbība: nepieciešamie komponenti



Lūk, kas ir nepieciešams:

  • Analogā voltmetra modulis 5V DC;
  • Arduino UNO mikrokontrolleris vai cits piemērots Arduino;
  • Arduino shēmas plate (proto plate);
  • Reālā laika pulksteņa modulis DS1307 (RTC);
  • Modulis ar PWM kontrolieri TLC5940;
  • Ziedlapu fona apgaismojuma gaismas diodes - 12 gab.;
  • Komponenti automātiskās spilgtuma kontroles (LDR) ķēdes montāžai.

Tāpat dažu citu projekta komponentu izgatavošanai vēlams, lai būtu pieejams 3D printeris un lāzergriešanas iekārta. Tiek pieņemts, ka jums ir šī piekļuve, tāpēc ražošanas rasējumi tiks pievienoti instrukcijām attiecīgajos posmos.

2. darbība: ciparnīca




Ciparnīca sastāv no trim daļām (slāņiem), kas izgrieztas uz lāzergriešanas mašīnas no 3 mm MDF loksnes, kuras ir piestiprinātas kopā ar skrūvēm. Zem citas LED pozicionēšanas plāksnes (apakšējā kreisajā pusē) novietota plāksne bez rievām (attēlā pa labi). Pēc tam atsevišķas gaismas diodes tiek ievietotas attiecīgajās spraugās, un priekšējais panelis tiek uzlikts uz augšu (augšā attēlā). Gar ciparnīcas malu ir izurbti četri urbumi, caur kuriem visas trīs daļas ir piestiprinātas kopā ar skrūvēm.

  • Lai pārbaudītu gaismas diožu darbību šajā posmā, tika izmantots CR2032 monētu šūnu akumulators;
  • Gaismas diožu nostiprināšanai tika izmantotas nelielas līmlentes sloksnes, kuras tika pielīmētas gaismas diožu aizmugurē;
  • Visas LED kājas ir attiecīgi iepriekš saliektas;
  • Atkārtoti tika izurbti caurumi malās, caur kuriem tika veikta skrūvēšana. Tas izrādījās daudz ērtāk.

Ciparnīcas detaļu tehniskais rasējums ir pieejams:

3. darbība: shematisks dizains



Šajā posmā tas tika izstrādāts ķēdes shēma. Šim nolūkam tika izmantotas dažādas mācību grāmatas un rokasgrāmatas. Mēs neiedziļināsimies šajā procesā, divi zemāk esošie faili parāda gatavo elektrisko ķēdi, kas tika izmantota šajā projektā.

4. darbība: Arduino shēmas plates pievienošana





  1. Pirmais solis ir pielodēt visus adatu kontaktus shēmas plates un sadales plates;
  2. Turklāt sakarā ar to, ka 5V un GND jaudu izmanto daudz dēļu un perifērijas ierīces, uzticamības labad uz shēmas plates tika pielodēti divi vadi 5V un GND;
  3. Pēc tam blakus izmantotajiem kontaktiem tika uzstādīts TLC5940 PWM kontrolleris;
  4. Pēc tam tiek pievienots TLC5940 kontrolieris, saskaņā ar savienojuma shēmu;
  5. Lai varētu izmantot akumulatoru, shēmas plates malā tika uzstādīts RTC modulis. Ja jūs to lodējat dēļa vidū, tad kontaktu apzīmējums nebūs redzams;
  6. RTC modulis ir pievienots saskaņā ar pieslēguma shēmu;
  7. Ir samontēta automātiskās spilgtuma kontroles (LDR) shēma, to varat atrast saitē
  8. Voltmetra elektroinstalācija tiek veikta, savienojot vadus ar kontaktu 6 un GND.
  9. Beigās tika pielodēti 13 vadi gaismas diodēm (Praksē izrādījās, ka labāk to izdarīt pirms 3. darbības).

5. darbība: kods

Tālāk norādītais kods ir salikts no dažādiem internetā atrodamiem pulksteņa komponentiem. Tas ir pilnībā atkļūdots un tagad ir pilnībā funkcionāls, un ir pievienoti diezgan detalizēti komentāri. Bet pirms lejupielādes mikrokontrollerī ņemiet vērā šādus punktus:

  • Pirms Arduino mirgošanas jums ir jāatceļ rindiņas komentārs, kas nosaka laiku:
    rtc.adjust(DateTime(__DATE__, __TIME__))
    Pēc kontrollera mirgošanas ar šo rindiņu (laiks ir iestatīts), jums tas ir vēlreiz jākomentē un vēlreiz mirgo kontrolleris. Tas ļauj RTC modulim izmantot akumulatoru, lai atcerētos laiku, ja tiek pārtraukta galvenā strāvas padeve.
  • Katru reizi, kad izmantojat "Tlc.set()", jums ir jāizmanto "Tlc.update"

6. darbība: ārējais gredzens

Ārējais pulksteņa gredzens tika 3D izdrukāts uz Replicator Z18. To piestiprina pie pulksteņa ar skrūvēm pulksteņa priekšpusē. Zemāk ir fails ar gredzena 3D modeli drukāšanai uz 3D printera.

7. darbība: pulksteņa montāža


Arduino mikrokontrolleris ar visu pārējo elektroniku tika piestiprināts pulksteņa aizmugurē, izmantojot pašvītņojošas skrūves un uzgriežņus kā starplikas. Tad es savienoju visas gaismas diodes, analogo voltmetru un LDR ar vadiem, kas iepriekš tika pielodēti pie shēmas plates. Visas gaismas diodes ir savstarpēji savienotas ar vienu kāju un savienotas ar TLC5940 kontrollera VCC tapu (vada gabals ir vienkārši pielodēts aplī).

Pagaidām tas viss nav īpaši labi izolēts no īssavienojumiem, taču darbs pie tā turpināsies nākamajās versijās.




Tops