Innholdsfortegnelse:
- Trinn 1: Deler
- Trinn 2: Trebearbeiding
- Trinn 3: Elektronikk og ledninger
- Trinn 4: Programvaredesign
- Trinn 5: Betjening av bjellene
Video: Arduino kontrollert klokketårn/klokkespill: 5 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:26
Dette er et sett med musikalske klokker som drives av solenoider og styres av en Arduino mikrokontroller. Det er 8 klokker som dekker en oktav. Klokkene kan kontrolleres fra en PC, eller så kan tårnet stå alene og spille forhåndsprogrammerte melodier. Sjekk den siste siden for video av den i aksjon.
Trinn 1: Deler
Følgende deler ble brukt: 1 sett med kromatiske håndklokker. Jeg fikk disse fra min lokale Aldi for $ 20. De strekker seg fra C til C. $ 10,8 solenoider for å slå klokkene. Jeg hadde disse liggende i søppelboksen min. Jeg fikk dem fra en skrivemaskinreparatør som kastet dem. Du kan sannsynligvis finne lignende på Ebay. Arudino mikrokontroller. ~ $ 45. Jeg kjøpte min fra SparkFun electronics. Proto/Perf -brett og diverse komponenter for å lage mitt tilpassede 'skjold' for arduinoen. $ 10. Darlington driverbrett. Jeg brukte en jeg hadde liggende, men jeg tror de ikke selges separat. Bør være mulig å gjøre det ved hjelp av ULN2803 -brikken for et par dollar.
Trinn 2: Trebearbeiding
Overraskende nok tok dette trinnet lengst. Kodingen og ledningene tok mindre tid enn for limet å tørke. Rammen for dette var ganske enkel. Bare et stykke kryssfiner for å holde alle klokkene, pluss noen furubeslag for solenoider. Alt ble limt sammen med PVA -lim. For å gjøre magnetventilene mer gjentagende, laget jeg en sjablong i MS Visio og limte den deretter på treverket. Dette hjalp mye på å ha alle solenoider i konstant avstand fra klokken. Hvis du gjør dette kan jeg ikke understreke nok til å måle nøye for angriperplasseringene. Klokkene høres ganske forskjellige ut, avhengig av hvor du treffer dem og "kast" av solenoiden.
Trinn 3: Elektronikk og ledninger
Førersiden: Jeg var så heldig å ha en darlington -sjåfør liggende, noe som forenklet designet mye. Darlington er en effekttransistor som du kan bruke til å kjøre tyngre belastninger enn de små mikrokontrollerpinnene normalt støtter. Brettet jeg brukte er basert på ULN2803 -brikken, som er ganske vanlig og billig. Vær oppmerksom på: Magnetene er (vanligvis) ikke designet for å kjøres konstant! De kan smelte hvis du gjør det! Se programvaredelen for mer info. Arduino -side: Dette var bare et spørsmål om å finne 8 IO -pinner fra arduinoen for å drive Darlington -inngangene. Fordi jeg ønsket å sende og motta serielle data, kunne jeg ikke bruke pinne 0 & 1, så jeg endte opp med å bruke sifrene 2, 3, 4 og 5 på den ene siden, og brukte fire av de analoge inngangspinnene på den andre siden som digitale utganger. Jeg la også til et potensiometer koblet til analog inngang #5, som brukes til å kontrollere tempoet. To lysdioder brukes til visuell tilbakemelding fra driveren. Pins 8-13 var ikke til nytte på grunn av den funky arduino-pinneavstanden (grr …) Merknader om strøm: Selv om jeg opprinnelig koblet dette til å bruke en ekstern strømforsyning for å drive solenoider, Oppdaget jeg (ved et uhell) at USB-strømmen var tilstrekkelig. Jeg hadde vært bekymret for at den plutselige strømpulsen ville få spenningen til å falle, og at mikrokontrolleren ble "brun", men det ser ikke ut til å skje. Kjørelengden din kan variere. Siden det er mye mer praktisk for meg å bare bruke USB -strømmen, vil jeg fortsette å gjøre det til jeg har et problem.
Trinn 4: Programvaredesign
Designstrategi Målet for dette var å få klokketårnet kjørt fra PC -en. Arduinos USBSerial link var den ideelle måten å gjøre dette på. Arduino mottar serielle data fra PC -en som tilsvarer hvilke notater som skal spilles. Protokollen er grei; notatene er alle i sine ASCII -tekstekvivalenter. Det er også et tall som en variabel forsinkelse. PC -en sender: "cde2fgABC" og Arduino spiller klokkene 1, 2, 3, hviler i en halv tone og spiller deretter klokker 4, 5, 6, 7 og 8. Tips på hatten til John Plocher for hans ServoBells -prosjekt, som delvis inspirerte dette prosjektet. Arduino Side Code: Arduino -koden mottar serielle data, dekoder hvilken notat eller forsinkelse som skal spilles, og bytter deretter solenoider på passende måte. Sørg for at koden din er designet slik at solenoider ikke holdes på !. Hvis du forlater en solenoid ved en feiltakelse, vil den smelte. Jeg løste dette ved å få notatrutinene til å blokkere til solenoiden er slått av, i stedet for konstant polling, etc. PC Sidekode: Klientprogrammet ble skrevet i C#. Den har knapper for hver enkelt tone, samt knapper for forhåndsprogrammerte melodier. Notatdataene sendes til seriell port. Kildekoden for alt er vedlagt. Rom for forbedring:
Polyfoniske notater
Jeg slapp muligheten for at to toner skulle spilles samtidig, da jeg ikke trodde noen låter som kunne passe inn i 1 oktav ville kreve dem. I tillegg skyter du mer enn én magnetventil
Dreper køen
PC -en sender store setninger med notater ned til arduinoen, som deretter behandler dem til køen tømmes. Men for store låter kan dette være slitsomt, og det kan være ønskelig å kunne avbryte en melodi som går. Dette kan oppnås ved å ha en annen bokstav i seriesetningen (f.eks. 'X') som kode for å skylle bufferen.
Trinn 5: Betjening av bjellene
Å bruke klokkene er ganske enkelt. Koble til USB -kabelen og åpne PC -programvaren. Du kan klikke på de enkelte ringeknappene for å spille en melodi. Alternativt er det knapper for å spille skalaer, forhåndsprogrammerte melodier og også en tekstboks for tekstformat i fri form. Jeg har inkludert en video av klokkene som spilles. Foreløpig er bare enkle låter programmert i. Video er her: https://blip.tv/file/1521415 (Hvis noen vet hvordan man spiller Futurama -temaet i en C til og med C -oktav, vennligst gi meg beskjed …)
Anbefalt:
Arduino kontrollert robotarm med 6 frihetsgrader: 5 trinn (med bilder)
Arduino kontrollert robotarm med 6 frihetsgrader: Jeg er medlem av en robotikkgruppe og hvert år deltar gruppen vår i en årlig Mini-Maker Faire. Fra 2014 bestemte jeg meg for å bygge et nytt prosjekt for hvert års arrangement. På den tiden hadde jeg omtrent en måned før arrangementet til å sette sammen noe
Arduino -kontrollert telefondokk med lamper: 14 trinn (med bilder)
Arduino -kontrollert telefondokk med lamper: Ideen var enkel nok; lag en ladestasjon for telefonen som bare ville slå på en lampe når telefonen lades. Men som ofte er tilfelle, kan ting som i utgangspunktet virker enkle ende opp med å bli litt mer komplekse i utførelsen. Dette er t
Nunchuk kontrollert robotarm (med Arduino): 14 trinn (med bilder)
Nunchuk kontrollert robotarm (med Arduino): Robotarmer er kjempebra! Fabrikker over hele verden har dem, der de maler, lodder og bærer ting med presisjon. De kan også finnes i romforskning, undersjøiske fjernstyrte kjøretøyer og til og med i medisinske applikasjoner! Og nå kan du
Robotic hånd med trådløs hanske kontrollert - NRF24L01+ - Arduino: 7 trinn (med bilder)
Robotic hånd med trådløs hanske kontrollert | NRF24L01+ | Arduino: I denne videoen; 3D robot håndmontering, servokontroll, flex sensor kontroll, trådløs kontroll med nRF24L01, Arduino mottaker og sender kildekoden er tilgjengelig. Kort sagt, i dette prosjektet vil vi lære å kontrollere en robothånd med en tråd
Wi-fi-kontrollert FPV Rover Robot (med Arduino, ESP8266 og Stepper Motors): 11 trinn (med bilder)
Wi-fi-kontrollert FPV Rover Robot (med Arduino, ESP8266 og Stepper Motors): Denne instruksjonen viser hvordan du designer en fjernstyrt tohjulet robotrover over et wi-fi-nettverk, ved hjelp av en Arduino Uno koblet til en ESP8266 Wi-fi-modul og to trinnmotorer. Roboten kan styres fra en vanlig nettleser