Arduino - Projekte der 3AHET
Würden Sie gerne auf diese Nachricht reagieren? Erstellen Sie einen Account in wenigen Klicks oder loggen Sie sich ein, um fortzufahren.

Ton_Joystick_mit_VisualisierungsLED

Nach unten

Ton_Joystick_mit_VisualisierungsLED Empty Ton_Joystick_mit_VisualisierungsLED

Beitrag von MyHomeIsMyEcker(Riemer) 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
Ton_Joystick_mit_VisualisierungsLED <a href=Ton_Joystick_mit_VisualisierungsLED Tonjoy12" />


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
MyHomeIsMyEcker(Riemer)
MyHomeIsMyEcker(Riemer)

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

Nach oben Nach unten

Nach oben


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