Sisukord:

Arduino juhitav kellatorn/karillon: 5 sammu (piltidega)
Arduino juhitav kellatorn/karillon: 5 sammu (piltidega)

Video: Arduino juhitav kellatorn/karillon: 5 sammu (piltidega)

Video: Arduino juhitav kellatorn/karillon: 5 sammu (piltidega)
Video: Nutitelefoni teel juhitav auto 2024, Juuli
Anonim
Arduino juhitav kellatorn/Carillon
Arduino juhitav kellatorn/Carillon
Arduino juhitav kellatorn/Carillon
Arduino juhitav kellatorn/Carillon

See on muusikakellade komplekt, mida juhivad solenoidid ja juhivad Arduino mikrokontroller. Ühte oktaavi katab 8 kella. Kellad on arvutist juhitavad või torn võib üksi seista ja etteprogrammeeritud meloodiaid esitada. Vaadake selle viimase lehe toimingut.

Samm: osad

Osad
Osad

Kasutati järgmisi osi: 1 komplekt kromaatilisi käsikellasid. Sain need kohalikult Aldilt 20 dollari eest. Need ulatuvad vahemikku C kuni C. (st c, d, e, f, g, A, B, C). Puitpaneel ja sulgud kellade ja solenoidide hoidmiseks. 10,8 dollarit solenoide kellade löömiseks. Mul olid need oma prügikastis lebamas. Sain need kirjutusmasinate remondimehelt, kes neid minema viskas. Tõenäoliselt leiate sarnase ka Ebay. Arudino mikrokontrollerist. ~ 45 dollarit. Ma sain oma SparkFuni elektroonikast. Proto/Perf plaat ja muud komponendid, et teha oma kohandatud kilp arduino jaoks. $ 10. Darlingtoni juhtplaat. Ma kasutasin ühte, mis mul oli, aga usun, et neid eraldi ei müüda. See peaks olema võimalik paari dollari eest ULN2803 kiibi abil teha.

Samm: puidutöötlemine

Puidutöötlemine
Puidutöötlemine

Üllataval kombel võttis see samm kõige kauem aega. Kodeerimine ja juhtmestik võttis vähem aega kui liimi kuivamine. Selle raam oli üsna lihtne. Lihtsalt vineeritükk, kuhu kõik kellad mahuvad, pluss mõned männihoidjad solenoidide jaoks. Kõik liimiti kokku PVA -liimiga. Solenoidklambrite korduvamaks muutmiseks valmistasin MS Visio šablooni ja liimisin selle puidule. See aitas palju kaasa sellele, et kõik solenoidid olid kellast pideval kaugusel. Kui te seda teete, ei saa ma piisavalt rõhutada, et ründajate asukohti hoolikalt mõõta. Kellad kõlavad üsna erinevalt, sõltuvalt sellest, kuhu te neid tabasite, ja solenoidi "viskest".

Samm: elektroonika ja juhtmestik

Elektroonika ja juhtmestik
Elektroonika ja juhtmestik

Juhi pool: mul vedas, et mul oli Darlingtoni juht, kes lihtsustas disaini. Darlington on võimsustransistor, mida saate kasutada raskemate koormate juhtimiseks, kui pisikesed mikrokontrolleri tihvtid tavaliselt toetaksid. Tahvel, mida ma kasutasin, põhineb kiibil ULN2803, mis on üsna tavaline ja odav. Pange tähele: solenoidid (tavaliselt) ei ole mõeldud pidevaks sõitmiseks! Need võivad sulada, kui te seda teete! Lisateabe saamiseks vaadake tarkvara jaotist. Arduino pool: see oli vaid küsimus, et leida arduino 8 IO tihvti, et juhtida Darlingtoni sisendeid. Kuna ma tahtsin jadaandmeid saata ja vastu võtta, ei saanud ma kasutada tihvte 0 ja 1, seega kasutasin ühel pool digitaalseid 2, 3, 4 ja 5 ning teisel pool nelja analoogsisendit. Lisasin ka analoogsisendisse nr 5 ühendatud potentsiomeetri, mida kasutatakse tempo juhtimiseks. Juhi visuaalseks tagasisideks kasutatakse kahte LED-i. Nööpnõelad 8-13 ei olnud kasulikud arduino tihvtide vahekauguse tõttu (grr…)., Avastasin (juhuslikult), et USB-toiteallikas on piisav. Ma olin mures, et äkiline voolupulss põhjustab pinge languse ja mikrokontrolleri pruunistumise, kuid see ei tundu toimuvat. Teie läbisõit võib varieeruda. Kuna mul on palju mugavam lihtsalt USB -toite kasutada, jätkan seda seni, kuni tekib probleem.

Samm 4: Tarkvara projekteerimine

Tarkvara disain
Tarkvara disain
Tarkvara disain
Tarkvara disain

Disainistrateegia Selle eesmärgiks oli kellatorni juhtimine arvutist. Ideaalne viis selleks oli Arduino USBSerial link. Arduino saab arvutist jadaandmeid, mis vastavad esitatavatele nootidele. Protokoll on lihtne; märkmed on kõik nende ASCII teksti ekvivalentides. Muutuva viivitusena on olemas ka numbriline number. Näiteks Arvuti saadab: "cde2fgABC" ja Arduino mängib kellad 1, 2, 3, puhkab poole noodiga ja mängib seejärel kellad 4, 5, 6, 7 ja 8. Mütsiots John Plocherile tema ServoBellsi projekti jaoks, mis osaliselt inspireeris see projekt. Arduino külgkood: arduino kood võtab vastu seeriaandmeid, dekodeerib, mis märkus või viivitus mängib, ja lülitab seejärel solenoidid sobivalt sisse. Rääkides sellest. Veenduge, et teie kood on kavandatud nii, et solenoidid ei jääks sisse !. Kui jätate solenoidi kogemata sisse, siis see sulab. Lahendasin selle sellega, et panin oma märkmete rutiinid blokeerima, kuni solenoid välja lülitatakse, mitte pidevalt küsitlema jne. PC külgkood: Kliendiprogramm kirjutati tähega C#. Sellel on nupud iga üksiku noodi jaoks, samuti nupud eelprogrammeeritud meloodiate jaoks. Märkmete andmed saadetakse jadaporti. Kõigi lähtekood on lisatud. Parandustuba:

Polüfoonilised noodid

Ma jätsin võimaluse kahe noodi üheaegseks esitamiseks, kuna ma ei arvanud, et ükski oktaavi mahutav viis võiks neid nõuda. Lisaks tulistatakse rohkem kui üks solenoidpurk

Järjekorra tapmine

Arvuti saadab suured laused märkmeid arduinole, kes seejärel töötleb neid, kuni järjekord tühjeneb. Suurte lugude puhul võib see aga väsitada ja võib olla soovitav, et oleks võimalik katkestada jooksev viis. Seda on võimalik saavutada, kui jadalauses on mõni muu täht (nt „x”) puhverlahuse loputamiseks.

Samm: kellade kasutamine

Kellade käitamine
Kellade käitamine
Kellade käitamine
Kellade käitamine

Kellade käitamine on üsna lihtne. Ühendage USB -kaabel ja avage arvuti tarkvara. Lugude esitamiseks võite klõpsata üksikutel kella nuppudel. Soovi korral on nuppe skaalade esitamiseks, eelprogrammeeritud lugusid ja ka tekstivälja vabas vormis teksti sisestamiseks. Lisasin kellade esitamise video. Siiani on programmeeritud ainult lihtsad viisid. Video on siin: https://blip.tv/file/1521415 (Kui keegi teab, kuidas mängida Futurama teemat ühes C -oktaavis, andke mulle sellest teada …)

Soovitan: