Flytta en Servo till ljud signaler
jag visa dig nu, hur kan du servo s flytta ljud signaler.
Se i denna video hur det ser ut:
Delar du behöver:
-Någon arduino
-en 1K resistor
-en Servo
-1 LEDDE
-4 jumper trådar
-3,5 ljudutgång pinut (som det från dina vanliga hörlurar till exempel)
-valfria en lödkolv eller en annan metod att göra en bra elektrisk anslutning
steg 1:
Skär en av bygeln kabeln i två delar.
(jag använde en allready cuttet en, därför de olika färgerna i bilden)
steg 2:
remsa 3,5 ljudutgång pinut, tills du kan se de 3 trådarna inuti:
du rysa se, en för vänster sida, höger sida och marken.
Du behöver bara en av de L & R
nu löd en fred av cuttet tråd till den
slutet av resitor och sedan löda på samma punkt motståndet & wire att valt tråd L & R
det rysa se ut så här:
(Observera på bilden jag lödda en nother tråd, det var ett projekt för stero, i den här guiden kan du ignorera den andra sladden utan
resistor).
Steg 3:
Anslut resitor marken på Ardurino och tråd avsluta till Analog 0 stift. Genom att kan den andra sidan vara pluged till alla ljud
Källa, din telefon, CD-spelare osv... i mitt fall dess mitt ljudkort.
Anslut Ardurino med datorn öppen Ardurino programvara och öppna under Arkiv > exempel > 01 Basic > "AnalogReadSerial" skiss
och ladda upp som.
Starta den Serial Monitor (Verktyg > Serial Monitor) och se till att din SoundSorce utskrift av signaler.
Om du ser seriell övervaka kaotiska avläsningar eller bara en inte förändrade noll, gör du en misstake, dina avläsningar är fel,
Om du ser avläsningar som får högre med högre soundsignal och får lägre siffror på inte så högt delar har du rätt.
som ser ut lite som matrix ser du bara en numbur men det är verkligen bra att se att detta är bra även om du inte hör något.
Steg 4:
Okej tid att ansluta Servo använda de andra 3 hoppare ledningarna för att
servo hase en röd en, Anslut den till + 5v på arduino
en svart en, här går till marken på arduino
och en vit en ansluta en att stift 9 på arduino (9 är en PWM stift Thats behövs för en Servo)
ta nu din led och montera det emellertid på den servon, ansluta smaler - Pin LED också till marken av Ardurino
och + längre ledde pin-Pin 12 på din Ardurino.
Steg 5:
Vissa Codeing...
starta en ny Skatch
Lägg till koden nedan:
Ladda upp & ha kul, om du vill rösta på mig & gärna visa mig dina projekt med denna metod :)
/* Några Varuables som vi behöver myservo.attach(ServoPin); loop rutinen körs för evigt om och om igen: maping den samma läsa lite lite mer ner till beräkna den tid din servo blir att göra ett drag
Göra ett Servo drag till ljud.
Denna exempelkod är offentlig.
2012 av Cenk Özdemir
*/
för servo grejer inkluderar vi servo biblioteket
#include < Servo.h >
att skapa ett servo objekt
Servo myservo;
int ServoPin = 9;
int SoundInPin = A0;
int LedPin = 12;
Rutinen installationsprogrammet körs en gång när du trycker på reset:
void setup() {
initiera
pinMode (SoundInPin, indata);
pinMode (LedPin, OUTPUT);
}
void loop() {
Läs input på analoga stift 0:
int sensorValue = analogRead(SoundInPin);
Vi Maop en nother värdet av detta för LED som kan vara ett heltal mellan 0..255
int LEDValue = map(sensorValue,0,512,0,255);
Vi mappa det här ner till den möjliga utbud av servo moovment.
sensorValue = map(sensorValue,0,512,0,180);
Obs normalt 512 är 1023 på grund av analog läsning rysa gå så långt, men jag ändrade det för att få bättre avläsningar.
myservo.write(90);
inställning servo till standardpositionen
int MoveDelayValue = map(sensorValue,0,255,0,sensorValue);
om (sensorValue > 33) {/ / att skära av vissa statiska värden endast om behandlingen blir högre då 33 it begings att arbeta
Delay(1); en statisk fördröjning att utjämna saker...
nu flytta servo till vår mappade behandling
myservo.write(sensorValue);
Aktivera ledde på med det beräknade värdet för det
analogWrite (LedPin, sensorValue);
och att flytta i detta fördröjningstiden
Delay(MoveDelayValue);
} / / Gjort. nu stänger vi denna del.
Stäng av led igen.
analogWrite (LedPin, 0);
och detta upprepas hela tiden.
}