Arduino experiment (Supersize Instructable) (4 / 14 steg)

Steg 4: Skicklighet nivå: grundläggande. (2)




  • PIEZO SUMMERN (spelar toner & låtar)
  • Enkel inställning av kretsen se bilder, här du kommer att spela en ton melodi och låt/melodi av ändring av frekvensen och graden av elektriska summern gå till exempel på din IDE titt på digital och välj tonen/melodi och försök den ute.
  • KOD FÖR CAN-CAN TUNE UNDER DENNA LINJE ___

int noteFreqArr [] = {

49,4, 52.3, 55,4, 58.7, 62,2, 65.9, 69,9, 74, 78,4, 83,1, 88, 93,2, 98,8, 105, 111, 117, 124, 132, 140, 148, 157, 166, 176, 186, 198, 209, 222, 235, 249, 264, 279, 296, 314, 332, 352, 373, 395, 419, 444, 470, 498, 527, 559, 592, 627, 665, 704, 746, 790, 837, 887, 940, 996, 1050, 1110, 1180, 1250, 1320, 1400, 1490, 1580 1670, 1770, 1870, 1990, 2100};

långa läge = 0;

void setup() {pinMode (4, OUTPUT); / / ange en PIN-kod för Summer utgång}

void playNote (långa noteInt, lång längd, lång läge, långa andetag = 25) {längd = längd - andedräkt, lång noteInt2 = noteInt + 12. //1 oktav upp långa noteInt3 = noteInt + 24. //2 oktaver upp långa noteInt4 = noteInt + 36. //3 oktaver upp långa playLoop = längd / 100; //divide längd av 4, för användning i uppspelningssekvensen if(mode == 0) {//mode 0 sekvens för (länge jag = 0; jag < playLoop; i ++) {buzz (4 noteFreqArr [noteInt], 20); Delay(5); Buzz (4, noteFreqArr [noteInt2], 20); Delay(5); Buzz (4, noteFreqArr [noteInt3], 20); Delay(5); Buzz (4, noteFreqArr [noteInt4], 20); Delay(5); {}} annat if(mode == 1) {//mode 1 sekvens för (länge jag = 0; jag < playLoop; i ++) {buzz (4, noteFreqArr [noteInt3], 20), delay(5), buzz (4, noteFreqArr [noteInt4], 20); delay(5); buzz (4, noteFreqArr [noteInt3], 20); delay(5); buzz (4, noteFreqArr [noteInt4], 20), delay(5);}} annat if(mode == 2) {//mode 2 sekvens för (länge jag = 0; jag < playLoop; i ++) {buzz (4, noteFreqArr [noteInt3] 20); Delay(5); Buzz (4, noteFreqArr [noteInt3], 20); Delay(5); Buzz (4, noteFreqArr [noteInt3], 20); Delay(5); Buzz (4, noteFreqArr [noteInt2], 20); Delay(5); {}} annat if(mode == 3) {//mode 3 sekvens för (länge jag = 0; jag < playLoop; i ++) {buzz (4, noteFreqArr [noteInt4], 40), delay(5), buzz (4, noteFreqArr [noteInt2], 40), delay(5);}} if(breath > 0) {//take en kort paus eller "andas" om anges delay(breath);}}

void loop() {//main kurs playNote (12, 500, läge); playNote (5, 1000, läge); playNote (7, 250, läge), playNote (10, 250, läge); playNote (9, 250, läge); playNote (7, 250, läge); playNote (12, 500, läge); playNote (12, 500, läge); playNote (12, 250, läge); playNote (14, 250, läge); playNote (9, 250, läge); playNote (10, 250, läge); playNote (7, 500, läge); playNote (7, 500, läge); playNote (7 250, läge); playNote (10, 250, läge); playNote (9, 250, läge); playNote (7, 250, läge); playNote (5, 250, läge); playNote (17, 250, läge); playNote (16, 250, läge); playNote (14, 250, läge); playNote (12, 250, läge); playNote (10, 250, läge); playNote (9, 250, läge); playNote (7, 250, läge); playNote (5, 1000, läge); playNote (7, 250, läge); playNote (10, 250, läge); playNote (9, 250, läge); playNote (7, 250, läge); playNote (12, 500, läge); playNote (12, 500, läge); playNote (12, 250, läge); playNote (14, 250, läge); playNote (9, 250, läge); playNote (10, 250, läge); playNote (7, 500, läge); playNote (7, 500, läge); playNote (7, 250, läge); playNote (10, 250, läge); playNote (9, 250, läge); playNote (7, 250, läge); playNote (5, 250, läge); playNote (12, 250, läge); playNote (7, 250, läge); playNote (9, 250, läge); playNote (5, 250, läge); Delay(250); IF(mode == 0) {läge = 1;} annat if(mode == 1) {läge = 2;} annat if(mode == 2) {läge = 3;} annat if(mode == 3) {läge = 0;}}

void buzz (int targetPin, lång frekvens, lång längd) {lång delayValue = 1000000/frekvens/2; / / beräkna dröjsmål värdet mellan övergångar / / / 1 sekund är värt mikrosekunder, dividerat med frekvensen, då kluvna sedan / / / det är två faser till varje cykla långa numCycles = frekvens * längd / 1000; / / beräkna antalet cykler för rätt tid / / / multiplicera frekvens, vilket är riktigt cykler per sekund av antalet sekunder till / / / få det totala antalet cykler att producera för (länge jag = 0; jag < numCycles; i ++) {/ / för den beräknade längden av tid... digitalWrite(targetPin,HIGH); / / Skriv summern pin hög att driva ut diaphram delayMicroseconds(delayValue); / / vänta tills beräknad försening värde digitalWrite(targetPin,LOW); / / Skriv PIN-koden Summer låg för att dra tillbaka diaphram delayMicroseconds(delayValue); / / wait againf eller beräknad försening värde}}

  • (Behöver inte ladda ner alla bibliotek för detta bara kopiera och klistra in den till din IDE i en tom skiss och spara den som den kan-kan sedan ladda upp den och prova det, personligen hitta det mycket irriterande stämma när spelade säker får en uppmärksamhet emellertid)
  • Knappen trycka (förmåga att kartlägga knappar för mer command & control förmåga)... Knappen trycka & mappning, för det första enda knapp som en på/av-knappen på när du trycker bort när den släpps, följt av duell knappen kartläggning ställa en som en off-knapp och andra en en på knappen, möjliggör skapandet av en spelkontrollen för robotsystem, ett exempel är en 5button pad upp/ner/vänster/höger och en händelseknapp i mitten.
  • Följa bilderna och titta på video för att tråd upp banan om du har problem hänvisar till källor på nätet för knappen mappning med arduino, alltid kontrollera ditt ledningar innan du ansluter det upp och vrida på din styrelse sedan dubbelkolla som en kortslutning kan döda din utrustning i sekunder särskilt med fler högspänning program... Kodning under raden för att ställa in knappar (för enda knapp SETUP) ___ ___ / *

    Knappen tänds och släcks en ljusavgivande diode(LED) ansluten till digital stift 13, när du trycker på en tryckknapp ansluten till stift 2. Kretsen: * LED fästs marken från stift 13 * tryckknapp ansluten till stift 2 från + 5V * 10K resistor kopplad till stift 2 från marken * Obs: på de flesta Arduinos finns det redan en LED i styrelsen bifogas stift 13. skapad 2005 av DojoDave uppdaterad 30 Aug 2011 av Tom Igoe här exempelkod är offentlig. http://www.Arduino.cc/en/tutorial/Button *

    / konstanter kommer inte att ändra. De används här till / / set pin-koder: const int buttonPin = 2; numrera av tryckknapp pin const int ledPin = 13. antal LED stift

    variabler som ändras: int buttonState = 0; variabel för att läsa tryckknapp status

    void setup() {/ / initiera LED stift som en utgång: pinMode (ledPin, produktionen); / / initiera tryckknapp stiftet som indata: pinMode (buttonPin, ingång);}

    void loop() {/ / läsa statligt av tryckknapp värdet: buttonState = digitalRead(buttonPin);

    Kontrollera om tryckknappen trycks. om det är buttonState är hög: om (buttonState == hög) {/ / slå LED på: digitalWrite (ledPin, hög);} annat {/ / stänga LED av: digitalWrite (ledPin, låg);}}

  • (För duell knapp SETUP) ___ int ledPin = 13. väljer du PIN-koden för LED int inputPin1 = 3; knappen 1 int inputPin2 = 2; knappen 2 void setup() {pinMode (ledPin, produktionen); / / förklara LED som output pinMode (inputPin1, ingång); / / göra knappen 1 en ingående pinMode (inputPin2, ingång); / / göra knappen 2 indata {void loop() {om (digitalRead(inputPin1) == låg) {digitalWrite (ledPin, låg); / / stänga LED av} else om (digitalRead(inputPin2) == låg) {

    digitalWrite (ledPin, hög); slå LED {{

  • Kopiera bara och förbi ovan med knappar kopplad till rätt stift med pull down motstånd så att knapparna reagerar på och av, inte bara på hela tiden.

  • (Foto RESISTOR SETUP) Något lätt att ställa upp, ansluta din LED till rätt PIN-kod anges i den kodning som följer inom kort, den foto-motstånd måste knytas till en resistor också se bilder, och mäts genom en analog stift 0 om du inte anger det som en annan pin, PIN-koden kommer att läsa den inkommande signalen motstånd och översätta den till volt för att Lamporna effektivt bleknar det. med ändringar i ljus , jag var i ett ganska ljust rum så var tvungen att använda extrem närhet också det var en spricka i foto motståndet som nedsatt dess funktion ännu mer fortfarande emellertid arbetat tillräckligt för att visa och lära mig hur det fungerade samt kodning krävs för att kontrollera och mäta inkommande ljusintensiteten...

  • KODNING efter denna linje ___ //PhotoResistor Pin

int lightPin = 0; den analoga pin fotomotstånd är //connected till //the fotomotstånd inte är kalibrerad till alla enheter så //this är helt enkelt en rå sensor värde (relativa ljus) //LED Pin int ledPin = 9; pin LED är ansluten till //we styr ljusstyrkan så att //we använda en av PWM (puls bredd / / modulering stift) void setup() {pinMode (ledPin, produktionen); //sets ledde stiftet att mata} / * * loop() - denna funktion kommer att starta efter installationen * finish och sedan upprepa * / void loop() {int lightLevel = analogRead(lightPin); //Read den / / lightlevel lightLevel = karta (lightLevel, 900-0, 0, 255); //adjust värdet 0 till 900 till //span 0 till 255

lightLevel = begränsa (lightLevel, 0, 255); //make till //value är betwween //0 och 255 analogWrite (ledPin, lightLevel); Skriv värdet}

  • Sortera mängd kod inte till komplicerade och använder välbekanta funktioner som analoga stiften och det mini & max värden,, vanliga hastighetsminskning av stift och där lägen, nya funktioner inkluderar ljus nivå konstanter 0,900,0,255 etc som kan ses ovan.

  • Se Steg
    Relaterade Ämnen

    Lärdomar tag byggnaden en värdelös låda med hjälp av en Arduino och en Instructable

    Så, jag hittade en Instructable på platsen som verkade ganska bra. Du ser, jag ville utnyttja kraften i en Arduino att köra en värdelös låda. Jag skulle bygga och programmera den med Instructable jag hittade på webbplatsen. Inte bara det, men jag sku...

    En resa av Palm Arduino Kit

    jag skyldig detta instructable till min Palm Arduino Kit fläkt!Gjorde jag nämnde i min tidigare instructable "Palm Arduino Kit" att jag byggt i kit till följde med mig medan jag göra den resande.Och en riktig resa av min Palm Arduino Kit gjorde...

    Mycket känsliga Arduino ljussensor

    i Mareld gemenskapsprojekt på BioCurious, vi har jobbat med ett antal bioluminescent bakterier och alger. Vi skulle älska att kunna mäta exakt hur mycket ljus dessa organismer producerar. Tyvärr, hur mycket ljus de producerar är ganska svag, och även...

    Arduino automatiserad Garage dörren System

    vår TEJ klass fick utmaningen att bygga något som är antingen original eller och förbättring till något som redan finns och måste på något sätt genomföra "Arduino"Detta Instructable gör det möjligt för dig att skapa en garageport utrustad med en...

    Arduino Flash Controller för fotografering

    är en pank amatörfotograf är inte lätt.Film, kemikalier och papper är inte billigt och en budget för vissa studioljus är obefintlig.Så, jag bestämde mig för att, med hjälp av min trogna arduino, skapa min egen sync controller att använda med engångsk...

    Enkla termostat genom att använda Arduino

    Detta instructable kommer att omfatta hur man gör en enkel termostat med hjälp av en arduino och andra elektroniska delar! Innan detta projekt hade jag mycket lite erfarenhet med en arduino. I en klass som jag tog, jag fick andra projekt (göra en LCD...

    Mini Arduino Multi funktion styrenhet med LCD-skärm

    detta Instructable bygger på mini Arduino miljö monitor och mini Arduino EEGEN monitor Instructables.Det kan du styra upp till 4 reläer med tid, temperatur och/eller ljus, ditt sinne, eller vilken sensor du vill använda.Exemplen är prototyper, jag gå...

    Arduino 8 * 8 ledde matrisen driver med 2 * 74HC595 SKIFT register

    Jag köpte en 8 x 8 ledde matrisen inklusive en förare ombord med ett MAX7219CNG chip. Tyvärr detta chip inte fungerar korrekt. Så jag bestämde mig att bygga min egen drivrutin med hjälp av 2 74HC595 SKIFT register.Min lösning är baserad på den "Multi...

    Arduino Knock-Knock Treasure Box

    Detta är min första Arduino projekt och Instructable. Jag gjorde det för min tre unga barnbarn som har haft det mycket. Jag köpte lådan från Jo-Ann tyg och hantverk butik och installerade ett Arduino. Jag lägga godis i rutan och programmet en hemlig...

    Arduino och batteri pack i Altoids burkar

    Detta är två, två, två Instructables i ett! Min post för USB-tävling (fortfarande pågår – inga garantier som jag även kommer att avsluta det) innebär en Arduino, som jag beslöt att paketet i en Altoids tin. Jag behövde också ett batteripack som skull...

    Xmas-box: Arduino/ioBridge internet kontrollerad Julljus och musik show

    min xmas-box projektet består av en internet kontrollerad Julljus och musikföreställning. En julsång på begäran on-line som sedan sätta i en kö och spelas i den ordning de begärdes. Musiken sänds på en FM-station inom en radie av 300 ft från mitt hus...

    Arduino Intel Edison - nybörjare vattning Guide - Uncomplete

    Hej alla,Här är min lilla guide för mitt projekt Intel IOT "Växt Rehab Installation".Min huvudsakliga koncept är att föra växter de bästa förutsättningarna att växa tack vare en Automatisk installation, drivs av Arduino - Intel Edison. Jag är ny...

    Voice ingång Arduino Bi-color LED Matrix prydande Text Display (Bluetooth + Android)

    Medan du surfar på intressanta projekt på Instructables, snubblade vi över imponerande röst aktiverat Arduino (Bluetooth + Android) instructable. Du kan kolla upp det påVi har nyligen satt upp en instructable att bygga en 7 Bi-color 8 x 8 LED Matrix...

    OFFscope - offline oscilloskop (Arduino + SD kort snabb avverkning)

    Detta är inte realtid oscilloskop!Först skaffa du signal genom att spara/logga det till SD-kort. Sedan granska du förvärvade signalen på din PC.Denna oFFline oscilloskop är avsedd för fordonsindustrin sensor diagnostik. 99% av automotive sensorer fun...

    Arduino trafikljus för nybörjare

    setup() { // code in here runs once } voidloop() { // after the setup function, code in here runs over and over }T/FE5GXM7HKHPPROUTPUTT.MEDIUM.jpg"> * pinMode 8 / pinMode(3, OUTPUT); 4 / 3 HIGH 1 digitalWrite - uppdaterad till att omfatta trafiklj...

    KONTROLL 8 LED använder ARDUINO:-

    Jag hoppas du kan ha ha praxis min att komma igång med ARDUINO #1 som utställningsmonter du kontroll av LED med Arduino.In detta instructables jag lär dig att kontrollera 8 ledde samtidigt. så är du redo att bygga en färgglad instructables??. Fortsät...

    Röst till Arduino: Kontroll lysdioder med hjälp av taligenkänning MIT

    Hej, alla!!! Det har varit en tid jag inte hade uppdaterat mitt inlägg här. Idag vill jag dela med er killar ett experiment jag gjorde. Jag kommer att kontrollera lysdioder med MIT app inventor taligenkänning. Åh innan jag glömmer, hade jag också sta...

    Arduino syntet

    Arduino kan mata ut ljud via ett bibliotek som har utvecklats som kallas Tonen bibliotek.Genom att skapa ett gränssnitt och ett program som kan ringa vissa värden för att vara utdata till en ljudutgång, är Arduino syntet ett robust verktyg för att gö...

    Spela Wave-fil genom att använda arduino

    detta är en enkel krets att spela wav-filer genom att använda arduino Nano V3.0, det bestå från 4 knappar, var och en spelar specifika wav fil laddas till SD-kort.Steg 1: delar 1-Arduino Nano V3.0 (jag använde den chines versionen kallas Funduino Nan...