Varier le son avec des potentiomètres
(Félix et Nina)
Les deux potentiomètres nous on permis de régler l’intensité du son et le temps de changement de celui-ci ainsi que l’intensité de lumière de la LED verte. Maintenant nous pouvons créez de petites musiques ! UwU


int filou = A0 ; // le potentiomètre
int tiroirFilou = 0 ;
int ledValeur = 0;
int ledbValeur = 0;
int led = 9;
int ledb = 10;
void setup() {
pinMode(led, OUTPUT);
pinMode(ledb, OUTPUT);
pinMode(filou, INPUT);
Serial.begin(9600);
}
void loop() {
tiroirFilou = analogRead(filou);
ledbValeur = map(tiroirFilou, 0, 1023, 0, 255);
ledValeur = map(tiroirFilou, 0, 1023, 0, 255);
Serial.println(tiroirFilou);
analogWrite (led, ledValeur);
analogWrite (ledb, -ledbValeur);
Serial.print(tiroirFilou);
Serial.print("\t");
Serial.print(ledValeur);
Serial.print(ledbValeur);
}
Thérémine
(Félix et Nina)
Le thérémine, inventé en 1920, est le premier instrument électronique. Le mouvement des mains change la fréquence produite par l’instrument et permet de recréer des notes.
Nous avant chercher à en recréer un, mais à la place des antennes nous avons utilisé des capteurs ultra son. Cependant ça n’a pas fonctionné, surmenant à cause d’une erreur dans le code. Mais nous gardons la tête haute, et avec comme objectif de créer un instrument, pourquoi pas en y ajoutant un écran.


#include <NewTone.h>
#include <NewPing.h>
#include <SPI.h>
#define MIN_DISTANCE 35
NewPing sonar(5, 6, 35); // the first and the second number are the pins of the sensor of volume, the third is the maximum distance
// For SPI
byte address = 0x00;
int CS= 10;
int echo = 3;
int trigger = 4;
int distance;
int PotValue;
unsigned long TimeResponse;
float distance2;
float tone1;
void setup() {
// set all the pins
Serial.begin(9600);
pinMode(trigger, OUTPUT); // tone sensor
pinMode(echo, INPUT); // tone sensor
pinMode (CS, OUTPUT);
SPI.begin();
// this has the speaker emit a start up sound from Low to High to Low
digitalPotWrite(255);
for (int i = 50; i <= 400; i++)
{
pinMode(9, OUTPUT);
NewTone(9,i);
delay(10);
}
delay(500);
for (int i = 400; i >= 50; i--)
{
pinMode(9, OUTPUT);
NewTone(9,i);
delay(10);
}
}
void loop() {
digitalWrite(trigger, HIGH);
delayMicroseconds(10); // creates a 10 microsecond pulse
digitalWrite(trigger, LOW);
TimeResponse = pulseIn(echo, HIGH); // records how long it took to receive echo of the pulse
distance2 = TimeResponse/58; // calculates distance in centimeters
if (distance2 < MIN_DISTANCE) {
// conversion of distance into a value for a sound
tone1 = 50.0*pow(2,(distance2/12.0)); // calculate frequency, range of about 50-360 Hz
pinMode(9, OUTPUT);
NewTone(9,tone1);
} else {
pinMode(9, OUTPUT); // this sets the sound to a high pitched noise when no distance is detected
NewTone(9,0);
}
distance = sonar.ping_cm(); // uses the library NewPing to calculate distance
// distance is converted to Potentiometer relevant values
int PotValue = map(distance, 0, 35, 240, 255); // only use a range of resistance which is very low otherwise the speaker is too quiet because it is only a 8 ohm speaker
if (distance == 0) // sets volume to max when no hand is detected or if hand is too far away
{
PotValue = 255;
}
digitalPotWrite(PotValue);
delay(10);
}
int digitalPotWrite(int value) {
digitalWrite(CS, LOW); // this uses SPI protocol to communicate with the potentiometer and sets the resistance
SPI.transfer(address);
SPI.transfer(value);
digitalWrite(CS, HIGH);
}
3 STEP SEQUENCER
-Nil Didek 3a cinema d’animation-
image du séquenceur en cours de démontage (il manque les potentiomètres) :

l’idée m’est venue de cette video YouTube :
DIY Arduino Synth – 3-Step Sequencer Tutorial
Il s’agit de générer 3 signals « square wave » et de définir leur durée et la repetition à laquelle ils sont joués à l’aide de potentiomètres.
le signal est géneré a partir des sorties analogiques de l’Arduino
les potentiometres modulent le signale via les sorties digitales « PWM ».

Composents:
1x Arduino (Uno, Mega, or Nano – whichever you prefer)
4x Potentiometers (the value isn’t important)
3x LEDs (to show the active step) 3x Resistors (I use 230Ω, for the LEDs)
1x Small Breadboard (for the extra potentiometer)
1x Regular Breadboard (for the main circuit) Jumper wires (male-to-male)
Optional: Piezo speaker or small audio jack (connected to pin 9 for sound output)
code :
int speed;
int freq1;
int freq2;
int freq3;
void setup() {
//LED pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT); }
void loop() {
//freq 1-3 freq1 = map(analogRead(A0), 0, 1023, 30, 800);
freq2 = map(analogRead(A1), 0, 1023, 30, 800);
freq3 = map(analogRead(A2), 0, 1023, 30, 800);
//bpm speed = map(analogRead(A3), 0, 1023, 10, 1000);
//1st digitalWrite(7, HIGH);
tone(9,freq3);
delay(speed);
digitalWrite(7, LOW);
//2nd digitalWrite(6, HIGH);
tone(9,freq2);
delay(speed);
digitalWrite(6, LOW);
//3rd digitalWrite(5, HIGH);
tone(9,freq1);
delay(speed);
digitalWrite(5, LOW); }
Synthétiseur
Nous avons décidés de nous unir pour créer un objet autour du son, un synthétiseur à partir d’un tutoriel en particulier, pour ensuite pouvoir en créer un à notre image.
le tuto : https://note.com/solder_state/n/nf6c29a7075cd?app_launch=false
le matériel : https://note.com/solder_state/n/n8ef0479418a0

Félix (L2 animation), Nil (L3 animation) et Nina (L2 Scénographie)