В этом примере демонстрируется, как использовать функцию tone() для генерации различных звуков, в зависимости от того, на который сенсор Вы нажимаете.
ЦЕПЬ:
СХЕМА:
КОД:
Нижеприведённый скетч считывает три аналоговых сигнала. Каждый соответствует определённой ноте среди множества нот. Если один из сигналов превышает определённый порог, то проигрывается соответствующая нота.
Скетчем используется дополнительный файл, pitches.h. Этот файл содержит все звуковые ноты. Например, NOTE_C4 (нота C4) — это средняя C. NOTE_FS4 (нота FS4) — это фа-диез, и т.д. Эта таблица нот была первоначально написана Бреттом Хэгмэном (Brett Hagman), на работе которого основана команда tone(). Вы можете найти эту таблицу полезной.
Чтобы сделать этот файл, нажмите на кнопку «new Tab» в верхнем правом углу окна. Вот так выглядит эта кнопка:
/*
keyboard
Plays a pitch that changes based on a changing analog input
circuit:
* 3 force-sensing resistors from +5V to analog in 0 through 5
* 3 10K resistors from analog in 0 through 5 to ground
* 8-ohm speaker on digital pin 8
created 21 Jan 2010
by Tom Igoe
This example code is in the public domain.
http://arduino.cc/en/Tutorial/Tone3
*/
#include "pitches.h"
const int threshold = 10; // minimum reading of the sensors that generates a note
// notes to play, corresponding to the 3 sensors:
int notes[] = {
NOTE_A4, NOTE_B4,NOTE_C3 };
void setup() {
}
void loop() {
for (int thisSensor = 0; thisSensor < 3; thisSensor++) {
// get a sensor reading:
int sensorReading = analogRead(thisSensor);
// if the sensor is pressed hard enough:
if (sensorReading > threshold) {
// play the note corresponding to this sensor:
tone(8, notes[thisSensor], 20);
}
}
Serial.println();
}
комментарии(0)
Комментировать