Inhoudsopgave:
- Stap 1: Onderdelen
- Stap 2: Houtbewerking
- Stap 3: Elektronica en bedrading
- Stap 4: Software-ontwerp
- Stap 5: Bediening van de bellen
Video: Arduino gecontroleerde klokkentoren / beiaard - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:20
Dit is een set muzikale bellen die worden aangedreven door elektromagneten en worden bestuurd door een Arduino-microcontroller. Er zijn 8 bellen die een octaaf beslaan. De klokken zijn te bedienen vanaf een pc, of de toren kan op zichzelf staan en voorgeprogrammeerde melodieën spelen. Bekijk de laatste pagina voor een video van het in actie.
Stap 1: Onderdelen
De volgende onderdelen zijn gebruikt:1 set chromatische handbellen. Ik heb deze van mijn lokale Aldi voor $ 20. Ze overspannen het bereik van C tot C. (d.w.z. c, d, e, f, g, A, B, C). Houten paneel en beugels om de bellen en elektromagneten op hun plaats te houden. $ 10,8 Solenoïdes om de klokken te slaan. Ik had deze nog in mijn rommeldoos liggen. Ik kreeg ze van een typemachinereparateur die ze weggooide. Je kunt waarschijnlijk iets soortgelijks vinden op de Ebay. Arudino-microcontroller. ~ $ 45. Ik heb de mijne van SparkFun electronics. Proto/Perf board & misc-componenten om mijn aangepaste 'schild' voor de arduino te maken. $ 10. Darlington-bestuurdersbord. Ik gebruikte er een die ik had liggen, maar ik geloof dat ze niet apart worden verkocht. Zou mogelijk moeten zijn om het te maken met de ULN2803-chip voor een paar dollar.
Stap 2: Houtbewerking
Verrassend genoeg duurde deze stap het langst. Het coderen en bedraden kostte minder tijd dan de lijm om te drogen. Het frame hiervoor was vrij eenvoudig. Gewoon een stuk triplex om alle bellen vast te houden, plus wat grenen beugels voor de solenoïdes. Alles werd aan elkaar gelijmd met PVA-lijm. Om de magneetbeugels herhaalbaar te maken, heb ik een sjabloon gemaakt in MS Visio en dit vervolgens op het hout gelijmd. Dit heeft veel geholpen om alle spoelen op een constante afstand van de bel te hebben. Als je dit doet kan ik niet genoeg benadrukken om zorgvuldig te meten voor de spitslocaties. De bellen klinken heel anders, afhankelijk van waar je ze raakt en de 'worp' van de solenoïde.
Stap 3: Elektronica en bedrading
Bestuurderskant: ik had het geluk dat er een darlington-driver rondslingerde, wat het ontwerp aanzienlijk vereenvoudigde. De darlington is een vermogenstransistor die je kunt gebruiken om zwaardere belastingen aan te sturen dan de kleine microcontroller-pinnen normaal zouden ondersteunen. Het bord dat ik heb gebruikt is gebaseerd op de ULN2803-chip, die vrij algemeen en goedkoop is. Let op: Solenoids zijn (meestal) niet ontworpen om constant te worden aangedreven! Ze kunnen smelten als je dat doet! Zie de softwaresectie voor meer info. Arduino-kant: dit was gewoon een kwestie van 8 IO-pinnen van de arduino vinden om de Darlington-ingangen aan te sturen. Omdat ik seriële gegevens wilde verzenden en ontvangen, kon ik pinnen 0 & 1 niet gebruiken, dus uiteindelijk gebruikte ik digitals 2, 3, 4 & 5 aan de ene kant en gebruikte ik vier van de analoge ingangspinnen aan de andere kant als digitale uitgangen. Ik heb ook een potentiometer toegevoegd die is aangesloten op analoge ingang #5, die wordt gebruikt om het tempo te regelen. Twee LED's worden gebruikt voor visuele feedback van de driver. Pins 8-13 waren nutteloos vanwege de funky arduino-pinafstand (grr…) Opmerkingen over voeding: hoewel ik dit oorspronkelijk bedraad had om een externe voeding te gebruiken om de solenoïden aan te drijven, ontdekte ik (per ongeluk) dat de USB-stroom voldoende was. Ik was bang dat de plotselinge stroompuls de spanning zou doen dalen en de microcontroller zou 'bruinen', maar dit lijkt niet te gebeuren. Uw kilometerstand kan variëren. Omdat het voor mij veel handiger is om gewoon de USB-stroom te gebruiken, zal ik dat blijven doen tot ik een probleem heb.
Stap 4: Software-ontwerp
Ontwerpstrategie Het doel hiervan was om de klokkentoren vanaf de pc te laten rijden. Arduino's USBSerial-link was de ideale manier om dit te doen. De Arduino ontvangt seriële gegevens van de pc die overeenkomen met welke noten moeten worden gespeeld. Het protocol is eenvoudig; de noten zijn allemaal in hun ASCII-tekstequivalenten. Er is ook een numeriek nummer als variabele vertraging. De pc stuurt: "cde2fgABC" en de Arduino speelt klokken 1, 2, 3, rust voor een halve noot en speelt dan klokken 4, 5, 6, 7 & 8. Tip van de hoed naar John Plocher voor zijn ServoBells-project, dat deels inspireerde dit project. Arduino Side Code:De Arduino-code ontvangt de seriële gegevens, decodeert welke noot of vertraging moet worden gespeeld en schakelt vervolgens de elektromagneten op de juiste manier. Daarover gesproken. Zorg ervoor dat uw code zo is ontworpen dat elektromagneten niet aan blijven!. Als u per ongeluk een solenoïde aan laat, zal deze smelten. Ik heb dit opgelost door mijn notitieroutines te laten blokkeren totdat de solenoïde is uitgeschakeld, in plaats van constant te pollen, enz. PC Side Code: Het clientprogramma is geschreven in C#. Het heeft knoppen voor elke afzonderlijke noot, evenals knoppen voor voorgeprogrammeerde melodieën. De notitiegegevens worden naar de seriële poort gestuurd. De broncode voor alles is bijgevoegd. Ruimte voor verbetering:
Polyfone noten
Ik liet de mogelijkheid weg om twee noten tegelijk te spelen, omdat ik niet dacht dat melodieën die in 1 octaaf zouden passen, ze nodig zouden hebben. Bovendien afvuren van meer dan één solenoïde kan
De wachtrij doden
De pc stuurt grote zinnen met notities naar de arduino, die ze vervolgens verwerkt totdat de wachtrij leeg is. Voor grote deuntjes kan dit echter vermoeiend zijn en kan het wenselijk zijn om een lopend deuntje te kunnen onderbreken. Dit kan worden bereikt door een andere letter in de seriële zin (bijvoorbeeld 'x') als code te gebruiken om de buffer te spoelen.
Stap 5: Bediening van de bellen
Het bedienen van de klokken is vrij eenvoudig. Sluit de USB-kabel aan en open de pc-software. U kunt op de afzonderlijke belknoppen klikken om een deuntje af te spelen. Optioneel zijn er knoppen om toonladders af te spelen, voorgeprogrammeerde deuntjes en ook een tekstvak voor vrije tekstinvoer. Ik heb een video bijgevoegd van de bellen die spelen. Tot nu toe zijn er alleen eenvoudige deuntjes geprogrammeerd.video is hier:https://blip.tv/file/1521415(Als iemand weet hoe het Futurama-thema in een C tot en met C-octaaf moet worden gespeeld, laat het me dan weten…)
Aanbevolen:
DIY INTERNET GECONTROLEERDE SMART LED MATRIX (ADAFRUIT + ESP8266 + WS2812): 8 stappen (met afbeeldingen)
DIY INTERNET GECONTROLEERDE SMART LED MATRIX (ADAFRUIT + ESP8266 + WS2812): Hier is mijn tweede voorschot op een project dat ik je graag wil laten zien. Het gaat om een doe-het-zelf Smart LED Matrix waarmee je gegevens, zoals YouTube-statistieken, je Smart Home-statistieken, zoals temperatuur, vochtigheid, een eenvoudige klok kunt laten zien, of gewoon laten zien
Laptop Touchpad Gecontroleerde Modelspoorbaan - PS/2 Arduino-interface: 14 stappen
Laptop Touchpad Gecontroleerde Modelspoorbaan | PS/2 Arduino-interface: het touchpad van een laptop is een van de geweldige apparaten om te gebruiken als invoer voor microcontrollerprojecten. Dus laten we vandaag dit apparaat implementeren met een Arduino-microcontroller om een modelspoorbaan te besturen. Met een PS/2-touchpad kunnen we 3 t
SMARTPHONE GECONTROLEERDE ROBOT MET BLE 4.0 !!!: 5 stappen
SMARTPHONE GECONTROLEERDE ROBOT MET BLE 4.0 !!!: In vorige instructable heb ik met je gedeeld hoe je de Bluetooth-module (met name HM10 BLE v4.0) met Arduino kunt gebruiken om LED's te bedienen met een smartphone. Je kunt het hier bekijken. In deze instructable laat ik je zien hoe je een robot bouwt die kan worden
Wi-Servo: Wi-Fi Browser Gecontroleerde Servomotoren (met Arduino + ESP8266): 5 Stappen
Wi-Servo: Wi-fi Browser Controlled Servomotoren (met Arduino + ESP8266): Deze instructable laat zien hoe sommige servomotoren op afstand kunnen worden bediend in een wifi-netwerk, met behulp van een gewone internetbrowser (bijvoorbeeld Firefox). Dit kan in verschillende toepassingen worden gebruikt: speelgoed, robots, drones, camera pan/tilt, enz. De motoren waren
Goedkoopste Arduino -- Kleinste Arduino -- Arduino Pro Mini -- Programmeren -- Arduino Neno: 6 stappen (met afbeeldingen)
Goedkoopste Arduino || Kleinste Arduino || Arduino Pro Mini || Programmeren || Arduino Neno:…………………………….. ABONNEER aub op mijn YouTube-kanaal voor meer video's……. Dit project gaat over hoe je een kleinste en goedkoopste arduino ooit kunt aansluiten. De kleinste en goedkoopste arduino is arduino pro mini. Het lijkt op arduino