INHOUDSOPGAWE:
- Stap 1: Oorsig van hardeware -elemente
- Stap 2: Sagteware -oorsig
- Stap 3: Onderdele lys
- Stap 9: Ontwerp- en skryfkode
- Stap 10: Installeer die program
- Stap 11: Monteer die timer
- Stap 12: Integrasietoetsing
- Stap 13: Laaste gedagtes
Video: Multi-timer met eksterne beheer: 13 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
Hierdie projek Instructable is 'n samestelling van 'n multifunksionele timer
Hierdie timer kan funksioneer as:
- 'N Algemene alarm met kiesbare tye tussen 1 sekonde en +90 uur. Met 'n aftelling met 'n hoorbare alarm en/of beheer van die eksterne toestel totdat dit klaar is, dan 'n aftelling van die tyd sedert die alarm.
- 'N Slaaptyd met 7 kiesbare tye, aftelling en alarm na voltooiing.
- 'N Meditasie-timer met 4 kiesbare tye, met aftel en 'n kort tjirp na voltooiing, tel op met nog 'n tjirp na 5 minute daarna.
Hierdie projek kan eter gebou word soos hier beskryf of aangepas word. Ek het voorheen 'n timer met hierdie funksie gebou en dit gebruik in my eerste Instructable om die UV -blootstellingskas te beheer.
Ek het gedink ek kan net die oorspronklike program en bordontwerpe publiseer. Om een of ander rede kon ek egter nie die kode vind nie. Ek wou ook die hardeware verbeter om die beheerkringe buigbaarder te maak en die battery leeg te maak. Die gevolglike herontwerp van die hoofbord en die herskryf van die kode bied 'n geleentheid om die benadering tot programmering en hardeware-ontwerp te bespreek.
Elke keer as ek 'n stroombaan skep, vind ek gereeld foute in die ontwerp of plasing van komponente. Boonop hou ek daarvan om van begin tot einde by alle aspekte van 'n projek betrokke te wees. Dit is 'n paar van die redes waarom ek my eie kringplate maak eerder as om die Gerber -lêers oorsee te stuur vir vervaardiging. Miskien is ek net oud en vas in my weë. Hierdie projek weerspieël hierdie vooroordeel. Aangesien ek my eie printplate maak, my ontwerpe en my Gerber -lêers nie aan die vervaardigingsstandaarde voldoen nie, het ek hierdie lêers nie ingesluit nie. Diegene wat nie die borde wil ets en afwerk nie, is welkom om hul eie ontwerpe voor te berei en die Gerber -lêers in die kommentaarafdeling te plaas. Laat u bordjies vervaardig en getoets word voordat u dit plaas.
Stap 1: Oorsig van hardeware -elemente
Die toestel word aangedryf deur 4 AAA -batterye en word bestuur deur 'n Arduino Pro Mini 5V.
'N Klein gonser/luidspreker sorg vir 'n hoorbare alarm.
'N Miniatuur 5v -relais bied beheerspannings aan eksterne toestelle. Buigsaamheid word verskaf in die bron van hierdie stuurspanningsuitset.
'N Draaikodeerder met drukknop bied spyskaartkeuse.
'N OLED -skerm en 'n kort begin/stop -skakelaar voltooi die gebruikerskoppelvlak.
Bykomende elektroniese hardeware bestaan uit 'n SPDT -skakelaar en 'n miniatuur -telefoonaansluiting om aan eksterne toestelle te koppel.
Daarbenewens word lêers voorsien om u te help met hierdie projek:
STL -lêers vir 'n 3D -gedrukte projekkas.
Koper- en soldeermaskerbeelde vir die ets en afwerking van die stuurbord en draaikodeerder.
Skematiese en bordafbeeldings as verwysing vir diegene wat my ontwerp wil aanpas.
U kan my instruksies oor die skep van dubbelzijdige printplate hersien as 'n voorbeeld van die vervaardiging van printplate.
Stap 2: Sagteware -oorsig
Saam met die Arduino -bronlêers, 'n paar ekstra inligting wat nuttig kan wees.
Hardeware-beheerbiblioteke word gebruik wanneer dit beskikbaar is (knoppie-weerkaatsing, OLED-beheer, roterende enkodeerder lees).
Die program implementeer 'n eenvoudige eindige toestand masjien (FSM) om die uitvoering van kode as 'n skakelstelling in die lusfunksie te beheer.
'N Menu -klas word gedefinieer om die opsies wat op die OLED vertoon word, te selekteer en die roterende encoder te kies.
Invoer word geïmplementeer deur direkte peiling (nie-onderbrekingsgedrewe), aangesien dit nie tydskritiek is nie en die kode duideliker maak.
Drukverklarings na Serial word gebruik om die uitvoering van kode en ontfouting op te spoor
Verskillende tipes programstruktuurelemente, insluitend:
- Veelvuldige kode -oortjies om sommige van die hardeware -beheerfunksies en veranderlikes te isoleer.
- Skakel state om die staatswaarde (FSM) en beheer veranderlikes in te stel.
- Struktuur definisie
- Opsommings om toewysing van staatswaardes as teks toe te laat.
- #definieer voorafverwerkerdefinisies vir hardeware-pen en standaardwaardes.
Stap 3: Onderdele lys
Ek was nie seker waar ek hierdie stap moes plaas nie, aangesien dit byna op enige tydstip gedoen kan word. Ek het 'n 3D -gedrukte omhulselkas gebruik. U het moontlik nie toegang tot 'n 3D -drukker nie, of verkies 'n ander tipe omhulsel, soos aluminiumkas, lasergesnyde plastiek, handgemaakte hout of 'n ander tipe wat u vir u elektroniese projekte gebruik. Ek het die STL -lêers vir die boonste, onderste, draaiknopknop en OLED -omhulsel ingesluit. Gebruik hierdie lêers en die snyer van u keuse om gcode -lêers vir u drukker te skep.
Ek druk alle dele uit met PLA -filament, een kleur vir die omhulsel bo en onder, nog 'n kontrasterende een vir die knop en die ring (wat aan die bokant vasgeplak is). Ek gaan nie al my snyinstellings spesifiseer nie, maar gebruik 'n Tri -Heksagon vul ten minste 35% om die hoekskroewe af te tik en 'n "geen ondersteuning" -instelling om die ingeslote letters te lees. Ek het die boks gedruk met my "normale" laaghoogte van die drukkers.
Stap 9: Ontwerp- en skryfkode
Hierdie stap is opsioneel, maar word voorgestel vir 'n beter begrip.
Die grootste deel van die moeite in terme van ure is die skryf van die kode. U kan hierdie stap oorslaan as u die aangehegte program as -is gebruik. Dit word egter aanbeveel dat u die tyd neem om die kode te hersien vir 'n beter begrip of aanpassing om aan u behoeftes te voldoen.
Die volgende opmerkings kan nuttig wees om hierdie proses te verstaan.
- Opmerkings - lewer uitgebreide kommentaar soos u wil - ek skryf gereeld die kommentaar voordat ek die kode skryf.
- Verdeel en oorwin - gebruik funksies, klasse en modules (tabs.) Gebruik gereelde kompilering (verifieer) om die sintaksis na te gaan. Ontfout - gebruik afdrukstate om vloei- en toetswaardes en hardeware -koppelvlakke te verifieer. Moenie bang wees om die probleme op te los nie; niemand skryf kode wat foutloos is nie!
- Konstante - #define vooraf samesteller instruksies ken name toe aan speldnommers. Konstante veranderlike definisies met kommentaar verminder of skakel 'magiese' getalle uit. Deur konstante aan die begin van 'n program of funksie te gebruik, kan u die parameters verander sonder om kode te herskryf
- Vooraf gedefinieerde biblioteke - Die gebruik van vooraf gedefinieerde biblioteke verminder die programmeringslas en ontfouttyd.
- Ontwerpblokke - Geskep met behulp van funksies, isolerende kode in aparte oortjies (gepaardgaande programme en.hfiles), opsommings, klasse en strukture. Vestig u aandag op elkeen om te verstaan hoe dit werk in verhouding tot die res van die kode.
- Staatsmasjien (e) - Dit is 'n programmeerpatroon wat goed werk met Arduinos of enige programme wat gebruik word om uitsette te beheer of insette te reageer. Daar bestaan verskillende geure van staatsmasjiene. Hierdie kode gebruik 'n staatsmasjien wat gebaseer is op die skakelaarverklaring in die lusfunksie. Hierdie vorm is maklik om te verstaan en te ontfout.
- Vertoon en spyskaarte - Die OLED -uitset is stewig, maar bied genoeg terugvoer vir informele gebruikers en ondersteun die keuse van opsies. Dit kan goed geïntegreer word met die staatsmasjien (byna alle state het 'n gepaardgaande OLED -skerm). Die spyskaartklas was nuttig om die kode te isoleer om te wys en kieslysopsies te kies
Lees die program verskeie kere. Dit help om een funksie of afdeling op 'n slag te neem. Ek verstaan dikwels nie die kode wat ek geskryf het nie, tensy ek dit ten minste twee keer gelees het!
Stap 10: Installeer die program
Kopieer die aangehegte lêer na u rekenaar en pak dit dan uit in u Sketches -gids
Koppel die Arduino aan op u rekenaar en laai die programkode op die normale manier af. Maak die Arduino IDE -seriële monitor oop om te verifieer dat die program werk en help met ontfouting.
Stap 11: Monteer die timer
Sodra die boonste en onderste dele van die omhulsel gedruk en skoongemaak is, kan die komponente vasgemaak word met klein plastiekskroewe. Eers word die batteryhouer in die rug vasgemaak. Die res van die dele word in die volgende volgorde aan die bokant van die omhulsel vasgemaak:
- OLED en kabel
- Begin/stop skakelaar en bedrading
- Draaikodeerder en kabel
- Luidspreker / gonser en bedrading
- Eksterne beheer -aansluiting en bedrading
- Skuifskakelaar en bedrading aan/af (kontroleer die oriëntasie dubbel, sodat dit in die gewenste rigting is
As u die kabels direk aan u printplaat soldeer, doen dit nadat al die dele aan u omhulsel geheg is om die draadbreuk te verminder. U moet wag totdat die kabels aan die hoofbord gekoppel is voordat u die bord aan die agterkant vasskroef.
As u penkoppe en Dupont -verbindings gebruik, moet u eers die hoofbord met skroewe aan die agterkant koppel en dan die komponente inprop. Wees versigtig as u die battery aan die hoofbord koppel en die korrekte polariteit waarneem. U moet ook op hierdie tydstip die relais -beheerspringers of bedrading instel.
Die onderkant van die omhulsel kan aan die bokant verbind word met behulp van 4-40 ronde kopskroewe, een in elke hoek. Die vier gate aan die bokant moet met 'n 4/40 kraan getik word, of as u 4-40 skroefdraad-insetsels gebruik, moet u die gate boor om dit te aanvaar. Die 4 gate vir die hoofbord wat aan die onderkant gemonteer word, moet ook geboor word. Maak hierdie bord vas aan die snap-in-batterymontering en merk die liggings van die gate. Boor soos toepaslik vir u monteerskroewe.
Stap 12: Integrasietoetsing
Die finale (integrasie) toets word uitgevoer deur al die menu -opsies te probeer en te verifieer dat dit met die hardeware werk soos dit ontwerp is. Vir die kode wat ek verskaf het, behoort dit voldoende te wees. As u u eie kode geskryf of myne aangepas het, moet u toetsing meer uitgebreid wees. Ek glo nie dat al die keuses vir tydsberekening uitgeoefen moet word nie, maar u moet alle standaardalarmopsies probeer en val- en meditasie -alarms bevestig soos dit ontwerp is.
Stap 13: Laaste gedagtes
Baie geluk met die suksesvolle projek, hoop ek. Ek is seker dat u probleme ondervind het wat u moes oplos. Ek is ook seker dat sommige van my instruksies meer volledig of duideliker kon gewees het. Laat weet my asseblief deur die kommentaar -afdeling wat u resultate was en voorstelle oor hoe hierdie instruksies verbeter kan word.
Dankie vir u tyd om hierdie projek te besigtig en/of te bou.
Aanbeveel:
Beheer u toestel met Android WiFi Esp8266 Beheer: 6 stappe
Beheer u toestel met behulp van Android WiFi Esp8266 -beheer: nou weet ons hoe om toestelle te beheer met behulp van esp8266 WiFi -module en Arduino beheer u toestel met Android WiFi -beheer vir meer inligting. klik op die skakel mohamed ashraf
N Strobe Blacklight vir bestendige en eksterne beheer: 5 stappe (met foto's)
Hacking a Strobe Blacklight vir steady-on en eksterne beheer: Elke jaar verkoop die groot bokswinkels strobeswartligte gemaak met UV-LED's. Daar is 'n knop aan die kant wat die strobespoed beheer. Dit is lekker en goedkoop, maar hulle het nie 'n deurlopende modus nie. Boonop sal dit aangenaam wees om die lig uit te skakel
Windows installeer op 'n eksterne skyf met 'n Mac -partisie op 'n Mac: 5 stappe (met foto's)
Windows op 'n eksterne skyf installeer met 'n Mac -partisie op 'n Mac: as u iets soos 'n basiese MacBook pro gekoop het en 'n bietjie geld gespaar het, maar dan vinnig die stoorkwessie ondervind wanneer u Windows probeer installeer met Bootcamp Ons weet almal dat 128 GB nie genoeg is nie hierdie, sodat ons dalk iets gekoop het
Eksterne Winamp -beheer: 4 stappe
Eksterne Winamp -beheer: Winamp het deesdae volledige ondersteuning vir kortpaaie. Maar 'n tyd, toe winamp hierdie funksie nie gehad het nie, het ek op 'n manier gedink om 'n maklike manier te maak om musiek te verander deur net op een knoppie te druk, dit sou dinge vinniger maak en sou
Maak 'n eksterne HDD van ou eksterne CD/RW: 5 stappe
Maak 'n eksterne HDD van ou eksterne CD/RW: 'n redelike eenvoudige omskakeling van 'n ou eksterne cd/rw na 'n nuttiger eksterne hardeskyf. Toebehore 1-eksterne cd/rw (verkieslik die meer boxy-tipe) 1-hardeskyf (moet ooreenstem met die interne aansluiting van die omhulselkas, moet geformateer/gespuit word) 1-sm