Arduino gereguleerde klokkentoren/beiaard (4 / 5 stap)

Stap 4: Softwareontwerp


Design strategie
Het doel van dit was om de klokkentoren verdreven van de PC. Arduino van USB -> seriële verbinding was de ideale manier om dit te doen.

De arduino seriële gegevens worden ontvangen van de PC die correspondeert met welke notities om te spelen. Het protocol is eenvoudig; de noten zijn allemaal in hun equivalenten van ASCII-tekst. Er is ook een numerieke getal als een variabele vertraging.

Bijvoorbeeld de PC stuurt: "cde2fgABC" en de Arduino speelt klokken 1,2,3, rust voor de helft een notitie en vervolgens speelt klokken 4,5,6,7 & 8.

Tip van de hoed aan John Plocher voor zijn ServoBells-project, dat deels geïnspireerd van dit project.

Arduino Side-Code:
De arduino-code de seriële gegevens ontvangt, decodeert welke opmerking of de vertraging te spelen, en klik vervolgens op de juiste manier knevels de elektromagneten.

Spreken over die. Zorg ervoor dat uw code is zo ontworpen dat elektromagneten niet opgeslagen in de worden!. Als u niets opgeeft bij een solenoïde op per ongeluk, het zal smelten. Ik heb dit opgelost door mijn opmerking routines blok tot de solenoïde wordt uitgeschakeld, in plaats van constant stembureaus, enz.

PC Side-Code:
Het clientprogramma is geschreven in C#. Het heeft knoppen voor elke afzonderlijke noot, evenals knoppen voor voorgeprogrammeerde melodieën. De opmerking gegevens worden verzonden naar de seriële poort.

De broncode voor alles is aangesloten.

Ruimte voor verbetering:

  • Polyfone notities

Ik ben de vakgroep voor twee noten tegelijk worden gespeeld als ik denk niet dat elke muziek geschikt voor montage in 1 octaaf zou vereisen hen gebleven. Bovendien afvuren meerdere solenoïde kan

  • Het doden van de wachtrij

De PC stuurt grote zinnen van tonen tot de arduino, die vervolgens ze verwerkt tot de wachtrij wordt leeggemaakt. Echter voor grote wijsjes dit kan vermoeiend en kan het wenselijk zijn om het onderbreken van een lopende tune te kunnen zijn. Dit kan worden bereikt door het hebben van sommige andere brief in de seriële zin (bijv: ' x') als een code voor het spoelen van de buffer.

Gerelateerde Artikelen

Arduino gereguleerde Animatronic Skeleton rockband - lopende

Arduino gereguleerde Animatronic Skeleton rockband - lopende

Voor Halloween dit jaar besloten heb ik om te bouwen van een animatronic skeleton rockband. Het is een work in progress op dit punt, maar ik ben best wel blij met hoe het komt langs. De meeste alles is gemaakt van materialen die ik had op hand (ik be
Android & Arduino gereguleerde projectorscherm

Android & Arduino gereguleerde projectorscherm

dit is mijn eerste keer met behulp van de Arduino, of een microcontroller. Ik ben blij het werkte zo goed maar mijn vrouw niet kan, als gevolg van de stapels van microcontrollers die zal worden weergegeven op onze deur binnenkort voor toekomstige pro
Arduino gereguleerde/Voice TV Remote

Arduino gereguleerde/Voice TV Remote

wordt een student, kunt u Word vrij lui.  Dit was de motivatie achter mijn project voor het maken van een nieuwe afstandsbediening voor mijn TV die kan worden bediend vanuit mijn telefoon, computer of mijn stem.Ik begon dit project mijn eerste jaar o
Multitouch Pinball Instrument

Multitouch Pinball Instrument

dit instructable is over een instrument dat ik heb gemaakt, waarin een eenvoudige Multi-Touch-oppervlak met elektromagneten.Ik zal behandelen dit als documentatie van mijn proces, in plaats van een "how-to" voor mensen om te kopiëren van mijn pr
Draadloze gereguleerde Omaanse directionele voetbal Robot met behulp van de nRF 24L 01 + en Arduino

Draadloze gereguleerde Omaanse directionele voetbal Robot met behulp van de nRF 24L 01 + en Arduino

Hey iedereenWelkom bij mijn eerste instructable. Een draadloze gecontroleerde Omaanse directionele robot.a draadloze gecontroleerde robot kan worden gebruikt in vele ways.i dit gemaakt voor een voetbal spelen, want er een gebeurtenis van voetbal spel
CO2 Laser Water Flow Monitor - Arduino aangedreven / Windows Controlled

CO2 Laser Water Flow Monitor - Arduino aangedreven / Windows Controlled

CO2 Laser Water Flow Monitor- en AlarmAangedreven door een Arduino en gereguleerde door aangepaste software op een Windows PCOm het verlengen van de levensduur van een CO2 -laser-buis is het noodzakelijk aan pomp koelwater doorheen actief is. Als de
Ultrasone Garage Parking Assistant met Arduino en een ATtiny85

Ultrasone Garage Parking Assistant met Arduino en een ATtiny85

Hallo mede makers, ik wil een eenvoudige project dat ik heb samen met u te delen. Ik ben nieuw aan prototyping/circuits en duurde slechts twee semester van Java cursussen, dus toen ik ging op zoek naar eenvoudige projecten te bouwen mijn vaardigheden
Hoe het bouwen van een Arduino Uno op een BreadBoard

Hoe het bouwen van een Arduino Uno op een BreadBoard

Als je net als en mij en geniet van elektronische bouwprojecten dan u zou hebben samengewerkt met de Arduino Uno. De Arduino uno is de meest populaire micro controller van de serie en heeft een grote collectie van bibliotheken die werken met het zeer
Arduino gecontroleerd licht dimmer

Arduino gecontroleerd licht dimmer

Waarschuwing: Sommige mensen proberen om dit met een optocoupler met zerocrossing coz rechts "dat is beter"? Sommigen horen zelfs in elektronicawinkels, het is beter om te gebruiken dergelijke een optocoupler. VERKEERDE. Dit werkt alleen met een
'Arduino' besluit 'Box' worden (Attiny85)

'Arduino' besluit 'Box' worden (Attiny85)

De aankondiging van de plaatsen: dit project bevat evenmin een doos noch een Arduino-code.Ik geplakt met deze naam, omdat dit project een modifictaion van Victor8o5 de "Arduino besluit doos 2.0 (Attiny85 is)" drie dagen geleden geplaatst. Ik von
Arduino gecontroleerd ATX Power Supply

Arduino gecontroleerd ATX Power Supply

kunt een microcontroller eigen kracht?  Nou bijna!Een ATX power supply, nieuwe of van een oude PC, is een geweldige manier voor het aandrijven van Arduino en andere microcontroller-projecten.  Dat is bedekt met verschillende ' ibles zoals deze.  Noch
Een gids voor het beheren van dingen met wisselende inbreng (via arduino)

Een gids voor het beheren van dingen met wisselende inbreng (via arduino)

het hart van dit project is een) aansluiten van een sensor op de analoge ingang van de arduino en b) programmeren met de if... else-statement.dit specifieke project toont een computer koelsysteem te handhaven bepaalde temperatuur binnen een computer
Reset uw circadiane klok "biologische lichaam klok" met Arduino

Reset uw circadiane klok "biologische lichaam klok" met Arduino

Inspiratie voor het opnieuw instellen van uw biologische klok van het lichaam en verbeteren van uw gezondheid en slaap hygiëne met ArduinoEen circadiane klok is niet een klok, die we kijken naar de tijd te vertellen. Het is nogal een tijd keeper en e
Arduino Nano met DHT11, RTC DS1307 en LCD 16 x 2

Arduino Nano met DHT11, RTC DS1307 en LCD 16 x 2

Hallo. Dit is mijn eerste Instructable, dus ik hoop dat het zal worden OK.Dit is mijn Arduino Nano project met LCD-scherm met I2C board, RTC DS1307 en DHT11 sensor.Voor dit project gebruikte ik Arduino Nano, RTC DS1307 klok bord, DHT11 sensor board,