Le montage déjà présenté permet de régler la haute tension grâce à un PWM. Nous avons testé cette possibilité : un “slider” côté application, transmission au RFduino via BT, visualisation grâce à une banale LED.

Côté RFduino

#include <RFduinoBLE.h>
 
int pwmValue = 0;
 
void setup() {  
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
 
  // this is the data we want to appear in the advertisement
  // (the deviceName length plus the advertisement length must be <= 18 bytes
  RFduinoBLE.deviceName = "OpenGeiger";
  RFduinoBLE.advertisementData = "";
 
  RFduinoBLE.begin();
}
 
void loop() {
 
}
 
void RFduinoBLE_onDisconnect() {
 
}
 
int getInt(char*data, int len) {
  int value=0;
  int p=1;
  for (int i=len-1 ; i>=0 ; i--) {
    value += p*(data[i]-'0');
    p*=10;
  }
  return value;
}
 
void RFduinoBLE_onReceive(char *data, int len) {
  pwmValue = getInt(data, len);
  int v = (int)(pwmValue*2.55); // Révélation ! analogWrite prend une valeur comprise entre 0 et 255
  RFduinoBLE.sendInt(v);
  analogWrite(2, v);
  analogWrite(3, v);
}

Conclusion

Ca marche !