arduino_foer_ungdomar

Lektion 20: 1-pin-7-motstånd-i-serien-piano

I den här lektionen ska vi göra ett piano som bara behöver en stift och 8 motstånd.

Med den här bråkserien kan du beräkna pi

Bowtie | pi är ett känt tal mellan tre och fyra :————-:|:—————————————-:

Solglasögon | Det har inget med pianon att göra… :————-:|:—————————————-:

\pagebreak

Lektion 20: 1-stift-7-motstånd-i-serien-piano: Uppgift 1

Bygg ‘Uppdrag 1’:

Lektion 20: 1-Pin-7-Resistors-In-Series-Piano: Uppgift 1

Sätt den här koden på din Arduino:

const int speaker_pin = 8;
const int piano_pin = A0;

void setup()
{
  Serial.begin(9600);  
  pinMode(A0, INPUT);
}

void loop()
{
  const int piano_waarde = analogRead(piano_pin);
  Serial.println(piano_waarde);
  delay(100);
}

\pagebreak

Lektion 20: 1-Pin-7-Resistors-I-Series-Piano: Lösning 1

När du trycker på knappen får du värdet 0. Om knappen inte trycks in får du värdet 1023.

När knappen trycks in

Om knappen inte trycks in

\pagebreak

Lektion 20: 1-Pin-7-Resistors-In-Series-Piano: Uppgift 2

När knappen trycks ned, gör piezopip i 250 millisekunder med en frekvens på 175 Hertz. I slutet av “loop”, låt Arduino vänta i 1 millisekund.

Bowtie | Om du inte kommer ihåg detta, kolla föregående lektion! :————-:|:—————————————-:

\pagebreak

Lektion 20: 1-stift-7-motstånd-i-serien-piano: Lösning 2

const int speaker_pin = 8;
const int piano_pin = A0;

void setup()
{
  Serial.begin(9600);  
  pinMode(A0, INPUT);
}

void loop()
{
  const int piano_waarde = analogRead(piano_pin);
  Serial.println(piano_waarde);
  if (piano_waarde < 150)
  {
    tone(speaker_pin, 175, 250);
    delay(250);
  }
  delay(1);
}

Solglasögon | Åh ja, det var så det fick bli! :————-:|:—————————————-:

\pagebreak

Lektion 20: 1-Pin-7-Resistors-In-Series-Piano: Uppgift 3

Bygg följande:

Lektion 20: 1-Pin-7-Resistors-In-Series-Piano: Uppgift 3

Programmera den andra knappen för att skapa en 196 Hertz-ton.

\pagebreak

Lektion 20: 1-Pin-7-Resistors-I-Series-Piano: Lösning 3

const int speaker_pin = 8;
const int piano_pin = A0;

void setup()
{
  Serial.begin(9600);  
  pinMode(A0, INPUT);
}

void loop()
{
  const int piano_waarde = analogRead(piano_pin);
  Serial.println(piano_waarde);
  if (piano_waarde < 150)
  {
    tone(speaker_pin, 175, 250);
    delay(250);
  }
  else if (piano_waarde < 300)
  {
    tone(speaker_pin, 196, 250);
    delay(250);
  }
  delay(1);
}

\pagebreak

Lektion 20: 1-stift-7-motstånd-i-serien-piano: Uppgift 4

Bygg följande:

Uppgift 4

Uppgift 4

Programmera den tredje knappen för att skapa en ton på 220 Hertz.

\pagebreak

Lektion 20: 1-Pin-7-Resistors-I-Series-Piano: Lösning 4

const int speaker_pin = 8;
const int piano_pin = A0;

void setup()
{
  Serial.begin(9600);  
  pinMode(A0, INPUT);
}

void loop()
{
  const int piano_waarde = analogRead(piano_pin);
  Serial.println(piano_waarde);
  if (piano_waarde < 150)
  {
    tone(speaker_pin, 175, 250);
    delay(250);
  }
  else if (piano_waarde < 300)
  {
    tone(speaker_pin, 196, 250);
    delay(250);
  }
  else if (piano_waarde < 450)
  {
    tone(speaker_pin, 220, 250);
    delay(250);
  }
  delay(1);
}

\pagebreak

Lektion 20: 1-Pin-7-Resistors-In-Series-Piano: Uppgift 5

Bygg nu en fjärde knapp själv.

Programmera den fjärde knappen för att skapa en ton på 247 Hertz.

En NES-kontroller har också 4 knappar

En NES-kontroller har också 4 knappar

\pagebreak

Lektion 20: 1-stift-7-motstånd-i-serien-piano: Lösning 5

Lektion 20: 1-Pin-7-Resistors-In-Series-Piano: Uppgift 5

const int speaker_pin = 8;
const int piano_pin = A0;

void setup()
{
  Serial.begin(9600);  
  pinMode(A0, INPUT);
}

void loop()
{
  // ... vorige code hier
  else if (piano_waarde < 600)
  {
    tone(speaker_pin, 247, 250);
    delay(250);
  }
  delay(1);
}

\pagebreak

Slutuppgift

Komplettera pianot med sju knappar. De sista tonerna är 262, 294 och 330 Hertz.

Amina Figarova behöver verkligen använder mer än sju fingrar