Sadržaj:
- Korak 1: Pregled elemenata hardvera
- Korak 2: Pregled softvera
- Korak 3: Popis dijelova
- Korak 9: Dizajn i pisanje koda
- Korak 10: Instalirajte program
- Korak 11: Sastavite mjerač vremena
- Korak 12: Integracijsko testiranje
- Korak 13: Završne misli
Video: Multi-timer W/ Vanjska kontrola: 13 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:34
Ovaj projekt Instructable izgrađen je od višenamjenskog mjerača vremena
Ovaj mjerač vremena može funkcionirati kao:
- Alarm opće namjene s mogućnošću odabira vremena između 1 sekunde i +90 sati. Odbrojavanje sa zvučnim alarmom i/ili kontrolom vanjskog uređaja do završetka, zatim odbrojavanje vremena od alarma.
- Tajmer za drijemanje sa 7 mogućnosti odabira, odbrojavanjem i alarmom po završetku.
- Tajmer za meditaciju s 4 vremena za odabir, s odbrojavanjem i kratkim cvrkutom po završetku, odbrojavanje s još jednim cvrkutom 5 minuta nakon toga.
Ovaj projekt može biti izgrađen na opisani način ili prilagođen kako bi odgovarao. Prethodno sam izgradio mjerač vremena s ovom funkcionalnošću i koristio ga u svom prvom Instructableu za kontrolu okvira za izlaganje UV zračenju.
Mislio sam da bih mogao objaviti samo originalne dizajne programa i ploča. Međutim, iz nekog razloga nisam mogao pronaći kod. Također sam želio poboljšati hardver kako bi upravljački krugovi bili fleksibilniji i smanjili trošenje baterije. Rezultirajući redizajn glavne ploče i ponovno pisanje koda pruža priliku za raspravu o pristupu programiranju i dizajnu hardvera.
Kad god stvorim pločicu, često ustanovim da postoje nedostaci u dizajnu ili postavljanju komponenti. Ploče koje gradim također su jedna od dvije mogućnosti. Osim toga, samo volim biti uključen u sve aspekte projekta od početka do kraja. Ovo su neki od razloga zašto ja izrađujem vlastite ploče radije nego da šaljem Gerberove datoteke u inozemstvo na proizvodnju. Možda sam samo star i zaglavljen u svojim putevima. Ovaj projekt odražava ovu pristranost. Budući da izrađujem vlastite ploče, moji dizajni i datoteke Gerber ne zadovoljavaju proizvodne standarde, nisam uključio te datoteke. Oni koji ne žele urezati i dovršiti ploče, dobrodošli su da pripreme vlastite dizajne i objave Gerberove datoteke u odjeljku za komentare. Prije objavljivanja, dajte ploče proizvesti i testirati.
Korak 1: Pregled elemenata hardvera
Uređaj se napaja sa 4 AAA baterije, a njime upravlja Arduino Pro Mini 5V.
Mali zujalica/zvučnik daje zvučni alarm.
Minijaturni relej od 5 V osigurava upravljačke napone vanjskim uređajima. Fleksibilnost je osigurana u izvoru ovog izlaza upravljačkog napona.
Okretni davač s pritiskom na gumb omogućuje odabir izbornika.
OLED zaslon i trenutni start/stop prekidač upotpunjuju korisničko sučelje.
Dodatni elektronički hardver sastoji se od SPDT prekidača za napajanje i minijaturne telefonske utičnice za povezivanje s vanjskim uređajima.
Osim toga, nalaze se datoteke koje će vam pomoći u ovom projektu:
STL datoteke za 3D tiskanu projektnu futrolu.
Slike maski od bakra i lemljenja za jetkanje i doradu upravljačke ploče i rotacijskog davača.
Shema i slike na ploči kao referenca za one koji žele promijeniti moj dizajn.
Možda ćete htjeti pregledati moj Instructable o stvaranju dvostranih ploča kao primjer uputa za proizvodnju ploča.
Korak 2: Pregled softvera
Uz izvorne datoteke Arduina, neke dodatne informacije koje bi mogle biti korisne.
Knjižnice za upravljanje hardverom koriste se kada su dostupne (odbijanje gumba, OLED kontrola, očitavanje rotacijskog kodera).
Program implementira jednostavan stroj konačnih stanja (FSM) za upravljanje izvršavanjem koda kao naredbu switch u funkciji petlje.
Klasa izbornika definirana je tako da omogućuje odabir prikazanih opcija na OLED -u i odabir pomoću rotacijskog davača.
Unos se provodi izravnim prozivanjem (bez prekida) jer nije vremenski kritičan i čini kod jasnijim.
Ispisi za ispis na Serial koriste se za praćenje izvođenja koda i ispravljanje pogrešaka
Različite vrste elemenata programske strukture, uključujući:
- Više kartica koda za izolaciju nekih funkcija hardverske kontrole i varijabli.
- Promijenite naredbe za postavljanje vrijednosti stanja (FSM) i kontrolnih varijabli.
- Definicija strukture
- Nabrajanja za omogućavanje dodjeljivanja vrijednosti stanja kao teksta.
- #define predprocesorske definicije za hardverske pin i standardne vrijednosti.
Korak 3: Popis dijelova
Nisam bio siguran gdje staviti ovaj korak jer se to može učiniti gotovo u svakom trenutku. Koristio sam kutiju s 3D tiskanim kućištem. Možda nemate pristup 3D pisaču ili preferirate drugu vrstu kućišta, poput aluminijske kutije, laserski rezane plastike, ručno izrezbarenog drva ili druge vrste koju koristite za svoje elektroničke projekte. Uključio sam STL datoteke za gornju, donju, okretnu tipku kodera i OLED okvir. Pomoću ovih datoteka i rezača po vašem izboru stvorite gcode datoteke za svoj pisač.
Ispisujem sve dijelove pomoću PLA niti, jedna boja za gornji i donji dio kućišta, druga kontrastna za gumb i okvir (koji je zalijepljen na vrh.) Neću navoditi sve svoje postavke rezača, nego upotrijebite Tri -Šesterokutna ispuna najmanje 35% kako bi se omogućilo lupkanje kutnih vijaka i postavka "bez oslonca" za čitanje urezanih slova. Ispisao sam kutiju koristeći normalnu visinu sloja svojih pisača.
Korak 9: Dizajn i pisanje koda
Ovaj korak nije obavezan, ali se preporučuje za bolje razumijevanje.
Najveći dio napora u smislu sati je pisanje koda. Ovaj korak možete preskočiti ako priloženi program koristite kao -is. Predlaže se, međutim, da odvojite vrijeme za pregled koda radi boljeg razumijevanja ili izmjena kako biste zadovoljili svoje potrebe.
Sljedeći komentari mogu biti od pomoći u razumijevanju ovog procesa.
- Komentari- Opširno komentirajte dok idete - često pišem komentare prije nego napišem kôd.
- Podijeli i osvoji - koristi funkcije, klase i module (kartice.) Koristite česte kompilacije (Provjeri) za provjeru sintakse. Otklanjanje pogrešaka - Ispišite ispise za provjeru protoka i vrijednosti ispitivanja i hardverskih sučelja. Nemojte se bojati riješiti probleme dok idete, nitko ne piše kôd bez grešaka!
- Konstante - #define upute predkompilatora dodjeljuju imena pin brojevima. Definicije varijabli const s komentarima smanjuju ili uklanjaju "čarobne" brojeve. Korištenje konstanti koje se nalaze na početku programa ili funkcije omogućuju promjenu parametara bez prepisivanja koda
- Unaprijed definirane knjižnice - Korištenje unaprijed definiranih knjižnica smanjuje opterećenje programiranja i vrijeme za ispravljanje pogrešaka.
- Blokovi dizajna - izrađeni pomoću funkcija, izolirajući kôd u zasebnim karticama (povezani programi i.h datoteke), nabrajanja, klase i strukture. Fokusirajte svoju pažnju na svaki od njih kako biste razumjeli kako oni rade u odnosu na ostatak koda.
- Državni strojevi - Ovo je programski uzorak koji odlično funkcionira s Arduinosom ili bilo kojim programima koji se koriste za kontrolu izlaza ili reagiranje na ulaze. Postoji nekoliko okusa državnih strojeva. Ovaj kôd koristi stroj stanja na temelju naredbe switch u funkciji petlje. Ovaj je obrazac lako razumljiv i otklanjati pogreške.
- Zaslon i izbornici - OLED izlaz je sažet, ali pruža dovoljno povratnih informacija za obične korisnike i podržava odabir opcija. Dobro se integrira s državnim strojem (gotovo sve države imaju pridruženi OLED zaslon). Klasa izbornika bila je korisna u izoliranju koda za prikaz i odabir opcija izbornika
Pročitajte program nekoliko puta. Pomaže pri preuzimanju jedne funkcije ili odjeljka odjednom. Često ne razumijem kôd koji sam napisao ako ga nisam pročitao barem dva puta!
Korak 10: Instalirajte program
Kopirajte priloženu datoteku na računalo, a zatim je otpakirajte u direktorij Sketches
Spojite Arduino na računalo i preuzmite programski kod na uobičajen način. Otvorite serijski monitor Arduino IDE da biste provjerili je li program pokrenut i pomogli u otklanjanju pogrešaka.
Korak 11: Sastavite mjerač vremena
Nakon što se gornji i donji dio kućišta ispišu i očiste, komponente se mogu pričvrstiti malim samoreznim plastičnim vijcima. Prvo se držač baterije utakne straga. Ostali dijelovi su pričvršćeni na vrh kućišta sljedećim redoslijedom:
- OLED i kabel
- Start/Stop prekidač i ožičenje
- Rotacijski davač i kabel
- Zvučnik / zujalica i ožičenje
- Vanjska upravljačka utičnica i ožičenje
- Klizni prekidač za uključivanje/isključivanje i ožičenje (provjerite da li je usmjerenje uključeno u željenom smjeru
Spajate li kabele izravno na ploču, učinite to nakon što su svi dijelovi pričvršćeni na kućište kako biste smanjili prekid žice. Morate pričekati dok se kabeli ne spoje na glavnu ploču prije nego što pričvrstite ploču sa stražnje strane.
Ako koristite pin zaglavlja i Dupont konektore, prvo pričvrstite matičnu ploču na stražnju stranu vijcima, a zatim spojite komponente. Budite oprezni pri spajanju baterije na glavnu ploču i pridržavajte se ispravnog polariteta. U ovom trenutku trebate postaviti i kratkospojnike za upravljanje relejem ili ožičenje.
Donji dio kućišta povezuje se s vrhom pomoću 4-40 vijaka za okrugle glave, po jedan u svakom kutu. Četiri rupe na vrhu treba ili dotaknuti slavinom 4/40 ili ako koristite 4-40 umetka s navojem, morat ćete izbušiti rupe da biste ih prihvatili. Također je potrebno izbušiti 4 rupe za montažu glavne ploče na dnu. Pričvrstite ovu ploču na držač za bateriju i označite mjesta rupa. Izbušite prema potrebi za svoje pričvrsne vijke.
Korak 12: Integracijsko testiranje
Konačno (integracijsko) testiranje postiže se isprobavanjem svih opcija izbornika i provjerom radi li s hardverom prema zamisli. Za kôd koji sam naveo to bi trebalo biti dovoljno. Ako ste napisali vlastiti kod ili izmijenili moj, vaše će testiranje morati biti opsežnije. Ne vjerujem da je potrebno izvršiti sve odabire vremena, ali morate isprobati sve standardne opcije alarma i potvrditi da alarmi za spavanje i meditaciju rade kako je zamišljeno.
Korak 13: Završne misli
Čestitam vam na uspješnom, nadam se, projektu. Siguran sam da ste usput naišli na probleme koje ste trebali riješiti. Također sam siguran da su neke moje upute mogle biti potpunije ili jasnije. Obavijestite me kroz odjeljak komentara koji su vaši rezultati i dajte prijedloge kako se ove upute mogu poboljšati.
Hvala vam na vremenu koje ste pregledali i/ili izgradili ovaj projekt.
Preporučeni:
NEVEROVATNA DIY vanjska LED lampa na solarni pogon: 9 koraka
NEVEROVATNA DIY vanjska LED lampa na solarni pogon: Pozdrav! U ovom Instructable-u možete naučiti kako izgraditi jeftinu i laku LED lampu na solarni pogon! Puni bateriju danju, a noću svijetli vrlo jaku LED diodu COB! Samo slijedite korake! Možeš ti to! Zaista je jednostavno i zabavno! Ovaj des
Vanjska litij-ionska baterija za digitalne fotoaparate: 12 koraka (sa slikama)
Vanjska litij-ionska baterija za digitalne fotoaparate: Vanjska baterija korisna je za snimanje dodatnih fotografija i video zapisa jer imaju veći kapacitet od LiPo baterija koje se isporučuju s fotoaparatom. Također mogu zamijeniti teško pronaći baterije u vašim sigurnosnim kamerama, koje ponekad možete koristiti
Kontrola svjetline PWM LED kontrola pomoću tipki, Raspberry Pi i ogrebotina: 8 koraka (sa slikama)
Kontrola svjetline PWM LED kontrola temeljena na tipkama, Raspberry Pi i Scratch: Pokušavao sam pronaći način da svojim učenicima objasnim kako PWM radi, pa sam si postavio zadatak pokušati kontrolirati svjetlinu LED diode pomoću 2 tipke - jedan gumb povećava svjetlinu LED -a, a drugi ga prigušuje. Za program
Pan-Tilt Multi Servo kontrola: 11 koraka (sa slikama)
Pan-Tilt Multi Servo Control: U ovom ćemo vodiču istražiti kako kontrolirati više servo-a pomoću Pythona na Raspberry Pi-u. Naš cilj bit će PAN/TILT mehanizam za postavljanje kamere (PiCam). Ovdje možete vidjeti kako će funkcionirati naš konačni projekt: Control Servo Test Control loop:
Vanjska kontrola Winampa: 4 koraka
Vanjska kontrola Winampa: Danas Winamp ima potpunu podršku za tipkovničke prečace. No, neko vrijeme, kada winamp nije imao ovu značajku, razmišljao sam na neki način da napravim jednostavan način za promjenu glazbe jednostavnim pritiskom na jednu tipku, to bi ubrzalo stvari i učinilo bi