
Satura rādītājs:
2025 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2025-01-23 14:59




Fusion 360 projekti »
Šis ir uz Arduino balstīts pulkstenis ar OLED displeju, kas darbojas kā pulkstenis ar datumu, kā miega taimeris un kā naktsgaisma. Dažādas "funkcijas" kontrolē ar akselerometru, un tās izvēlas, pagriežot kuba pulksteni.
Es gribēju jaunu naktsgaldiņa pulksteni, bet es negribēju tērēt naudu izsmalcinātam pulkstenim, kuram bija daudz funkciju, kuras es neizmantotu. Turklāt es biju savācis komponentus un sensorus, kas tikko atradās, tāpēc es nolēmu tos izmantot, lai izveidotu savu pulksteni!
Šim projektam man bija daži mērķi:
- Parādiet šo laiku ar iespēju izslēgt
- Iekļaujiet nakts gaismas funkciju
- Iekļaujiet 15 minūšu miega taimeri ar modinātāju
- Spēj parādīt datumu
Piegādes
- Arduino Pro Mini 5V
- ADXL335 3 asu akselerometrs
- DS3231 AT24C32 IIC precizitāte Reālā laika pulkstenis
- Mini skaļrunis
- OLED displejs SSD1306 IIC 0,96 collas
- 5 V līdzstrāvas barošanas avots
- LED x 2
- Rezistori 220ohm x 2
- DC mucas ligzda
- Vads
-
Rīki
- Stiepļu griezēji/noņēmēji
- Lodāmurs/lodētava
- 3D printeris (pēc izvēles)
- FTDI programmētājs saskarnei starp Pro mini un Arduino IDE
1. solis: prototipa izveidošana un ķēdes pārbaude



Savienojiet komponentus ar Arduino. Maizes dēļa izkārtojums vai shematisks ir parādīts iepriekš. RTC un OLED izmanto I2C protokolu, lai izveidotu savienojumu ar Arduino un izmantotu A4 un A5 tapas. Akselerometrs izmanto 3 analogās tapas. Es izmantoju A0, A1, A2. Gaismas diodes un pjezo var izmantot jebkuru no digitālajām tapām, es izmantoju attiecīgi 4 un 8.
Saskarne ar katru komponentu. Man bija jāinstalē dažas Arduino bibliotēkas, lai saskartos ar katru komponentu. Tie ir parādīti attēlā iepriekš.
Kods, izmantojot Arduino IDE. Es izskatīju dažus skices piemērus, ko sniedza katra bibliotēka, lai noskaidrotu pareizo katra komponenta sintaksi, pamatojoties uz to, ko es vēlējos, lai viņi dara. Es izdomāju skici katram komponentam, lai tos pārbaudītu atsevišķi. Tie ir sniegti zemāk. Es sāku ar pjezo skaļruni, jo tas bija vieglākais. Tam faktiski nebija vajadzīga īpaša bibliotēka, tikai īpaša funkcija, kas nosaka frekvenci un skaņu. Lai gaismas diodes sāktu darboties, bija nepieciešams pavilkt vienu no digitālajām tapām augstu un zemu. Tālāk es pārgāju uz OLED, un arī to bija diezgan vienkārši uzstādīt. Zemāk esošā skice ir Adafruit demonstrācija, kas iziet cauri visām animācijām/tekstiem, kurus var parādīt. Tad es mēģināju panākt, lai RTC darbotos. Mana sniegtā skice bija daļa no piemēra bibliotēkā, kas iegūst pašreizējo laiku un izdrukā to sērijas monitorā. Visbeidzot, es izmantoju sniegto piemēru, lai pārbaudītu akselerometru. Katras ass izejas tiek drukātas uz seriālā monitora.
Tagad ir laiks visu salikt kopā!
2. darbība: galvenā programma


Tagad, kad zinu, ka viss darbojas individuāli, varu sākt izstrādāt programmu, kas visu apvieno. Tālāk es apspriedīšu savu programmas rakstīšanas procesu, bet nekautrējieties vienkārši lejupielādēt visu zemāk esošo kodu, lai to izmantotu savam projektam. Es mēģināju atstāt konkrētus komentārus, lai jūs pats varētu iziet kodu.
Man vajadzēja OLED attēlot laiku un datumu, kas bija diezgan vienkārši. Man vienkārši vajadzēja izdrukāt pašreizējo laiku displejā, nevis sērijas monitorā. Bija jāņem vērā dažas formatēšanas lietas, lai tas parādītu 12 stundu formātu 24 vietā un pievienotu/noņemtu 0, kur tie bija piemēroti. Datums bija līdzīgs, pievienojot mēnesi un dienu ekrānā uzzīmētiem taisnstūros. Es izmantoju ligzdotu FOR cilpu, lai izveidotu taimeri un pēc cilpas beigām ieslēgtu pjezo. Es nolēmu izslēgt ekrānu, kad atskanēja skaņas signāls, kas bija pamata animācija, kas ņemta no Adafruit demonstrācijas. Es padarīju kuba pagriešanu atpakaļ pulksteņa pozīcijā vienīgo veidu, kā izslēgt skaņas signālu. Visbeidzot, es gribēju veidu, kā izslēgt ekrānu, kas tika paveikts, vienkārši notīrot displeju. Tagad man vajadzēja, lai visas šīs funkcijas darbotos, pamatojoties uz akselerometra izejām. Es izmantoju skriptu Accel_Test, lai noteiktu katras pozīcijas asu koordinātas, kuras es vēlējos, lai katra funkcija darbotos. Es manuāli pārvietoju akselerometra mikroshēmu un ierakstīju rādījumus sērijas monitorā. Iepriekš redzamajā diagrammā ir norādītas katras GREY pozīcijas izvades koordinātas. RED koordinātas ir robežas starp katru pozīciju, un es izmantoju šos skaitļus savai programmai. 4 displeja pozīcijās ir nepieciešamas tikai X un Y ass koordinātas. Piektā nakts gaismas pozīcija izmanto Z asi. Akselerometra pozīcijām pirms katra funkciju bloka es izmantoju vienkāršus IF paziņojumus. Ja izmantojat citu akselerometru, šīs koordinātas var atšķirties, un tās programmā būs jāpielāgo.
3. darbība: kuba 3D drukāšana



Es sapratu, ka kubs būtu labākais dizains, lai pielāgotos tam, kā es gribēju, lai pulkstenis darbotos. Modeļa izgatavošanai es izmantoju fusion360. Man bija nepieciešams izgriezums OLED un mucas ligzdai. Es arī gribēju vieglu piekļuvi, lai nomainītu šūnu akumulatoru RTC pēc tam, kad viss bija pieslēgts vadam. Man vajadzēja slotu, lai Arduino saglabātu orientāciju, kuru vajadzības gadījumā būtu viegli pārprogrammēt. Turklāt korpusam bija jābūt viegli noņemamam, lai es varētu piekļūt Arduino. Jūs varat redzēt CAD modeli iepriekš, un STL faili ir zemāk.
Es drukāju korpusu melnā PLA ar 20% pildījumu, 0.2 mm izšķirtspēju.
Korpuss vai uzmava tika iespiests Solutech elastīgajā pavedienā ar 100% pildījumu, 0,3 mm izšķirtspēju. Es izmantoju šo materiālu, jo tam ir zināma elastība, kas ļāva viegli izstiepties virs ķermeņa. Griežot pulksteni, tam ir arī maigāka sajūta. Visbeidzot, es izvēlējos skaidru kvēldiegu, lai naktsgaismas gaismas diodes spīdētu cauri.
4. solis: montāža



Es saslēdzu visu kopā, izmantojot 1. darbības shēmu. Es izmantoju nelielu perforētas plāksnes gabalu, lai savienotu visus kopējos vadus, lai man nebūtu jāpielodē vairāki vadi ar vienu Arduino tapu. Karstā līme tika izmantota, lai visu nostiprinātu savā vietā, izņemot Arduino. Tas tikko tika iespiests tam paredzētajā slotā. Es pārliecinājos, ka akselerometra tāfele ir perpendikulāra un līdzena ķermeņa apakšai, lai nebūtu jāmaina koda koordinātas.
5. darbība: augšupielādējiet un esat pabeidzis




Tagad pēdējo programmu var augšupielādēt pulkstenī, lai iestatītu pareizo laiku. Šūnas akumulatoram vajadzētu saglabāt laiku pat tad, kad strāva ir atvienota. Bīdiet 3D drukāto uzmavu virs ķermeņa, lai paslēptu visas sastāvdaļas, un jums ir pilnīgs kuba pulkstenis!
Es ceru, ka jums patiks šī projekta veidošana un tas būs tikpat noderīgs kā man. Šī projekta jaukā daļa ir tā, ka tas ir ļoti pielāgojams. Jūtieties brīvi pievienot savas dažādas funkcijas, piemēram, trauksmes funkciju, izmantojiet dažādus komponentus, piemēram, lielāku OLED, FM radio uztvērēju utt.
Ieteicams:
CD4017 balstīts daudzfunkcionāls velosipēdu apgaismojums: 15 soļi

Uz CD4017 balstīts daudzfunkcionāls velosipēdu apgaismojums: Šī ķēde tiek veidota, izmantojot ļoti izplatītu CD4017 LED ķēdi, ko sauc par LED meklētāju. Bet tā var atbalstīt dažādas LED mirgošanas metodes, savienojot vadības kabeļus kā dažādus veidus. Varbūt to var izmantot kā velosipēda apgaismojumu vai vizuāls indikators
Servo pozīciju atgriezeniskās saites sistēma ar Arduino: 4 soļi

Servo pozīciju atgriezeniskās saites sistēma ar Arduino: Hei, šī ir mana pirmā pamācība. MANS projekts ļauj saņemt jūsu servo pozīciju jūsu Arduino IDE sērijas monitorā vai sērijveida ploterī. Tas atvieglo arduino robotu programmēšanu, kas izmanto servomotorus, piemēram, humanoīdu robotus
Arduino balstīts bezkontakta infrasarkanais termometrs - Uz IR balstīts termometrs, izmantojot Arduino: 4 soļi

Arduino balstīts bezkontakta infrasarkanais termometrs | Uz IR balstīts termometrs, izmantojot Arduino: Sveiki puiši, šajā instrukcijā mēs izgatavosim bezkontakta termometru, izmantojot arduino. Tā kā dažreiz šķidruma/cietās vielas temperatūra ir pārāk augsta vai zema, un tad ir grūti ar to sazināties un izlasīt temperatūra tādā situācijā
Pirkstu pozīciju mērīšana vijolē ar ESP32: 6 soļi

Pirkstu pozīciju mērīšana vijolei ar ESP32: Kā vijoles spēlētājs es vienmēr gribēju lietotni vai rīku, kas man ļoti precīzi parādītu manu pirkstu stāvokli uz vijoles. Ar šo projektu es mēģināju to izveidot. Lai gan tas ir prototips, un jūs joprojām varētu pievienot daudzas funkcijas. Es arī mēģināju s
Uz ESP8266 balstīts tīkla pulkstenis un laika apstākļu monitors: 3 soļi (ar attēliem)

Uz ESP8266 balstīts tīkla pulkstenis un laika apstākļu monitors: īss un vienkāršs nedēļas nogales projekts ar ESP8266 un 0,96 collu 128x64 OLED displeju. Ierīce ir tīkla pulkstenis, t.i., iegūst laiku no ntp serveriem. Tas arī parāda laika apstākļu informāciju ar ikonām no vietnes openweathermap.org Nepieciešamās daļas: 1. ESP8266 modulis (A