
Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-23 14:37




Fusion 360 projekti »
Ovo je sat zasnovan na Arduinu sa OLED ekranom koji funkcionira kao sat s datumom, kao tajmer za dremež i kao noćno svjetlo. Različite "funkcije" kontroliraju se mjeračem ubrzanja i biraju se rotiranjem kockastog sata.
Htio sam novi sat na noćnom ormariću, ali nisam želio trošiti novac na elegantni sat koji je imao mnoštvo funkcija koje ne bih koristio. Osim toga, prikupljao sam komponente i senzore koji su samo ležali, pa sam ih odlučio upotrijebiti za izradu vlastitog sata!
Imao sam nekoliko ciljeva za ovaj projekt:
- Prikažite to vrijeme s opcijom isključivanja
- Uključuje funkciju noćnog svjetla
- Uključite 15 -minutni tajmer za spavanje sa alarmom
- Moći prikazati datum
Supplies
- Arduino Pro Mini 5V
- ADXL335 troosni akcelerometar
- DS3231 AT24C32 IIC preciznost Sat u stvarnom vremenu
- Mini zvučnik
- OLED ekran SSD1306 IIC 0,96 inča
- 5V DC napajanje
- LED x 2
- Otpornici 220ohm x 2
- Utičnica za DC cijev
- Žica
-
Alati
- Rezači/skidači žice
- Lemilica/lemljenje
- 3D štampač (opcionalno)
- FTDI programer za povezivanje između Pro mini i Arduino IDE -a
Korak 1: Prototip i testiranje kola



Spojite komponente na Arduino. Izgled matične ploče ili shema prikazani su gore. RTC i OLED koriste I2C protokol za povezivanje s Arduinom i koriste A4 i A5 pinove. Akcelerometar koristi 3 analogna pina. Koristio sam A0, A1, A2. LED i Piezo mogu koristiti bilo koji od digitalnih pinova, koristio sam 4 odnosno 8.
Sučelje sa svakom komponentom. Morao sam instalirati neke Arduino biblioteke za povezivanje sa svakom komponentom. Oni su prikazani na gornjoj slici.
Kodirajte pomoću Arduino IDE -a. Pregledao sam neke primjere skica koje pruža svaka biblioteka kako bih shvatio odgovarajuću sintaksu za svaku komponentu na osnovu onoga što želim da urade. Smislio sam skicu za svaku komponentu kako bih ih pojedinačno testirao. Oni su navedeni u nastavku. Počeo sam s piezo zvučnikom jer je bio najlakši. Zapravo nije trebala posebna biblioteka, samo određena funkcija koja postavlja frekvenciju i zvuk. Da bi LED diode radile potrebno je samo povući jedan od digitalnih pinova visoko i nisko. Zatim sam prešao na OLED i ovo je bilo prilično jednostavno za postavljanje. Skica ispod je Adafruit demo koji prolazi kroz sve animacije/tekstove koji se mogu prikazati. Zatim sam pokušao natjerati RTC da radi. Skica koju sam dao bio je dio primjera u biblioteci koja dobija trenutno vrijeme i štampa ga na serijskom monitoru. Konačno, upotrijebio sam navedeni primjer za testiranje akcelerometra. Izlazi svake osi se ispisuju na serijskom monitoru.
Sada je trenutak da sve spojite!
Korak 2: Glavni program


Sada kada znam da sve funkcionira pojedinačno, mogu početi s osmišljavanjem programa koji sve spaja. U nastavku ću raspravljati o svom procesu pisanja programa, ali slobodno preuzmite cijeli kôd u nastavku kako biste ga koristili za svoj projekt. Pokušao sam ostaviti određene komentare kako biste sami mogli proći kroz kôd.
Morao sam prikazati vrijeme i datum na OLED -u, što je bilo prilično jednostavno. Morao sam samo da odštampam trenutno vreme na ekranu umesto na serijskom monitoru. Morao sam uzeti u obzir nekoliko stvari pri oblikovanju kako bi prikazao 12 -časovni format umjesto 24 i dodao/uklonio 0 gdje je to bilo prikladno. Datum je bio sličan s dodavanjem prikaza mjeseca i dana unutar pravokutnika iscrtanih na ekranu. Koristio sam ugniježđenu FOR petlju za kreiranje timera i postavio piezo nakon završetka petlje. Odlučio sam da ekran počne da bljeska dok se zujalica gasila, što je bila osnovna animacija preuzeta iz Adafruit demo -a. Napravio sam okretanje kocke na položaj sata jedini način da isključim zujalicu. Konačno, htio sam način isključivanja ekrana što je postignuto samo brisanjem ekrana. Sada su mi sve ove funkcije trebale za rad na temelju izlaza akcelerometra. Koristio sam skriptu Accel_Test za određivanje koordinata osi svake pozicije za koju želim da se pokreće svaka funkcija. Ručno sam premjestio čip akcelerometra i snimio očitanja na serijski monitor. Gornji dijagram prikazuje izlazne koordinate svake pozicije u SIVOJ. Koordinate u crvenom su granice između svake pozicije i te brojeve sam koristio za svoj program. U 4 pozicije prikaza potrebne su samo koordinate osi X i Y. Peta pozicija noćnog svjetla koristi os Z. Koristio sam jednostavne IF izraze za položaje akcelerometra prije svakog funkcionalnog bloka. Ako koristite drugi akcelerometar, ove koordinate se mogu razlikovati i morat će se prilagoditi u programu.
Korak 3: 3D štampanje kocke



Pretpostavio sam da bi kocka bila najbolji dizajn koji bi prilagodio način na koji želim da sat funkcionira. Za izradu modela koristio sam fusion360. Trebao mi je izrez za OLED i utičnicu za cijev. Takođe sam želeo lak pristup za zamenu ćelijske baterije u RTC -u nakon što je sve povezano. Trebao mi je utor za držanje Arduina u orijentaciji koju bi bilo lako reprogramirati ako je potrebno. Osim toga, kućište je moralo biti lako uklonjivo kako bih mogao pristupiti Arduinu. CAD model možete vidjeti gore, a STL datoteke ispod.
Štampao sam telo u crnom PLA sa ispunom od 20%, rezolucije 0,2 mm.
Kućište ili čaura su štampani u Solutech fleksibilnoj niti sa 100% ispunom, rezolucije 0,3 mm. Koristio sam ovaj materijal jer ima određenu fleksibilnost koja ga je olakšala rastezanjem po tijelu. Također ima mekši osjećaj pri rotiranju sata. Na kraju, odabrao sam čistu nit kako bi LED diode za noćna svjetla zasjale.
Korak 4: Montaža



Sve sam spojio koristeći shemu iz koraka 1. Koristio sam mali komad perfboard -a za povezivanje svih uobičajenih žica tako da nisam morao lemiti više žica na jedan pin na Arduinu. Vruće ljepilo korišteno je za učvršćivanje svega na svom mjestu osim Arduina. Samo je gurnut u predviđeno mesto. Uvjerio sam se da je ploča akcelerometra okomita i ravna na dnu tijela tako da koordinate u kodu ne treba mijenjati.
Korak 5: Otpremite i gotovi ste




Sada se konačni program može postaviti na sat kako bi se postavilo tačno vrijeme. Ćelijska baterija bi trebala držati vrijeme čak i kad je napajanje isključeno. Gurnite 3D štampani rukav po tijelu kako biste sakrili sve komponente i imate kompletan sat u obliku kocke!
Nadam se da ćete uživati u stvaranju ovog projekta i da će vam biti koristan kao i meni. Lijep dio ovog projekta je to što je vrlo prilagodljiv. Slobodno dodajte svoje različite funkcije poput funkcije alarma, koristite različite komponente poput većeg OLED -a, FM radio prijemnika itd. Sretno!
Preporučuje se:
DIY višenamjenski mjerač energije V2.0: 12 koraka (sa slikama)

DIY višenamjenski mjerač energije V2.0: U ovom uputstvu ću vam pokazati kako napraviti višenamjenski mjerač energije baziran na Wemosu (ESP8266). Ovaj mali mjerač je vrlo koristan uređaj koji prati napon, struju, snagu, energiju i kapacitet. Osim ovih, prati i ambijent
Servo sistem za povratnu informaciju o položaju sa Arduinom: 4 koraka

Servo sistem za povratnu informaciju o položaju sa Arduinom: Hej, ovo je moje prvo uputstvo. MOJ projekat vam omogućava da dobijete poziciju vašeg serva na vašem serijskom monitoru ili serijskom ploteru vašeg Arduino IDE -a. Ovo olakšava programiranje arduino robota koji koriste servo motore poput humanoidnih robota bip
Savjeti o tehnici mikrofona i položaju za vokalistu: 5 koraka

Savjeti o tehnici i položaju mikrofona za pjevača: Za neiskusne, upotreba mikrofona u početku može izgledati kao prilično laka operacija. Jednostavno razgovarate ili pjevate u okrugli bit na vrhu i prekrasno jasan i uravnotežen zvuk emitirat će se iz zvučnika uz široko priznanje
LED kockasti ekran: 9 koraka (sa slikama)

Prikaz LED kocke: U ovom projektu ćete izgraditi LED kocku 8x8x8 kao ekran. Nakon izgradnje kocke i učenja osnova koda, moći ćete pisati vlastite animacije za prikaz. Odličan je vizual u naučne svrhe i bit će lijep ukras
Mrežni sat i monitor vremena baziran na ESP8266: 3 koraka (sa slikama)

Mrežni sat i monitor vremena baziran na ESP8266: Kratki i jednostavni vikend projekat sa ESP8266 i 0,96 '' 128x64 OLED ekranom. Uređaj je mrežni sat, tj. Dohvaća vrijeme sa ntp servera. Takođe prikazuje vremenske informacije sa ikonama sa openweathermap.org Potrebni delovi: 1. Modul ESP8266 (A