Led ura na arduino nano. Elektronsko uro na Arduino naredimo z lastnimi rokami. Pripravljena ura na Arduinu

Fotografija prikazuje prototip, ki sem ga sestavil za odpravljanje napak v programu, ki bo upravljal ta celoten objekt. Drugi arduino nano v zgornjem desnem kotu testne plošče ne sodi k projektu in štrli tam kar tako, ni vam treba biti pozoren nanj.

Malo o principu delovanja: Arduino vzame podatke iz časovnika DS323, jih obdela, določi raven svetlobe s pomočjo fotoupora, nato vse pošlje MAX7219, ta pa osvetli zahtevane segmente z zahtevano svetlostjo. Prav tako lahko s pomočjo treh gumbov nastavite leto, mesec, dan in uro po želji. Na fotografiji indikatorji prikazujejo čas in temperaturo, ki je vzeta iz digitalnega senzorja temperature

Glavna težava v mojem primeru je, da imajo 2,7-palčni indikatorji skupno anodo, in morali so se, prvič, nekako spoprijateljiti z max7219, ki je zasnovan za indikatorje s skupno katodo, in drugič, rešiti težavo z njihovim napajalnik, saj potrebujejo 7,2 volta za svetilnost, česar max7219 sam ne more zagotoviti. Ko sem prosil za pomoč na enem forumu, sem prejel odgovor.

Rešitev na posnetku zaslona:


Na izhode segmentov iz max7219 je pritrjeno mikrovezje, ki obrne signal, na vsak izhod pa je pritrjeno vezje treh tranzistorjev, ki naj bodo povezani s skupno katodo zaslona, ​​ki prav tako obrne svoj signal in poveča Napetost. Tako dobimo možnost priključitve zaslonov s skupno anodo in napajalno napetostjo več kot 5 voltov na max7219

Priklopil sem en indikator za test, vse deluje, nič ne kadi

Začnimo zbirati.

Za razdelitev vezja na 2 dela sem se odločil zaradi ogromnega števila skakalcev v različici, ki je bila ločena z mojimi krivimi šapami, kjer je bilo vse na eni deski. Ura bo sestavljena iz prikazovalne enote ter napajalne in krmilne enote. Odločeno je bilo, da se najprej zbere slednje. Prosim estete in izkušene radioamaterje, da ne omedlijo zaradi surovega ravnanja z deli. Nimam želje kupovati tiskalnika zaradi LUT-a, zato to počnem po starem - vadim na papirju, vrtam luknje po šabloni, rišem poti z markerjem, nato jedkam.

Načelo pritrditve indikatorjev je ostalo enako kot na.

Položaj indikatorjev in sestavnih delov označimo s šablono iz pleksi stekla, narejeno za udobje.

Postopek označevanja







Nato s šablono izvrtamo luknje na pravih mestih in preizkusimo vse komponente. Vse se je odlično ujemalo.

Rišemo poti in jedkamo.




kopanje v železovem kloridu

pripravljena!
nadzorna plošča:


indikacijska tabla:


Nadzorna plošča se je izkazala odlično, steza na prikazovalni plošči ni bila kritično pojedena, lahko jo je popraviti, čas je za spajkanje. Tokrat sem izgubil SMD nedolžnost in v vezje vključil komponente 0805. Vsaj prvi upori in kondenzatorji so bili spajkani na svoje mesto. Mislim, da mi bo šlo bolje, da bo lažje.
Za spajkanje sem uporabil fluks, ki sem ga kupil. Spajkanje z njim mi je v užitek, zdaj alkoholno kolofonijo uporabljam samo za kositrenje.

Tukaj so končane plošče. Krmilna plošča ima sedež za Arduino nano, uro, kot tudi izhode za povezavo z zaslonsko ploščo in senzorji (fotoupor za samodejno osvetlitev in digitalni termometer ds18s20) ter napajalnik z nastavljivo izhodno napetostjo (za velike sedemsegmentne naprave) in za napajanje ure in Arduina, na prikazovalni plošči so namestitvene vtičnice za prikazovalnike, vtičnice za max2719 in uln2003a, rešitev za napajanje štirih velikih sedemsegmentnih naprav in kup mostičkov.




zadnja nadzorna plošča

Zadnja zaslonska plošča:

Grozna namestitev smd:


Kosilo

Po spajkanju vseh kablov, gumbov in senzorjev je čas, da vse to vklopite. Prva izstrelitev je razkrila več težav. Zadnji veliki indikator ni zasvetil, ostali pa so slabo svetili. Prvo težavo sem rešil s spajkanjem noge SMD tranzistorja, z drugo pa s prilagajanjem napetosti, ki jo proizvaja lm317.
ŽIVO JE!

Eden prvih projektov, ki jih začetniki sestavijo z uporabo plošče Arduino, je preprosta ura, ki meri čas. V bistvu takšne ure temeljijo na RTC (Real Time Clock) modulu, ki je povezan z Arduinom. Danes so elektronske komponente na voljo na trgu različni modeli RTC-ji, ki se razlikujejo po natančnosti in ceni. Pogosti modeli vključujejo DS1302, DS1307, DS3231.



Lahko pa naredite uro na Arduinu brez uporabe RTC, še posebej, če ne morete dobiti takih modulov. Seveda bo natančnost v tem primeru nizka, zato je treba projekt obravnavati kot izobraževalni projekt.


Načelo delovanja takšnih ur je precej preprosto. Vsakič, ko vklopite to uro Arduino, jo boste morali nastaviti na trenutni čas, tako kot vsako analogno uro. Vsekakor je bolje, da takšnih ur ne uporabljate v svojem Vsakdanje življenje s svojo aktivnostjo dolgo časa brez ponovnega zagona in nadaljnje konfiguracije, saj je desinhronizacija s trenutnim časom med dolgotrajnim delovanjem lahko pomembna.


To uro je mogoče sestaviti na običajni mizi, saj ne potrebuje veliko komponent. Naša glavna povezava tukaj bo plošča Arduino Uno. Za prikaz časa lahko vzamete LCD zaslon 16x2. Če želite spremeniti nastavitve časa, morate povezati dva gumba (za ure in minute). Gumbi so povezani z Aduinom prek uporov 10KΩ. Za spreminjanje svetlosti zaslona boste potrebovali potenciometer 10 kOhm. Shema povezave za vse te komponente na ploščo Arduino Uno je predstavljena spodaj.



Zdaj morate programirati Arduino. Spodaj je podana preprosta koda (skica), ki omogoča prikaz časa na LCD zaslonu.


#vključi LiquidCrystal lcd (12,11,5,4,3,2); int h=12; int m; int s; int zastavica; int ČAS; const int hs=8; const int ms=9; int stanje1; int stanje2; 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(zastavica<12)lcd.print("AM"); if(flag==12)lcd.print("PM"); if(flag>12)lcd.print("PM"); če(zastavica==24)zastavica=0; zamuda (1000); lcd.clear(); if(s==60)( s=0; m=m+1; ) if(m==60) ( m=0; h=h+1; zastavica=zastavica+1; ) if(h==13 ) ( h=1; ) lcd.setCursor(0,1); lcd.print("LEP DAN"); //-------Čas // nastavitev-------// stanje1=digitalnoBranje(hs); if(stanje1==1) ( h=h+1; zastavica=zastavica+1; if(zastavica<12)lcd.print("AM"); if(flag==12)lcd.print("PM"); if(flag>12)lcd.print("PM"); če(zastavica==24)zastavica=0; če(h==13)h=1; ) stanje2=digitalnoBranje(ms); if(stanje2==1)( s=0; m=m+1; ) )

   Hvala za vaše zanimanje informacijski projekt Spletna stran.
   Če želite, da so zanimiva in uporabna gradiva objavljena pogosteje in z manj oglaševanja,
   Naš projekt lahko podprete tako, da donirate poljubni znesek za njegov razvoj.

Ura z LED osvetlitvijo ozadja in utripajočim minutnim kazalcem na mikrokrmilniku Arduino
Ta edinstvena ura z LED osvetlitvijo ozadja in utripajočim minutnim kazalcem je bila izdelana s krmilnim čipom TLC5940 PWM. Njegova glavna naloga je razširiti število stikov modulacije PWM. Druga značilnost te ure je, da je analogni voltmeter predelala v napravo, ki meri minute. Da bi to naredili, je bila na standardnem tiskalniku natisnjena nova lestvica in prilepljena na staro. Kot taka se 5. minuta ne šteje, le da med peto minuto števec časa pokaže puščico, ki kaže na konec lestvice (izven lestvice). Glavni nadzor je implementiran na mikrokrmilniku Arduino Uno.

Za zagotovitev, da osvetlitev ozadja ure ne sveti premočno v temni sobi, je bilo izvedeno vezje za samodejno prilagajanje svetlosti glede na osvetlitev (uporabljen je bil fotorezistor).

1. korak: Zahtevane komponente



Tukaj je tisto, kar potrebujete:

  • 5V DC modul analognega voltmetra;
  • mikrokrmilnik Arduino UNO ali drug primeren Arduino;
  • Arduino vezje (proto plošča);
  • DS1307 modul ure realnega časa (RTC);
  • Modul s krmilnikom PWM TLC5940;
  • Petal LED osvetlitev ozadja – 12 kosov;
  • Komponente za sestavljanje vezja za samodejno uravnavanje svetlosti (LDR).

Tudi za izdelavo nekaterih drugih komponent projekta je zaželen dostop do 3D tiskalnika in laserskega rezalnika. Predpostavlja se, da imate ta dostop, zato bodo navodila vključevala proizvodne risbe na ustreznih stopnjah.

2. korak: Pokličite




Številčnica je sestavljena iz treh delov (slojev), izrezanih na laserskem rezalniku iz 3 mm MDF pločevine, ki so med seboj pritrjeni z vijaki. Plošča brez rež (spodaj desno na sliki) je nameščena pod drugo ploščo za namestitev LED diod (spodaj levo). Nato se posamezne LED diode namestijo v ustrezne reže, sprednja plošča pa se postavi na vrh (zgoraj na sliki). Ob robu številčnice so izvrtane štiri luknje, skozi katere so privijačeni vsi trije deli.

  • Za testiranje delovanja LED na tej stopnji je bila uporabljena gumbasta baterija CR2032;
  • Za pritrditev LED so bili uporabljeni majhni trakovi lepilnega traku, ki so bili prilepljeni na zadnjo stran LED;
  • Vse noge LED so bile ustrezno vnaprej upognjene;
  • Na robovih so bile ponovno izvrtane luknje, skozi katere je bilo izvedeno privijanje. Izkazalo se je, da je to veliko bolj priročno.

Tehnična risba delov številčnice je na voljo na:

3. korak: Načrtujte vezje



Na tej stopnji je bil razvit električni diagram. V ta namen so bili uporabljeni različni učbeniki in vodniki. Ne bomo se preveč poglabljali v ta proces; spodnji dve datoteki prikazujeta dokončano električno vezje, ki je bilo uporabljeno v tem projektu.

4. korak: Priključite vezje Arduino





  1. Prvi korak je, da odspajkate vse igelne kontakte na ploščah vezja in razdelkih;
  2. Nadalje, zaradi dejstva, da 5V napajanje in GND uporablja toliko plošč in periferne naprave, za zanesljivost sta bili na vezju spajkani dve žici za 5V in GND;
  3. Nato je bil poleg uporabljenih kontaktov nameščen krmilnik TLC5940 PWM;
  4. Nato je krmilnik TLC5940 priključen v skladu s povezovalno shemo;
  5. Da bi lahko uporabljali baterijo, je bil na robu vezja nameščen RTC modul. Če ga spajkate na sredino plošče, oznake nožic ne bodo vidne;
  6. Modul RTC je priključen v skladu s shemo povezav;
  7. Sestavljeno je vezje za samodejno uravnavanje svetlosti (LDR), ogledate si ga lahko na povezavi
  8. Žice za voltmeter so povezane tako, da se žice priključijo na pin 6 in GND.
  9. Na koncu je bilo spajkanih 13 žic za LED diode (v praksi se je izkazalo, da je to bolje storiti, preden nadaljujete na 3. korak).

5. korak: Koda

Spodnja koda je bila sestavljena iz različnih kosov komponent ure, ki jih najdete na internetu. Popolnoma je bil odpravljen napak in je zdaj popolnoma funkcionalen, dodanih pa je bilo nekaj precej podrobnih komentarjev. Toda preden naložite v mikrokrmilnik, upoštevajte naslednje točke:

  • Pred utripanjem vdelane programske opreme Arduino morate odkomentirati vrstico, ki določa čas:
    rtc.adjust(DatumUra(__DATE__, __TIME__))
    Po utripanju krmilnika s to vrstico (čas je nastavljen), ga morate znova komentirati in znova utripati krmilnik. To omogoča modulu RTC, da uporabi baterijo za zapomnitev časa, če se izgubi glavno napajanje.
  • Vsakič, ko uporabite "Tlc.set()", morate uporabiti "Tlc.update"

6. korak: Zunanji obroč

Zunanji obroč ure je bil 3D natisnjen s tiskalnikom Replicator Z18. Na uro se pritrdi z vijaki na sprednji strani ure. Spodaj je datoteka s 3D modelom prstana za tisk na 3D tiskalniku.

7. korak: Sestavljanje ure


Mikrokrmilnik Arduino z vso ostalo elektroniko je bil pritrjen na zadnjo stran ure z vijaki in maticami kot distančniki. Nato sem priključil vse LED diode, analogni voltmeter in LDR na žice, ki so bile predhodno prispajkane na vezje. Vse LED diode so med seboj povezane z enim krakom in priključene na VCC pin na krmilniku TLC5940 (kos žice preprosto spajkamo v krog).

Zaenkrat vse to ni zelo dobro izolirano pred kratkimi stiki, vendar se bo delo na tem nadaljevalo v prihodnjih različicah.




Vrh