Indholdsfortegnelse:

DIY lommeur: 9 trin
DIY lommeur: 9 trin

Video: DIY lommeur: 9 trin

Video: DIY lommeur: 9 trin
Video: Накладные карманы - портфели с мехом ПРОСТО. Стеганая куртка на меху. Выкройки elenapatternstudio.ru 2024, Juli
Anonim
DIY lommeur
DIY lommeur
DIY lommeur
DIY lommeur

I denne travle verden er det vigtigt at holde styr på tiden for bedre præstationer og for at være en hobbyist, hvorfor ikke lave en enhed til at holde styr på tiden. Takket være teknologien findes der enheder, der kaldes 'ur', men! når du laver tingene selv, er fornøjelsen anderledes, så i denne Instructable vil jeg vise dig, hvordan jeg lavede dette lille lille ur.

Trin 1: Idéen

Ideen
Ideen

Ideen er at holde det så enkelt som muligt og at bruge minimale komponenter.

  1. Et display til visning af tid.
  2. En komponent til at holde styr på tiden.
  3. En anden komponent til at tage tid og sende den til visning.
  4. Og en strømkilde.

// Floddiagram over idé

Trin 2: Hjernen

Hjernen
Hjernen

Hjernen bør helt sikkert være en mikrokontroller, da den har fordele ved let programmering og mindre størrelse. Først troede jeg, at attiny85 ville passe perfekt, men så var det begrænsede GPIO -pins, der gjorde det svært at få fat i. så besluttede jeg at gå med Atmega328p tilgængelig i tqfp -pakke, men med ubetydelig erfaring med lodning af sådan en lille pakke besluttede jeg mig for at gå med arduino pro mini. Selvom dette board er officielt pensioneret, men er open source, er de stadig tilgængelige.

Trin 3: Display

Skærm
Skærm
Skærm
Skærm
Skærm
Skærm

Et 0,91 tommer OLED -skærmmodul ville være et godt valg til skærm, hvilket får det til at se mere moderne ud, men så er problemet, at det er strømforbrug, det bruger i gennemsnit 20mA, hvilket ville være stort for batteriet. Mens jeg spekulerede på, hvad jeg skulle bruge som skærm, fandt jeg denne DVD -skærm liggende. Denne skærm har fire cifre på syv segmentskærme med nogle komplementære lysdioder. Alle lysdioder er konfigureret som en almindelig katode, så for at drive dem skal vi bruge en metode kaldet mutliplexing, som ikke er andet end at køre hvert ciffer et efter et så hurtigt, at det ser ud til, at alle lyser op på samme tid. Atmega328 kan også synke op til 20mA, så behovet for transistorer reduceres. Hver LED fungerer ret fint med 100 ohm ved 3.3v.

Trin 4: RTC

RTC
RTC

Arduino pro mini kan holde styr, men problemet med det er strømforbruget. Ved 3.3v trækker den omkring 3mA ved 8MHz, og vi har også display, der også vil forbruge noget saft. Jeg vælger at gå med DS3231 RTC -chip, da den er let at bruge takket være dens I2C -interface. Det holder også styr på tiden mere præcist end atmega328 og bruger endda mindre strøm.

Trin 5: Interface med bruger

Interface med bruger
Interface med bruger
Interface med bruger
Interface med bruger

Interfacet er enkelt - brugeren vil have tid, enheden giver det til dette, vi kunne have brugt komplekse ting som håndbevægelser eller så simpelt som en trykknap. Så når brugeren vil vide klokken, skal du trykke på knappen, og tiden vises på displayet. Planen for koden var at opdage, om der trykkes på knappen, når der trykkes på anmodning om aktuel tid fra RTC og vise den gennem displayet, men så indså jeg, at arduino pro mini har en trykknap for at nulstille sig selv, hvorfor ikke bruge den så i stedet for at tjekke op for knappen, tag bare den aktuelle tid og vis en gang, og vent til næste nulstilling.

Trin 6: Twist

Så nu har vi vores komponenter sat arduino pro min, DVD -display, DS3231 RTC -chip og CR2032 -knapcelle som krafthus med ikke så meget tænkning om valg af batteri. Så med kredsløb i tankerne designet jeg PCB -layoutet. Og lige før jeg kunne bestille PCB, slog en ting mig i tankerne … hvis jeg overvejer RTC -chip og knapcelleholder, så er de allerede loddet i DS3231 RTC -modul, hvorfor så spilde ressourcer på at få et brugerdefineret PCB faktisk i dette tilfælde har vi bare loddekraft, I2C -linjer og DVD -displayet til pro mini. Hvis du vil se PCB -layoutet, er det vedhæftet nedenfor.

Trin 7: Problem med knapcelle

Fejlen jeg begik ved ikke at give tid til at vælge batteritype betalte prisen. Da enheden blev drevet via arduino uno, da jeg brugte den til at programmere arduino pro mini, fungerede den fint, men da den blev drevet af knapcelle, opførte den sig underligt. Efter at have brugt meget tid på at finde ud af, hvad problemet var - det var faktisk, at CR2032 kan levere strøm op til 2mA, og kravet til enheden var meget end det, så til sidst endte jeg med at bruge et lipo -batteri i stedet.

Trin 8: Koden

Koden kan se lang og gentagende ud, men er faktisk enkel at forstå. Alt sættes i opsætningsafsnittet, da vi kun gør tingene én gang og venter til næste nulstillingskommando.

Kodestrøm er at initialisere alt -> tage den aktuelle tid fra RTC -> manipulere dataene, så de kan bruges til at multiplexere displaycifrene -> og derefter vise data (tid) i 2 sekunder ved at multiplexere hvert ciffer et efter et.

Trin 9: Udført

Jeg ville have 3D udskrevet en sag til det, men uden et tilfælde ser det godt ud, da alle komponenter er udsat.

Anbefalede: