Paper Piano with Arduino

Artikelnummer: AR03022

HAN: Proj008

Es handelt sich um ein einfaches Projekt, bei dem ein Arduino, eine gezeichnete Tastatur mit Bleistift, ein Papier und ein Lautsprecher verwendet wird.

Kategorie: Project Hub


16,11 €

inkl. 16% USt.,

momentan nicht verfügbar

Lieferfrist: ca. 11 - 13 Tage



Beschreibung

Beschreibung:

Es handelt sich um ein einfaches Projekt, bei dem ein Arduino, eine gezeichnete Tastatur mit Bleistift, ein Papier und ein Lautsprecher verwendet werden.

Kapazitive Empfindung

Die kapazitive Berührungssensorik ist eine Art der menschlichen Berührungssensorik, deren Aktivierung wenig oder keine Kraft erfordert. Sie kann verwendet werden, um die menschliche Berührung durch mehr als einen Viertelzoll Kunststoff, Holz, Keramik oder anderes isolierendes Material (jedoch nicht durch irgendeine Art von Metall) zu erfassen, wodurch der Sensor visuell völlig verborgen werden kann.

Warum kapazitive Berührung?

  • Jeder Berührungssensor benötigt nur ein einziges angeschlossenes Kabel.
  • Kann unter jedem nichtmetallischen mm-Material verborgen werden.
  • Kann leicht anstelle eines Knopfes verwendet werden.
  • Kann bei Bedarf eine Hand aus einigen Zentimetern Entfernung erkennen.
  • Sehr preiswert.

Wie funktioniert ein kapazitiver Sensor?

Die Sensorplatte und Ihr Körper bilden einen Kondensator. Wir wissen, dass ein Kondensator Ladung speichert. Je größer seine Kapazität, desto mehr Ladung kann er speichern.

Die Kapazität dieses kapazitiven Berührungssensors hängt davon ab, wie nahe Ihre Hand an der Platte ist.

Was macht der Arduino?

Grundsätzlich misst der Arduino die Zeit, die der Kondensator (d.h. der Berührungssensor) zum Aufladen benötigt, und gibt so eine Schätzung der Kapazität an.

Die Kapazität mag sehr klein sein, dennoch misst der Arduino sie mit Genauigkeit.

Eine Möglichkeit, die kapazitive Berührung in einem Projekt zu nutzen, ist die Verwendung der CapSense-Bibliothek. Für die CapSense-Bibliothek verwendet das Arduino einen Sendepin und eine beliebige Anzahl von Empfangspins. Ein Empfangspin wird über einen mittel- bis hochohmigen Widerstand mit dem Sendepin verbunden.

Hier sind einige Richtlinien für Widerstände, aber experimentieren Sie unbedingt für eine gewünschte Reaktion.

  • Benutzen Sie zum Aktivieren einen 1-Megohm-Widerstand (oder vielleicht weniger) für absolute Berührung.
  • Bei einem 10-Megohm-Widerstand beginnt der Sensor in einer Entfernung von 4-6 Zoll zu reagieren.

Code:

// Importieren Sie die CapacitiveSensor-Bibliothek.
#einschließen <CapacitiveSensor.h>


 
#define speaker 11


// Setzen Sie den Sende-Pin & Empfangs-Pin.
CapacitiveSensor cs_2_3 = CapacitiveSensor(2,3);        
KapazitiverSensor cs_2_4 = KapazitiverSensor(2,4);         
KapazitiverSensor cs_2_5 = KapazitiverSensor(2,5);     
KapazitiverSensor cs_2_6 = KapazitiverSensor(2,6);     
KapazitiverSensor cs_2_7 = KapazitiverSensor(2,7);  
KapazitiverSensor cs_2_8 = KapazitiverSensor(2,8);         
KapazitiverSensor cs_2_9 = KapazitiverSensor(2,9);  
KapazitiverSensor cs_2_10 = KapazitiverSensor(2,10);     


leere Einrichtung()                    
{
 cs_2_6.set_CS_AutocaL_Millis(0xFFFFFFFFFF); // Autokalibrierung auf Kanal 1 ausschalten - nur als Beispiel
  
 // Arduino beginnt die Kommunikation mit dem Computer.
 Serial.begin(9600);
}

leere Schleife()                    
{
 // Setzen Sie einen Zeitgeber.
 long start = millis();
  
 // Stellen Sie die Empfindlichkeit der Sensoren ein.
lang summe1 = cs_2_3.capacitiveSensor(3000);
lang summe2 = cs_2_4.kapazitiverSensor(3000);
lang summe3 = cs_2_5.kapazitiverSensor(3000);
lang summe4 = cs_2_6.kapazitiverSensor(3000);
lang summe5 = cs_2_7.kapazitiverSensor(3000);
lang summe6 = cs_2_8.kapazitiverSensor(3000);
lang summe7 = cs_2_9.kapazitiverSensor(3000);
lang summe8 = cs_2_10.kapazitiverSensor(3000);
  


 Serial.print(millis() - start); // Überprüfung der Leistung in Millisekunden
; // Überprüfung der Leistung in Millisekunden
Serial.print("\t"); // Tabulatorzeichen für Debugging-Abstände

Serie.print(total1); // Drucksensor-Ausgabe 1
 Serial.print("\t"); // Lassen Sie etwas Platz, bevor Sie die nächste Ausgabe drucken.
Serie.print(total2); // Drucksensor-Ausgabe 2
 Serial.print("\t"); // Lassen Sie etwas Platz, bevor Sie die nächste Ausgabe drucken.
Serie.print(gesammt3); // Drucksensorausgabe 3
 Serial.print("\t"); // Lassen Sie etwas Platz, bevor Sie die nächste Ausgabe drucken.
Serie.print(gesammt4); // Drucksensor-Ausgabe 4
 Serial.print("\t"); // Lassen Sie etwas Platz, bevor Sie die nächste Ausgabe drucken.
Serie.print(gesammt5); // Drucksensorausgabe 5
 Serial.print("\t"); // Lassen Sie etwas Platz, bevor Sie die nächste Ausgabe drucken.
Serie.print(summe6); // Drucksensor-Ausgabe 6
 Serial.print("\t"); // Lassen Sie etwas Platz, bevor Sie die nächste Ausgabe drucken.
Serie.print(summe7); // Drucksensor-Ausgabe 7
 // Lassen Sie etwas Platz, bevor Sie die nächste Ausgabe drucken.
 Serie.print("\t");
 Serial.println(gesammt8); // Drucksensor-Ausgang 8
 // "println" - "ln" als "line" darstellen, springt das System nach der Ausgabe zur nächsten Zeile.
  
  
  
  
 // Wenn die Hand den Sensor berührt, erzeugt der Lautsprecher einen Ton.
 // I einen Schwellenwert für  einstellen, so dass der Sensor nicht zu empfindlich ist.
 if (total1 > 500) ton(speaker,131); // frequenz
 if (total2 > 500) tone(speaker,147); // Sie können https://www.arduino.cc/en/Tutorial/toneMelody sehen, wenn Sie die Frequenz >/span> ändern wollen.
 if (total3 > 500) ton(speaker,165);
 if (total4 > 500) ton(speaker,175);
 if (total5 > 500) ton(speaker,196);
 if (total6 > 500) ton(speaker,220);
 if (total7 > 500) ton(speaker,247);
 if (total8 > 500) ton(speaker,262);
 
 // Wenn die Hand es nicht berührt hat't touch on it, wird kein Ton erzeugt.
 if (total1<=500 & total2<=500 & total3<=500 & total4<=500 & total5<=500 & total6<=500 & total7<=500 & total8<=500)
 noTone(Lautsprecher);

 delay(10); // willkürliche Verzögerung zur Begrenzung der Daten auf die serielle Schnittstelle 
}

Kit enthält:

  • Männlich-zu-Männlich-Überbrückungsdrähte
  • Brettchen
  • Arduino Uno
  • Widerstand 10k Ohm
  • Referent

Notizen:

Sie müssen die folgenden Punkte selbst vorbereiten, um das Projekt abzuschließen:

  • Bleistift
  • A4-Papier
  • Papierklammer

Die Projektidee stammt von:

https://create.arduino.cc/projecthub/San_Ismail/paper-piano-with-arduino-e27da7?ref=platform&ref_id=424_trending__anfänger_&offset=52

Bilder

Schematics

Schematics

Sonstiges

Video

Video

Video

Bewertungen (0)

Durchschnittliche Artikelbewertung

Geben Sie die erste Bewertung für diesen Artikel ab und helfen Sie Anderen bei der Kaufenscheidung:


Dieser Artikel besteht aus
SparkFun Speaker - 0.5W (8 ohm) SparkFun Speaker - 0.5W (8 ohm)
sofort verfügbar
Steckbrett Breadboard 400 Pins Kontakte
sofort verfügbar
HIMALAYA basic UNO R3 ATmega328P Board ATmega16U2 mit USB... HIMALAYA basic UNO R3 ATmega328P Board ATmega16U2 mit USB...
sofort verfügbar
Jumper Wire 10x1P male to male 20cm
sofort verfügbar