Ton_Joystick_mit_VisualisierungsLED
Seite 1 von 1
Ton_Joystick_mit_VisualisierungsLED
1. Funktion
Mithilfe des Joysticks ist es Möglich über eine Kreisbewegung den Buzzer stufenförmig Töne ausgeben zu lassen. Diese werden visualisiert duch eine LED
2. Verwendete Bauteile
RGB LED bzw normale LED ... Keyes 3_Clr
Buzzer ... Keyes
Joystick ... Keyes_SJoys
3. Anschlüsse
" />
Joystick:
+5V zu +5V
GND zu GND
VRx zu A0
VRy zu A1
Buzzer:
S zu 12
- zu GND
LED:
- zu GND
+ zu 11
4. Code:
Programmiert und Verfasst von Daniel Riemer
Mithilfe des Joysticks ist es Möglich über eine Kreisbewegung den Buzzer stufenförmig Töne ausgeben zu lassen. Diese werden visualisiert duch eine LED
2. Verwendete Bauteile
RGB LED bzw normale LED ... Keyes 3_Clr
Buzzer ... Keyes
Joystick ... Keyes_SJoys
3. Anschlüsse
" />
Joystick:
+5V zu +5V
GND zu GND
VRx zu A0
VRy zu A1
Buzzer:
S zu 12
- zu GND
LED:
- zu GND
+ zu 11
4. Code:
- Code:
int x; //Variable integrieren
void setup() {
pinMode ( 11, OUTPUT); //Output für LED festgelegt
pinMode ( 12, OUTPUT); //Output für Tonträger festgelegt
pinMode ( A0, INPUT); //Input für x Achse vom Joystick
pinMode ( A1, INPUT); //Input für y Achse vom Joystick
Serial.begin(9600); //Seriellen Monitor startet
}
void loop() {
x = analogRead(A1); //Signal wird Eingelesen
y = analogRead(A0); //Signal wird Eingelesen
x = map(x, 0, 1023, 0, 255); //Signal wird wird in ein Betriebsfähiges Intervall umgewandelt
x = map(x, 0, 255, 0, 200); //Signal wird in Stufenförmiges Intervall umgewandelt.
y = map(y, 0, 1023, 0, 255); //Signal wird wird in ein Betriebsfähiges Intervall umgewandelt
delay(50);
Serial.println(x, DEC); //Variable wird im Seriellen Monitor sichtbar gemacht
delay(10);
Serial.println(y, DEC); //Variable wird im Seriellen Monitor sichtbar gemacht
delay(10);
analogWrite(11, x); //Variable wird ausgegeben für "if" Bedingung
analogWrite(12, x); //Variable wird ausgegeben für "if" Bedingung
if (x < 25)
{
x= 23; //Niedrigestes Ausgangssignal wird festgelegt
}
else if (x >=25 && x <=75)
{
x= 65; //Zweitniedrigstes Ausgangssignal wird festgelegt
}
else if (x >=76 && x <=120)
{
x= 100; //Mittleres Ausgangssignal wird festgelegt
}
else if (x >=126 && x <=175)
{
x= 145; //Zweithöchstes Ausgangssignal wird festgelegt
}
else if (x >176)
{
x= 195; //Höchstes Ausgangssignal wird festgelegt
}
if (y >=50 && y <= 150) //Drehbewegung wird Eingeleitet
{
x = 0;
}
analogWrite(11, x); //Variable wird ausgegeben für die LED
analogWrite(12, x); //Variable wird ausgegeben für die Tonausgabe
}
Programmiert und Verfasst von Daniel Riemer
MyHomeIsMyEcker(Riemer)- Anzahl der Beiträge : 1
Anmeldedatum : 25.02.16
Alter : 24
Seite 1 von 1
Befugnisse in diesem Forum
Sie können in diesem Forum nicht antworten
|
|