1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
#include "Wire.h"
#define PT2258 0x44
#define PT2323 0X4A
uint8_t Value;
void setup() {
Wire.begin();
// pt2258
Wire.beginTransmission(PT2258);
Wire.write(0xC0); // Vider le cache
Wire.endTransmission();
Wire.beginTransmission(PT2258); // programmer volume de depart
Wire.write(0xd4); // -40dB
Wire.write(0x2e); // -2dB
Wire.endTransmission(); // = -42 dB volume de départ
Value = 42;
}
void loop(){
// PT2258
if(Serial2.available()){
if(message == "0x76 0x2b 0x2e"){ // Volume +
Value = Value-2;
set_volume(Value);
}
if(message == "0x76 0x2d 0x2e"){ // Volume -
Value = Value+2;
set_volume(Value);
}
}
if(Serial3.available()){
if(inByte == 'B'){ // Volume+
Value = Value-2;
set_volume(Value);
}
if(inByte == 'C'){ // Volume -
Value = Value+2;
set_volume(Value);
}
}
if(Value <= 0){ // pour reprendre les conseils de Delias et éviter de planter le PT2258...
Value = 0;
set_volume(Value);
Serial.println("VOLUME MAX !!!");
}
if(Value >= 79){
Value = 79;
set_volume(Value);
Serial.println("VOLUME MIN !!!");
}
}
void set_volume(uint8_t Value) {
uint8_t tens = Value / 10;
uint8_t ones = Value % 10;
Wire.beginTransmission(PT2258);
Wire.write(0xd0 | tens);
Wire.write(0xe1 | ones);
Wire.endTransmission();
} |