Dirigent met I^2C

Uit KekBot
Versie door Bastiaan (overleg | bijdragen) op 14 nov 2012 om 09:43
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)
Naar navigatie springen Naar zoeken springen

Voor het dirigeren van de instrumenten maken we gebruik van een nieuw bordje met daarop een variabele weerstand. Deze word uitgelezen en via I^2C verstuurd. Met de instrumenten is afgesproken dat als je een hogere waarde binnenkrijgt het instrument sneller moet gaan spelen. Tevens heeft ieder instrument een eigen adres waarde waarmee ze de Wireconnectie starten als Slave


Code



  1. include <Wire.h>

void setup() {

 Wire.begin(); // join i2c bus (address optional for master)

}

void loop() {

 int Waarde = 0;
 if(analogRead(A1<=10))
   {
   Waarde = 0;
   }
 else
     {
    Waarde= ((analogRead(A1)/4)+250);
     }
 int Instrument = 1;
 Wire.beginTransmission(1); // transmit to device #4
 Wire.send(Waarde);          
 Wire.endTransmission();    // stop transmitting
 Instrument++;
 if(Instrument>8){Instrument=1;}

}