Ik Toon u nu, hoe kun je servo's verplaatsen naar Audio signalen.
In deze video zien hoe het eruit ziet:
Onderdelen die u nodig hebt:
-Elke arduino
-een weerstand van 1K
-een Servo
-1 LED
-4 jumper draden
-3,5 audiohefboom pinout (zoals die van uw gemeenschappelijke hoofdtelefoon voor voorbeeld)
-optioneel een soldeerbout of een andere methode om een goede elektrische verbinding
stap 1:
Een van de jumper-draad in twee delen knippen.
(ik gebruikte een allready cuttet, dus de verschillende kleuren in de afbeelding)
stap 2:
strip de pinout van 3,5 audio vijzel, tot u ziet de 3 draden binnen:
u shud Zie, één voor de linkerkant, rechterkant en grond.
U hoeft alleen een van de L & R
soldeer nu een vrede van de draad van de cuttet aan de
einde van de weerstand, dan soldeer op hetzelfde punt de weerstand & draad naar de gekozen draad L & R
het shud uitzien:
(Let op de foto ik een nother draad, dat een project voor stero was, gesoldeerd in deze tutorial kunt u negeren de tweede draad zonder
Resistor).
Stap 3:
Verbinding maken met de weerstand op grond op de Ardurino en het uiteinde van de draad op analoge 0 Pin. Door de manier waarop kunnen de andere kant tampon in elk geluid
Bron, uw telefoon, cd-speler enz... in mijn geval zijn mijn geluidskaart.
Ardurino verbinden met uw pc Open de Ardurino software en Open onder bestand > voorbeelden > 01 Basic > schets van de "AnalogReadSerial"
en die te uploaden.
Begin de seriële Monitor (Tools > seriële Monitor) en er zeker van te zijn dat uw SoundSorce is het uitvoeren van signalen.
Als u in seriële Monitor chaotische lezingen of alleen een niet veranderende nul ziet, moet u een misstake, uw lezingen zijn verkeerd,
u hebt gelijk als u lezingen die krijgt hoger met luider soundsignal en krijgt naar lagere nummers bij niet zo luid delen.
dat ziet er een beetje als matrix, zie je alleen een numbur maar zijn echt goed om te zien dat dit geluid is, zelfs als u om het even wat niet hoort.
Stap 4:
Allright tijd om verbinding te maken met de Servo daarvoor, de andere 3 jumper draden gebruiken
de servo hase een rode, verbinding maken met die ene + 5v op de arduino
een zwarte, deze gaat aan de grond op de arduino
en een witte sluit dit een tot en met 9 van de Pin op de arduino (9 is een dat van de PWM-PIN is nodig voor een Servo)
Neem nu uw led en mount het echter op dat servo, verbinden de smaler - Pin van de LED ook op grond van Ardurino
en de + langer ertoe pin Pin 12 op uw Ardurino.
Stap 5:
Sommige Codeing...
Start een nieuwe Skatch
Voeg de code hieronder:
Uploaden & veel plezier, als u als stem voor mij en voel je vrij om me te tonen uw projecten met deze methode :)
/* Sommige Varuables die we moeten myservo.attach(ServoPin); de routine van de lus wordt uitgevoerd over en weer forever: maping de dezelfde lezing een beetje beetje meer naar beneden om de tijd die uw servo krijgt de een zet te doen berekenen
Een Servo-beweging maken geluid.
Deze voorbeeldcode is in het publieke domein.
2012 door Cenk Özdemir
*/
voor servo spullen nemen we de servo-bibliotheek
#include < Servo.h >
een servo-object te maken
Servo myservo;
int ServoPin = 9;
int SoundInPin = A0;
int LedPin = 12;
de setup-routine wordt uitgevoerd zodra wanneer u drukt op reset:
VOID Setup {}
initialiseren
pinMode (SoundInPin, INPUT);
pinMode (LedPin, uitvoer);
}
void loop {}
Lees de input op analoge pin 0:
int sensorValue = analogRead(SoundInPin);
We Maop een nother waarde van dit voor LED die een geheel getal zijn tussen 0..255 worden kan
int LEDValue = map(sensorValue,0,512,0,255);
Hier wijst u naar het mogelijke bereik van servo moovment.
sensorValue = map(sensorValue,0,512,0,180);
Opmerking normaliter de 512 is 1023 want van analoge lezing shud zo ver gaan, maar ik veranderd om beter lezingen.
myservo.write(90);
instellen van de servo in de standaardpositie
int MoveDelayValue = map(sensorValue,0,255,0,sensorValue);
Als (sensorValue > 33) {/ / af te snijden sommige statische lezingen alleen als de lezing hoger dan 33 it begint krijgt te werken
delay(1); een statische vertraging te dingen gladstrijken...
nu verplaatsen de servo naar onze toegewezen lezing
myservo.write(sensorValue);
led op met de berekende waarde te schakelen voor het
analogWrite (LedPin, sensorValue);
en verplaats die in deze vertragingstijd
delay(MoveDelayValue);
} / / Gedaan. Wij sluiten nu dat deel.
Zet het lampje weer.
analogWrite (LedPin, 0);
en dit herhaalt de allertijden.
}