Mikrokontroller tyg tongeneratorn i C-kod (1 / 8 steg)
Steg 1: I början eller varför jag inte kunde hålla sig till analog
Den veritabla timern:
Efter att projektet vissa tänkte jag genast på den piezo tongeneratorn från min op-förstärkare skog Mims III bok. Verkade som en bra väg att gå, det är bara en piezo, en 741 IC och ett par passiva komponenter. Ingen stor sak rätt? Väl den har 2 problem, 1) när du sänka växeln, är det möjligt att ändra tonhöjden 2) det är fan nära omöjligt att stämma. Först kan sannolikt övervinnas med med några debounce teknik, även om jag inte visste hur man gör det utan att lägga till en annan disk. Det kan också vara ett problem med att använda en piezo. Den andra frågan fick bara otympligt när du började försöka träffa en viss pitch. Vad om 555? Datablad visar en tidsfunktion dlay baserat på resistorer och kondensatorer. Vilket är bra tills du börjar skriva i faktiska värden av verkliga världen delar, det är när du hittar slå en 440Hz pitch börjar bli lite svårt. Trim krukor kan du få det inställda, men över tiden tenderar de att flytta. Ständigt tuning instrumentet, sammanställt snabb ökning på kostnad och kvantitet av delar och min fru att göra planen ändras när hon tryckte på knappen dödade 555 för detta projekt.
Op-amp:
Inga problem, människor har varit att syntar med op-förstärkare sedan innan jag föddes. Hur svårt kan det vara att göra en väldigt enkel, med få delar och specifika anteckningar? Svårare än jag trodde. De flesta av designerna ute är mycket mer än komplicerat för detta projekt. Synth designers är ute för den perfekta vågform/tonen. Detta strider direkt mot ett projekt som är tänkt för att vara billiga nog för skola eller lärare budgetar. Bygga ett tangentbord är lätt nog, det är bara en massa motstånd och makt eller ett gäng dioder och makt. Det är resten av kretsdesign, och kostnaden för anpassade PCB som börjar komma ur för någon på början elektronik nivå.
Projektet omdefiniering:
Så projektet fick omdefinierat innan jag ens verkligen kom igång. Jag behövde något som kunde växla en högtalare stift, i tid, med en knapptryckning. Jag ville inte behöva design och köpa en PCB. Detta hade att använda så få komponenter ett möjligt och monteras som en nybörjare kit. Det stirrade mig i ansiktet hela tiden. Duh! Mikrokontroller!
Mikrokontroller:
Så efter en moderna apparater Nakna ben Arduino kit och en ond galen vetenskapsman Enkla mål styrelsen och låta dem sitta på mitt skrivbord för månader som inte används, jag hade det perfekta inledande projektet. Jag började titta på den tid det tar för att sätta båda tillsammans, inlärningskurvan för koden, kostnad, de ytterligare delar som behövs och göra det göra vad jag vill och bosatte sig på styrelsens mål.
Kostnaden var ganska jämn, $15 plus en $20 FTDI kabel för Arduino, 12 $ plus $22 USBtinyISP programmerare. Jag visste redan C++ från lilla college jag kunde stå och tänkte C för microcontrollers inte skulle vara att dåligt, medan än blinkar ett ljus att se till att jag satte min kit ihop ordentligt, jag hade ingen erfarenhet av Arduino. Båda kunde monteras. Det var ganska mycket en kasta upp, så jag bestämde mig på färre delar av två, styrelsens mål.