Ton_Joystick_mit_VisualisierungsLED

Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach unten

Ton_Joystick_mit_VisualisierungsLED

Beitrag von MyHomeIsMyEcker(Riemer) am Do März 03, 2016 3:16 pm

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:
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 pirat afro
avatar
MyHomeIsMyEcker(Riemer)

Anzahl der Beiträge : 1
Anmeldedatum : 25.02.16
Alter : 18

Nach oben Nach unten

Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach oben


 
Befugnisse in diesem Forum
Sie können in diesem Forum nicht antworten