Töne erzeu­gen mit dem Tastenfeld

Lese­zeit: 3 Minu­ten
Download
Seite als PDF

Töne mit dem Seri­el­len Moni­tor erzeugen


Navi­ga­ti­on

Bei einem Tas­ten­druck soll ein Ton wie­der­ge­ge­ben wer­den, die Tas­ten * und # schal­ten den Ton wie­der aus.

NoteFre­quenzTas­te auf dem Tastenpad
c'261Tas­te 1
d'293Tas­te 2
e'329Tas­te 3
f'349Tas­te 4
g'391Tas­te 5
a'440Tas­te 6
h'493Tas­te 7
c''523Tas­te 8

Hier fin­dest du eine Über­sicht (exter­ner Link, abge­ru­fen am 21.11.2020) über die Frequenzen.

Benö­tig­te Bauteile:

  • Laut­spre­cher
  • Tas­ten­feld 3×4
  • Lei­tungs­dräh­te

Baue die Schal­tung auf:
(Fah­re mit der Maus über das Bild, um die Bezeich­nun­gen der Bau­tei­le zu sehen)

Ver­wen­de die Biblio­thek und die Varia­blen des Tas­ten­felds.

// Keypad einbinden und Arrays definieren 
include <Keypad.h> 

// die Pins für die 3 Spalten  
byte SpaltenPins[SPALTEN] = { 2, 3, 4 };   

// die Pins für die 4 Reihen  
byte ReihenPins[REIHEN] = { 8, 9, 10, 11 }; 

// TastenFeld →  Name des Keypads   
// →  Zuordnung der Pins zu den REIHEN und SPALTEN des Arrays   
Keypad TastenFeld = Keypad(makeKeymap(Tasten), ReihenPins, SpaltenPins,  REIHEN, SPALTEN);

Defi­nie­re zusätz­li­che Variable:

char gedrueckteTaste;
int LAUTSPRECHER = 13;

Die gedrück­te Tas­te wird mit switch abgefragt:

void loop() 
{  
  // gedrückte Taste abfragen 
  gedrueckteTaste = TastenFeld.getKey(); 
  
  // wenn eine Taste gedrückt wurde 
  if (gedrueckteTaste)   
  {   
    // Taste zur Kontrolle anzeigen       
    Serial.print(gedrueckteTaste);  

     // je nach gedrückter Taste wird der Lautsprecher mit der  
     // entsprechenden Frequenz angesprochen 
    switch (gedrueckteTaste)  
    {   
      case '1':      
        tone(LAUTSPRECHER, 261);  
        break;   
      case '2':
        tone(LAUTSPRECHER, 293);   
        break;   
      case '3':  
        tone(LAUTSPRECHER, 329); 
        break; 
      case '4': 
        . . .   
        . . .  
    } 
  } 
}

Startseite
Aufgaben A-Z
Suchen
Downloads
Fehlermeldungen
Seite als PDF

Ver­wand­te Aufgaben:


Letzte Aktualisierung: 4. Apr 2021 @ 20:46