Innehållsförteckning:
- Steg 1: Idén
- Steg 2: Hjärnan
- Steg 3: Display
- Steg 4: RTC
- Steg 5: Gränssnitt med användare
- Steg 6: Twist
- Steg 7: Problem med knappcell
- Steg 8: Koden
- Steg 9: Klar
Video: DIY fickur: 9 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:35
I denna livliga värld är det nödvändigt att hålla koll på tiden för bättre prestanda och för att vara en hobbyist, varför inte göra en enhet för att hålla reda på tid. Tack vare tekniken finns det enheter som kallas "titta" men! när du gör saker själv är nöjet annorlunda, så i denna instruerbara ska jag visa dig hur jag gjorde den här lilla klockan.
Steg 1: Idén
Tanken är att hålla det så enkelt som möjligt och att använda minimala komponenter.
- En display för att visa tiden.
- En komponent för att hålla koll på tiden.
- En annan komponent för att ta tid och skicka den till displayen.
- Och en strömkälla.
// Flödesdiagram
Steg 2: Hjärnan
Hjärnan bör definitivt vara en mikrokontroller eftersom den har fördelar med enkel programmering och mindre storlek. Först trodde jag att attiny85 skulle passa perfekt men sedan var det begränsade GPIO -stift som gjorde det svårt att handla med. då bestämde jag mig för att gå med Atmega328p tillgängligt i tqfp -paketet men med försumbar erfarenhet av att löda ett så litet paket bestämde jag mig för att gå med arduino pro mini. Även om denna styrelse är officiellt pensionerad men är öppen källkod är de fortfarande tillgängliga.
Steg 3: Display
En 0,91 tums OLED -displaymodul skulle vara ett bra val för skärm, vilket gör att det ser mer modernt ut, men då är problemet att det är strömförbrukning, i genomsnitt förbrukar det 20mA vilket skulle vara stort för batteriet. Medan jag undrade vad jag skulle använda som skärm hittade jag den här DVD -skärmen. Denna skärm har fyra siffror på sju segmentskärmar med några kompletterande lysdioder. Alla lysdioder är konfigurerade som en vanlig katod så för att driva dem måste vi använda en metod som kallas mutliplexing som inte är annat än att köra varje siffra en efter en så snabbt att det ser ut att alla lyser upp samtidigt. Även Atmega328 kan sjunka upp till 20mA så behovet av transistorer minskar. Varje lysdiod fungerar ganska bra med 100 ohm vid 3.3v.
Steg 4: RTC
Arduino pro mini kan hålla koll, men problemet är att det är strömförbrukning. Vid 3.3v drar den ca 3mA vid 8MHz och plus att vi också har display som också kommer att konsumera lite juice. Jag väljer att gå med DS3231 RTC -chip eftersom det är lätt att använda tack vare dess I2C -gränssnitt. Den håller också tid mer exakt än atmega328 och förbrukar till och med mindre ström.
Steg 5: Gränssnitt med användare
Gränssnittet är enkelt - användaren vill ha tid, enheten ger det för detta vi kunde ha använt komplexa saker som handgest eller så enkelt som en tryckknapp. Så när användaren vill veta klockan, tryck på knappen och tiden visas på displayen. Planen för koden var att upptäcka om du trycker på knappen, när du trycker på begär aktuell tid från RTC och visar den via displayen men då insåg jag att arduino pro mini har en tryckknapp för att återställa sig själv, varför inte använda den så istället för att kolla upp för knappen, ta bara aktuell tid och visa en gång och vänta tills nästa återställning.
Steg 6: Twist
Så nu har vi våra komponenter inställda arduino pro min, DVD -skärm, DS3231 RTC -chip och CR2032 knappcell som krafthus med inte så mycket tänkande över valet av batteri. Så med krets i åtanke utformade jag PCB -layouten. Och precis innan jag kunde beställa kretskort en sak stryker mig … om jag överväger RTC -chip och knappcellshållare så är de redan lödda i DS3231 RTC -modulen, varför slösa resurser med att skaffa ett anpassat kretskort i själva verket har vi bara lödkraft, I2C -linjer och DVD -displayen till pro mini. Om du vill titta på PCB -layouten är den bifogad nedan.
Steg 7: Problem med knappcell
Felet jag gjorde genom att inte ge tid att välja batterityp betalade priset. När enheten drevs via arduino uno som jag använde den för att programmera arduino pro mini fungerade det bra men när den drevs av knappceller betedde sig det konstigt. Efter att ha ägnat mycket tid åt att ta reda på vad problemet var - det var faktiskt att CR2032 kan ge ström upp till 2mA och kravet på enhet var mycket mer än så så till slut slutade jag med att använda ett lipobatteri istället.
Steg 8: Koden
Koden kan se lång och repetitiv ut men är faktiskt enkel att förstå. Allt sätts in i installationsdelen eftersom vi bara gör saker en gång och väntar tills nästa återställningskommando.
Kodflödet är att initiera allt -> ta aktuell tid från RTC -> manipulera data så att de kan användas för att multiplexa bildsiffrorna -> och sedan visa data (tid) i 2 sekunder genom att multiplexera varje siffra en efter en.
Steg 9: Klar
Jag skulle ha 3D -skrivit ut ett fodral för det men utan ett fodral ser det bra ut eftersom alla komponenter är exponerade.
Rekommenderad:
Arduino Car Reverse Parking Alert System - Steg för steg: 4 steg
Arduino Car Reverse Parking Alert System | Steg för steg: I det här projektet kommer jag att utforma en enkel Arduino Car Reverse Parking Sensor Circuit med Arduino UNO och HC-SR04 Ultrasonic Sensor. Detta Arduino -baserade bilomvändningsvarningssystem kan användas för autonom navigering, robotavstånd och andra
Steg för steg PC -byggnad: 9 steg
Steg för steg PC -byggnad: Tillbehör: Hårdvara: ModerkortCPU & CPU -kylarePSU (strömförsörjningsenhet) Lagring (HDD/SSD) RAMGPU (krävs inte) CaseTools: Skruvmejsel ESD -armband/mathermisk pasta med applikator
Tre högtalarkretsar -- Steg-för-steg handledning: 3 steg
Tre högtalarkretsar || Steg-för-steg-handledning: Högtalarkretsen förstärker ljudsignalerna som tas emot från miljön till MIC och skickar den till högtalaren varifrån förstärkt ljud produceras. Här visar jag dig tre olika sätt att göra denna högtalarkrets med:
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)
DIY Arduino robotarm, steg för steg: 9 steg
DIY Arduino robotarm, steg för steg: Denna handledning lär dig hur du bygger en robotarm själv