Involt, output dati su Pagina WEB stazione di misurazione ARDUINO UNO R3

Ciao ragazzi, non so se qualcuno di voi utilizza Involt, io ci provo comunque a chiedere.

Il mio progetto consiste in una sorta di stazione di misurazione del rumore, della distanza e della luminosita’ connessa ad un minipc con sistema operativo windows sul quale faccio girare Involt per ricevere i dati, essendo parecchio a digiuno con la programmazione sono riuscito a fare poco e nulla, se non la connessione per ricevere i dati dal sensore ad ultrasuoni, il modulo con fotosensore ed il modulo del micorofono.

Al momento la mia dashboard si presenta come in allegato, il mio obiettivo è quello di riuscire ad effettuare un output che vari in base al valore, ricevuto da arduino, ad esempio rosso, arancio, giallo, verde (in base a quanto sono distante, in base al rumore ed in base alla luminosità ambientale)

Allego il codice e spero non mi prendiate per un povero pazzo, ammetto di aver fatto un po’ di copia incolla per quanto riguarda il funzionamento dei vari moduli.

const int trigPin = 9;
const int echoPin = 10;
const int led1 = 11;
const int led2 = 8;
const int pinMIC = 6;
const int PinVibrator = 5;
const int lightPin = A1;
int  LightAnalogValue; /* Holds the last analog value */
long duration;
int distance;
const int sampleWindow = 50; // Sample window width in mS (50 mS = 20Hz)
unsigned int sample;
void setup() {
 //Connection speed must be same as app.
 //Serial.begin(9600);
 Serial.begin(57600);
 pinMode(PinVibrator, OUTPUT); //Imposto il pin in uscta
 pinMode(trigPin, OUTPUT);
 pinMode(echoPin, INPUT);
 pinMode(led1, OUTPUT);
 pinMode(led2, OUTPUT);
 pinMode(pinMIC, INPUT);
}

void loop() {
  involtReceive();
  unsigned long startMillis= millis();  // Start of sample window
  unsigned int peakToPeak = 0;   // peak-to-peak level
 
  // Clears the trigPin
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
   // Sets the trigPin on HIGH state for 10 micro seconds
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  // Reads the echoPin, returns the sound wave travel time in microseconds
  duration = pulseIn(echoPin, HIGH);
  // Calculating the distance
  distance = duration*0.034/2;
  // Prints the distance on the Serial Monitor
  //Serial.print("Distance: ");
  //Serial.println(distance);
  involtSend(9, distance);
  delay(2);

  if (distance <= 10) {
    digitalWrite(PinVibrator, HIGH);
  }
  else {
    digitalWrite(PinVibrator,LOW);
  }
  
   
  unsigned int signalMax = 0;
  unsigned int signalMin = 1024; 
   // collect data for 50 mS
   while (millis() - startMillis < sampleWindow)
   {
      sample = analogRead(0);
      if (sample < 1024)  // toss out spurious readings
      {
         if (sample > signalMax)
         {
            signalMax = sample;  // save just the max levels
         }
         else if (sample < signalMin)
         {
            signalMin = sample;  // save just the min levels
         }
      }
   }
   peakToPeak = signalMax - signalMin;  // max - min = peak-peak amplitude
   double volts = (peakToPeak * 5.0) / 1024;  // convert to volts
   int power = volts*10;
   analogWrite(led1,power);
   analogWrite(led2,power);
   int sound = volts*100;
   LightAnalogValue = analogRead(lightPin);  //Read the voltage from sensor
   involtSend(0, sound);
   involtSend(1,LightAnalogValue);

CODICE HTML INVOLT (metto un link a involt giusto per far capire di cosa si tratta → Involt - Arduino to html prototyping framework for designers.

<div id="title">WATCHOUT! dashboard data</div>
	<div id="subtitle">Read here real time data</div>
	<div class="ard bar A0 range 0-100" style="position:absolute;top:25%;">SOUND</div>
	<div class="ard bar A1 range 0-1024" style="position:absolute;top:35%;">LUX</div>
	<div class="ard bar V9 range 0-77" style="position:absolute;top:45%;">CM</div>

Ogni tipo di consiglio, critica, suggerimento alla autofustigazione è accetto, grazie in anticipo ragazzi

ps: ho postato anche nella sezione principale del forum scrivendo in inglese, spero non sia un problema :slight_smile: