Wiki

Reso-nance numérique | Arts et cultures libres

Outils du site


Panneau latéral

projets:chimeres-orchestra:code-arduino:accueil

Ceci est une ancienne révision du document !


Table des matières

Code Arduino

UNO

/*
 * Pd > Arduino UNO
 * 6 sorties MOSFETS PWM
 *
 */
 
int pin, _pwm;
 
void setup() 
{
  Serial.begin(19200);
 
  pinMode(3, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
 
  digitalWrite(3, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
 
  // --- PWM frequency for D5 & D6  ----
  //TCCR0B = TCCR0B & B11111000 | B00000001; // 62500.00 Hz
  //TCCR0B = TCCR0B & B11111000 | B00000010; // 7812.50 Hz
  //TCCR0B = TCCR0B & B11111000 | B00000011; // 976.56 Hz
  //TCCR0B = TCCR0B & B11111000 | B00000100; // 244.14 Hz
  //TCCR0B = TCCR0B & B11111000 | B00000101; // 61.04 Hz
 
  // ---- PWM frequency for D9 & D10 ----
  //TCCR1B = TCCR1B & B11111000 | B00000001; // 31372.55 Hz
  //TCCR1B = TCCR1B & B11111000 | B00000010; // 3921.16 Hz
  //TCCR1B = TCCR1B & B11111000 | B00000011; // 490.20 Hz
  //TCCR1B = TCCR1B & B11111000 | B00000100; // 122.55 Hz
  //TCCR1B = TCCR1B & B11111000 | B00000101; // 30.64 Hz
 
  // ---- PWM frequency for D3 & D11 ----
  //TCCR2B = TCCR2B & B11111000 | B00000001; // 31372.55 Hz
  //TCCR2B = TCCR2B & B11111000 | B00000010; // 3921.16 Hz
  //TCCR2B = TCCR2B & B11111000 | B00000011; // 980.39 Hz
  //TCCR2B = TCCR2B & B11111000 | B00000100; // 490.20 Hz
  //TCCR2B = TCCR2B & B11111000 | B00000101; // 245.10 Hz
  //TCCR2B = TCCR2B & B11111000 | B00000110; // 122.55 Hz
  //TCCR2B = TCCR2B & B11111000 | B00000111; // 30.64 Hz
}
 
void loop() 
{
   while (Serial.available()) 
  {
     pin = Serial.parseInt(); 
     _pwm = Serial.parseInt(); 
 
     if (Serial.read() == '\n') {
      /*
      Serial.print(pin);
      Serial.print(" ");
      Serial.println(_pwm);
      */
      analogWrite(pin, constrain(_pwm,0,255));  
     }
  }
}

MEGA

// Pd > Arduino (UDOO)
// 6 sorties MOSFETS PWM
 
int id;
int arg;
 
void setup() 
{
  Serial.begin(19200);
 
  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(8, OUTPUT);
 
  digitalWrite(13, LOW);
  digitalWrite(12, LOW);
  digitalWrite(11, LOW);
  digitalWrite(10, LOW);
  digitalWrite(9, LOW);
  digitalWrite(8, LOW);
 
  //MEGA : D4 & D13
  //TCCR0B = TCCR0B & B11111000 | B00000001; // 62500.00 Hz
  //TCCR0B = TCCR0B & B11111000 | B00000010; // 7812.50 Hz
  //TCCR0B = TCCR0B & B11111000 | B00000011; // 976.56 Hz
  //TCCR0B = TCCR0B & B11111000 | B00000100; // 244.14 Hz
  //TCCR0B = TCCR0B & B11111000 | B00000101; // 61.04 Hz
 
  //MEGA : D11 & D12
  //TCCR1B = TCCR1B & B11111000 | B00000001; //31372.55 Hz
  //TCCR1B = TCCR1B & B11111000 | B00000010; //3921.16 Hz
  //TCCR1B = TCCR1B & B11111000 | B00000011; //490.20 Hz
  //TCCR1B = TCCR1B & B11111000 | B00000100; //122.55 Hz
  //TCCR1B = TCCR1B & B11111000 | B00000101; //30.64 Hz
 
  //MEGA : D9 & D10
  //TCCR2B = TCCR2B & B11111000 | B00000001; //31372.55 Hz
  //TCCR2B = TCCR2B & B11111000 | B00000010; //3921.16 Hz
  //TCCR2B = TCCR2B & B11111000 | B00000011; //490.20 Hz
  //TCCR2B = TCCR2B & B11111000 | B00000100; //122.55 Hz
  //TCCR2B = TCCR2B & B11111000 | B00000101; //30.64 Hz
 
  //MEGA : D2, D3 & D5
  //TCCR3B = TCCR3B & B11111000 | B00000001; //31372.55 Hz
  //TCCR3B = TCCR3B & B11111000 | B00000010; //3921.16 Hz
  //TCCR3B = TCCR3B & B11111000 | B00000011; //490.20 Hz
  //TCCR3B = TCCR3B & B11111000 | B00000100; //122.55 Hz
  //TCCR3B = TCCR3B & B11111000 | B00000101; //30.64 Hz
 
  //MEGA : D6, D7 & D8
  //TCCR4B = TCCR4B & B11111000 | B00000001; //31372.55 Hz
  //TCCR4B = TCCR4B & B11111000 | B00000010; //3921.16 Hz
  //TCCR4B = TCCR4B & B11111000 | B00000011; //490.20 Hz
  //TCCR4B = TCCR4B & B11111000 | B00000100; //122.55 Hz
  //TCCR4B = TCCR4B & B11111000 | B00000101; //30.64 Hz
 
  //MEGA : D44, D45 & D46
  //TCCR5B = TCCR5B & B11111000 | B00000001; //31372.55 Hz
  //TCCR5B = TCCR5B & B11111000 | B00000010; //3921.16 Hz
  //TCCR5B = TCCR5B & B11111000 | B00000011; //490.20 Hz
  //TCCR5B = TCCR5B & B11111000 | B00000100; //122.55 Hz
  //TCCR5B = TCCR5B & B11111000 | B00000101; //30.64 Hz
}
 
void loop() 
{
   while (Serial.available()) 
  {
     id = Serial.parseInt(); 
     arg = Serial.parseInt(); 
 
     if (Serial.read() == '\n') {
      /*
      Serial.print("CMD : ");
      Serial.print(id);
      Serial.print(" ");
      Serial.println(arg);
      */
      analogWrite(id, constrain(arg,0,255));  
     }
  }
}
/home/resonancg/www/wiki/data/attic/projets/chimeres-orchestra/code-arduino/accueil.1424165483.txt.gz · Dernière modification: 2015/02/17 10:31 de resonance