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.
#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); }