← strona główna

Czujnik i mikrokontroler jako źródło parametrów procedury generatywnej

Elementarny przykład sonifikacji interpretowanej. Dane z czujnika światła (fotorezystor) są interpretowane jako informacja o częstotliwości generowanego tonu. Interpretacja polega na przeskalowaniu danych z czujnika, z zakresu (0, 1023) do wartości z zakresu (200, 1500). Możliwe są inne interpretacje danych z czujnika, np. jako informacji o czasie trwania dźwięku w ms (zob. komenda delay na końcu kodu dla Arduino).

const int photoresistorPin = A0; // Wejście analogowe podłączone do fororezystora
const int speakerPin = 8;        // Wyjście cyfrowe podłączone do głośnika (brzęczyka)

void setup() {
  pinMode(speakerPin, OUTPUT);  // Ustawienie pinu wyjściowego
}

void loop() {
  int sensorValue = analogRead(photoresistorPin); // Pobranie wartości z fotorezystora
  int frequency = map(sensorValue, 0, 1023, 200, 1500); // Przeskalowanie do wartości (200, 1500)

  tone(speakerPin, frequency);  // generowanie tonu
  delay(100);                   // długość próbki (100ms)
}

Schemat połączeń w stylu „Fritzing”:

Przykładowe dźwięki z generatora:

Autorstwo kodu: Tutoriale dla Arduino