Arduino experimenten (Superformaat Instructable) (4 / 14 stap)

Stap 4: Vaardigheid niveau: Basic. (2)


  • PIËZO-ZOEMER (spelen tonen & TUNES)
  • Eenvoudige set-up van het circuit zie foto's, hier speelt u een melodie en liedje/deuntje door een wijziging van de frequentie en de toonhoogte van de elektrische zoemer Ga naar voorbeelden op uw IDE blik op digital en selecteer Toon/Melody en probeer het uit.
  • CODE VOOR CAN-CAN TUNE ONDER DEZE LIJN ___

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};

lange modus = 0;

void setup {pinMode (4, OUTPUT); / / een pincode voor uitvoer van de zoemer instellen}

VOID playNote (lange noteInt, lange lengte, lange modus, lange adem = 25) {lengte = lengte - adem; lange noteInt2 = noteInt + 12; //1 octaaf omhoog lange noteInt3 = noteInt + 24; //2 octaven van lange noteInt4 = noteInt + 36; //3 octaven van lange playLoop = lengte / 100; //divide lengte door 4, voor gebruik in de afspeelvolgorde if(mode == 0) {//mode 0 volgorde voor (lang ik = 0; ik < 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); }} anders if(mode == 1) {//mode 1 volgorde voor (lang ik = 0; ik < 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);}} anders if(mode == 2) {//mode 2 volgorde voor (lang ik = 0; ik < 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); {}} else if(mode == 3) {//mode 3 volgorde voor (lang ik = 0; ik < playLoop; i ++) {buzz (4, noteFreqArr [noteInt4], 40) delay(5) buzz (4, noteFreqArr [noteInt2], 40); delay(5);}} if(breath > 0) {//take een korte pauze of 'adem' als de opgegeven delay(breath);}}

void loop {//main cursus playNote (12, 500, modus); playNote (5, 1000, modus); playNote (7, 250, modus); playNote (10, 250, modus); playNote (9, 250, modus); playNote (7, 250, modus); playNote (12, 500, modus); playNote (12, 500, modus); playNote (12, 250, modus); playNote (14, 250, modus); playNote (9, 250, modus); playNote (10, 250, modus); playNote (7, 500, modus); playNote (7, 500, modus); playNote (7 250, modus); playNote (10, 250, modus); playNote (9, 250, modus); playNote (7, 250, modus); playNote (5, 250, modus); playNote (17, 250, modus); playNote (16, 250, modus); playNote (14, 250, modus); playNote (12, 250, modus); playNote (10, 250, modus); playNote (9, 250, modus); playNote (7, 250, modus); playNote (5, 1000, modus); playNote (7, 250, modus); playNote (10, 250, modus); playNote (9, 250, modus); playNote (7, 250, modus); playNote (12, 500, modus); playNote (12, 500, modus); playNote (12, 250, modus); playNote (14, 250, modus); playNote (9, 250, modus); playNote (10, 250, modus); playNote (7, 500, modus); playNote (7, 500, modus); playNote (7, 250, modus); playNote (10, 250, modus); playNote (9, 250, modus); playNote (7, 250, modus); playNote (5, 250, modus); playNote (12, 250, modus); playNote (7, 250, modus); playNote (9, 250, modus); playNote (5, 250, modus); delay(250); if(mode == 0) {modus = 1;} else if(mode == 1) {modus = 2;} else if(mode == 2) {modus = 3;} anders if(mode == 3) {modus = 0;}}

VOID buzz (int targetPin, lange frequentie, lange lengte) {lange delayValue = 1000000/frequentie/2; / / berekening van de vertragingswaarde tussen overgangen / / / 1 seconde het waard van microseconden, gedeeld door de frequentie, dan splitsen in tweeën sinds / / / er zijn twee fasen aan elke cyclus lange numCycles = frequentie * lengte / 1000; / / het getal berekenen van cycli voor juiste timing / / / vermenigvuldigen frequentie, die is echt cycli per seconde door het aantal seconden aan / / / krijgen het totale aantal cycli te produceren voor (lang ik = 0; ik < numCycles; i ++) {/ / voor de berekende lengte van tijd... digitalWrite(targetPin,HIGH); / / Schrijf de zoemer pin hoog te duwen uit de diaphram delayMicroseconds(delayValue); / / wachten voor de vertraging van de berekende waarde digitalWrite(targetPin,LOW); / / schrijven de zoemer pin lage zich terugtrekken van de diaphram delayMicroseconds(delayValue); / / wait againf of de berekende vertragingswaarde}}

  • (Geen noodzaak voor het downloaden van elke bibliotheek hiervoor gewoon kopiëren en plak deze op uw IDE in een lege schets en sla het op als het kan-kan vervolgens uploaden en probeer het uit, persoonlijk vinden het erg vervelend tune toen speelde zeker krijgt iemands aandacht echter)
  • Knop te drukken (mogelijkheid om toe te wijzen knoppen voor meer command & control vermogen van)... Knop te drukken & toewijzing, om te beginnen enkele knop als een aan/uit knop op wanneer gedrukt vandoor wanneer vrijgegeven, gevolgd door duel knop toewijzing instellen als een uit-knop en de tweede een een op knop, waardoor de oprichting van een controle pad voor robot systemen, bijvoorbeeld in een 5button pad omhoog/omlaag/links/rechts en een actieknop in het midden.
  • Volg de foto's en Bekijk de video's om de draad van het circuit hebt u problemen verwijzen naar online bronnen voor het omzetten van de knop met de arduino, Controleer altijd uw bedrading voordat u het omhoog en draaien op uw bord dan dubbel te controleren als een kortsluiting kan dodelijk uw apparatuur in seconden vooral met meer hoogspanning toepassingen... Onder deze regel voor het instellen van de knoppen ___ (voor één knop SETUP) ___ codering / *

    Knop schakelt in en uit een oplichtende diode(LED) aangesloten op digital pin 13, bij het indrukken van een drukknop aangesloten op Pen 2. Het circuit: * LED op grond van pin 13 aangesloten * drukknop verbonden met pin 2 van + 5V * 10K Ohm weerstand zijn verbonden met pin 2 vanaf de grond * Opmerking: op de meeste Arduinos bestaat al een LED op het bord aangesloten op pin 13. gemaakt van 2005 door DojoDave 30 Aug 2011 gewijzigd door Tom Igoe deze voorbeeldcode in het publieke domein is. http://www.Arduino.CC/en/tutorial/button *

    / constanten niet gewijzigd. Ze gebruikt hier om / / set pincodes: const int buttonPin = 2; het nummer van de drukknop pin const int ledPin = 13; het nummer van de LED-pin

    variabelen zal veranderen: int buttonState = 0; variabele voor het lezen van de drukknop status

    void setup {/ / initialiseren op de pin van de LED als uitgang: pinMode (ledPin, OUTPUT); / / initialiseren van de drukknop pin als input: pinMode (buttonPin, INPUT);}

    void loop {/ / Lees de stand van de drukknop waarde: buttonState = digitalRead(buttonPin);

    Controleer als de drukknop ingedrukt is. Als het is, de buttonState is hoog: als (buttonState == HIGH) {/ / LED inschakelen: digitalWrite (ledPin, hoge);} anders {/ / LED uitzetten: digitalWrite (ledPin, laag);}}

  • (Voor DUEL KNOPINSTELLING) ___ int ledPin = 13; Kies de pin voor de LED int inputPin1 = 3; knop 1 int inputPin2 = 2; knop 2 void setup {pinMode (ledPin, OUTPUT); / / LED als de uitgang pinMode verklaren (inputPin1, INPUT); / / maken knop 1 een input pinMode (inputPin2, INPUT); / / maken van knop 2 een input {void loop {als (digitalRead(inputPin1) == LOW) {digitalWrite (ledPin, laag); / / uitzetten LED} anders als (digitalRead(inputPin2) == LOW) {}

    digitalWrite (ledPin, hoge); Zet LED op {{}

  • U kunt kopiëren en langs het bovenstaande met knoppen die zijn gekoppeld aan de juiste pinnen, met pull-down weerstanden moet ervoor zorgen de knoppen reageren zo op en uit, niet alleen op voortdurend.

  • (Foto weerstand SETUP) Enige wat makkelijk te instellen, verbinding maken met uw LED aan op de juiste pin verklaard in de code die volgt binnenkort, het foto-weerstand moet worden gekoppeld in een weerstand ook foto's, en wordt gemeten door een analoge pin 0, tenzij u deze als een andere pin is ingesteld, de pin leest het inkomend signaal van de weerstand en vertalen naar volt voor de LED vervaagt het effectief met de veranderingen in licht , ik was in een redelijk lichte kamer zo nodig had voor het gebruik van de extreme nabijheid was ook er een barst in de foto-weerstand die zijn functie nog aangetast maar werkte nog genoeg om te laten zien en me leren hoe het werkte en de codering te controleren en meten van inkomende lichtintensiteit...

  • CODERING na deze regel ___ //PhotoResistor Pin

int lightPin = 0; de analoge pin de photoresistor //connected om //the fotoweerstand is niet gekalibreerd naar alle eenheden is dus //this gewoon de waarde van een ruwe sensor (relatieve licht is) //LED Pin int ledPin = 9; de pin die de LED is aangesloten op de //we beheert helderheid zodat //we gebruiken een van de PWM (pulse breedte / / modulatie pinnen) void setup {pinMode (ledPin, OUTPUT); //sets de led pin aan output} / * * loop - deze functie wordt gestart nadat Setup is voltooid * is voltooid en herhaalt u vervolgens * / void loop {int lightLevel = analogRead(lightPin); //Read de / / lightlevel lightLevel = kaart (lightLevel, 900, 0, 0, 255); //adjust de waarde 0 tot 900 //span 0 tot en met 255

lightLevel = beperken (lightLevel, 0, 255); //make ervoor dat de //value is betwween //0 en 255 analogWrite (ledPin, lightLevel); Schrijf de waarde}

  • Sorteren van hoeveelheid code niet te ingewikkeld en gebruiken vertrouwde functies zoals de analoge pinnen en er mini & max waarden,, gebruikelijke vertraging van pinnen en er modi, nieuwe functies zijn lichte niveau constanten 0,900,0,255 enz zoals hierboven gezien.

  • Gerelateerde Artikelen

    Arduino tutorial Arduino Tutorial bundel.: Arduino experimenten Kit:. (ARDX)

    Arduino tutorial Arduino Tutorial bundel.: Arduino experimenten Kit:. (ARDX)

    Geïnteresseerd in maken nette projecten met een Arduino maar niet weet waar te beginnen?Hier is een gemakkelijk te volgen gids op hoe te connect & gebruiken een schare van elektronische componenten.(schaamteloze plug)Geïnteresseerd in het doen het al
    Arduino Watch bouwen instructies

    Arduino Watch bouwen instructies

    Update: nieuwe versie erop dat werkt met Arduino 1.0 en hoger!Het horloge van de Arduino biedt augmented sensing van temperatuur en bereik, 16-bits kleuren tekenprogramma, Breakout-spel, en ook vertelt de tijd in uw keuze van digital, binair of analo
    Lessons Learned While gebouw een nutteloze doos met behulp van een Arduino en een Instructable

    Lessons Learned While gebouw een nutteloze doos met behulp van een Arduino en een Instructable

    Dus, ik vond een Instructable op de site dat leek vrij goed. U ziet, ik wilde de kracht van een Arduino te lopen van een nutteloze doos. Ik wilde bouwen en programmeren met behulp van de Instructable vond ik op de site. Niet alleen dat, maar ik ging
    Onderzoekers gids voor Arduino als uitgevoerd op OIT

    Onderzoekers gids voor Arduino als uitgevoerd op OIT

    middelenAdafruit ARDX - v1.3 experimenten Kit voor ArduinoOnderzoekers gids voor Arduino (PDF)Brood bord lay-outs (PDF)Arduino tutorial Arduino Tutorial bundel (Instructable)Deze Arduino Tutorial is gonna be zeer vergelijkbaar met de Arduino Tutorial
    Arduino Chiptune Song

    Arduino Chiptune Song

    deze tutorial is om je te leren over transistoren, flyback dioden en basisfuncties van de Arduino. Dit Instructable is gebaseerd off van een circuit uit de Arduino experimenten Kit.Dit is een goede tutorial voor iedereen beginnen met Arduino. Deze on
    Arduino Automated Garage deur System

    Arduino Automated Garage deur System

    onze TEJ klasse kreeg de uitdaging om iets te bouwen dat is ofwel origineel of en verbetering aan iets dat reeds bestaat en moet een of andere manier implementeren "Arduino"Dit Instructable kan voor het maken van een garagedeur uitgerust met een
    Een reis van Palm Arduino Kit

    Een reis van Palm Arduino Kit

    ik dit instructable verschuldigd aan mijn Palm Arduino Kit-fan!Ik heb vermeld in mijn vorige instructable "Palm Arduino Kit" dat ik de kit bouwde om samen met mij, terwijl ik het reizen.En een echte reis van mijn Palm Arduino-Kit deed is gebeurd
    Stem ingang Arduino Bi-color LED Matrix scrollen tekstweergave (Bluetooth + Android)

    Stem ingang Arduino Bi-color LED Matrix scrollen tekstweergave (Bluetooth + Android)

    Tijdens het browsen interessante projecten op Instructables, stuitte we op de indrukwekkende stem geactiveerd Arduino (Bluetooth + Android) instructable. Je kan check it out opOnlangs, hebben zetten we een instructable te bouwen een 7 Bi-color 8 x 8
    LED Arduino Clock

    LED Arduino Clock

    Na mijn laatste bouwproject, wilde ik iets met een Arduino bouwen. Instructables doorbladert voor maanden zag ik een LED Arduino Klok die ik wilde bouwen. Na sommige herontwerpt van mijn kant instellen ik op mijn verovering te bouwen deze klok.Eerst
    ESP8266 controle WS2812 Neopixel LEDs met behulp van de Arduino IDE - A Tutorial

    ESP8266 controle WS2812 Neopixel LEDs met behulp van de Arduino IDE - A Tutorial

    Hallo iedereen,Als u als me bent, hebt u zoekend rond het internet een goede tutorial over het gebruik van de ESP8266 met neopixel LEDs (AKA de WS2812 of WS2812b), geprogrammeerd via de Arduino IDE. Ik heb niet gevonden het allen in één plaats, in he
    Arduino Laser graveur

    Arduino Laser graveur

    ik begon dit project, omdat ik wilde iets maken dat had mechanische, elektrische en softwarecomponenten. Na rondkijken op Instructables, dacht ik dat dat een Arduino gebaseerd laser etser zou een interessante machine om te maken, en dat de machine ze
    Maken van een Arduino gecontroleerd licht-volgende bloem Bot

    Maken van een Arduino gecontroleerd licht-volgende bloem Bot

    In dit project van Arduino gebaseerde, maakt u een "biomimetische," of biologie-geïnspireerde, bloem die een lichtbron volgt. U heeft waarschijnlijk gezien dit probleem in uw kamerplanten! Planten vereisen zonlicht te groeien en bloeien, en &quo
    ECG shield voor Arduino

    ECG shield voor Arduino

    Onlangs maakte ik shield voor arduino die ECG, ademhaling, uiteindelijk na enkele veranderingen in PCB en code, EEG en EMG kan meten. Groot voordeel van deze shield is de mogelijkheid om het gemakkelijk thuis te maken. Het schild is uitgerust met dis
    VGA-Pong met de Arduino Uno

    VGA-Pong met de Arduino Uno

    Ik heb repruduced een kleurenversie van de klassieke Pong uitgevoerd voor een VGA-monitor, met behulp van een kale Arduino Uno.Het is voor twee spelers en heeft het geluid ook. Het heeft vier kleuren en een resolutie van 120 x 60 pixels.Mijn doel was