online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
#include "thingProperties.h" #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #include <Adafruit_BMP280.h> Adafruit_BMP280 bmp; //Interfața I2C #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels // Declaration for an SSD1306 display connected to I2C (SDA, SCL pins) Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); int measurePin = A5; int ledPower = 7; float voMeasured = 0; float calcVoltage = 0; float dustDensity = 0; int buzzerPin = 13; void setup() { Serial.begin(9600); // This delay gives the chance to wait for a Serial Monitor without blocking if none is found delay(1500); pinMode(8, OUTPUT); // Defined in thingProperties.h initProperties(); //--------- CONECTARE LA ARDUINO IOT CLOUD ----------- ArduinoCloud.begin(ArduinoIoTPreferredConnection); setDebugMessageLevel(2); ArduinoCloud.printDebugInfo(); if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address 0x3D for 128x64 for(;;); } delay(1000); //--------- ECRAN OLED ----------- display.clearDisplay(); //minutul 1 din 5 display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(0,0); display.println("Se calibreaza. Asteptati 5 minute!"); display.display(); //minutul 2 din 5 delay(600); display.clearDisplay(); display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(0,0); display.println("Se calibreaza. Asteptati 4 minute!"); display.display(); //minutul 3 din 5 delay(600); display.clearDisplay(); display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(0,0); display.println("Se calibreaza. Asteptati 3 minute!"); display.display(); //minutul 4 din 5 delay(600); display.clearDisplay(); display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(0,0); display.println("Se calibreaza. Asteptati 2 minute!"); display.display(); //minutul 5 din 5 delay(600); display.clearDisplay(); display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(0,0); display.println("Se calibreaza. Asteptati un minut!"); display.display(); delay(600); //calibrare finalizată display.clearDisplay(); display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(0,0); display.println("Calibrare finalizata"); display.display(); delay(100); if (!bmp.begin(0x76,0x58)) { Serial.println(F("Could not find a valid BMP280 sensor, check wiring!")); while (1);} bmp.setSampling(Adafruit_BMP280::MODE_NORMAL, /* Operating Mode. */ Adafruit_BMP280::SAMPLING_X2, /* Temp. oversampling */ Adafruit_BMP280::SAMPLING_X16, /* Pressure oversampling */ Adafruit_BMP280::FILTER_X16, /* Filtering. */ Adafruit_BMP280::STANDBY_MS_500); /* Standby time. */ } void loop() { ArduinoCloud.update(); //--------- CALIBRARE SENSORI ----------- a1_mq3_alcooletanol = ((analogRead(A1)-340)/10)-2; a2_mq4_nh4 = (analogRead(A2)-58)-60; a3_mq5_gazefumgpl = (analogRead(A3)-223)-175; a4_mq8_h2 = (analogRead(A4)-300)-120; a5_mq7_co = ((analogRead(A5)-287-11)/10)-3; presiune = 1; if(a1_mq3_alcooletanol<0) a1_mq3_alcooletanol = 0; else a1_mq3_alcooletanol = a1_mq3_alcooletanol; if(a2_mq4_nh4<0) a2_mq4_nh4 = 0; else a2_mq4_nh4 = a2_mq4_nh4; if(a3_mq5_gazefumgpl<0) a3_mq5_gazefumgpl = 0; else a3_mq5_gazefumgpl = a3_mq5_gazefumgpl; if(a4_mq8_h2<0) a4_mq8_h2 = 0; else a4_mq8_h2 = a4_mq8_h2; if(a5_mq7_co<0) a5_mq7_co = 0; else a5_mq7_co = a5_mq7_co; //--------- adevarat/fals CO ----------- if(a5_mq7_co>15){ indicator_co = false;} else{ indicator_co = true;} //--------- adevarat/fals ALCOOL/ETANOL ----------- if(a1_mq3_alcooletanol>10){ indicator_alcool = false;} else{ indicator_alcool = true;} //--------- adevarat/fals FUM/GAZE NATURALE/GPL ----------- if(a3_mq5_gazefumgpl>20){ indicator_fumgazenaturalgpl = false;} else{ indicator_fumgazenaturalgpl = true;} //--------- adevarat/fals NH4 ----------- if(a2_mq4_nh4>20){ indicator_nh4 = false;} else{ indicator_nh4 = true;} //--------- PM2.5 ----------- digitalWrite(ledPower,LOW); delayMicroseconds(100); voMeasured = analogRead(measurePin); delayMicroseconds(40); digitalWrite(ledPower,HIGH); delayMicroseconds(100); calcVoltage = voMeasured*(5.0/1024); dustDensity = 0.17*calcVoltage-0.1; pm = (voMeasured-300)+5; if(pm<0) pm = 0; else pm = pm; //--------- buzzer detectare alcool/etanol ----------- if(a1_mq3_alcooletanol>5) { tone(buzzerPin, 587); delay(300); noTone(buzzerPin); delay(200); tone(buzzerPin, 587); delay(300); noTone(buzzerPin);} else{ noTone(buzzerPin);} } //--------- COMUNICARE ----------- void onMessageChange() { if(message == "Start"){ message = "Deschideți platforma Arduino și notați următorii parametri la ora și ziua indicate de profesor: Temp(*C), H2(ppm) și CO(ppm).";} if(message == "9.1"){ message = ""; message = "9.1 Sa se calculeze concentratia de CO si H2 in mg/m3 la momentul interpretarii diagramelor platformei folosind formula de tranformare a unei parti/milion in mg/m3";} if(message == "9.2"){ message = "9.2 Sa se calculeze volumul (c.n.) de CO dintr-o sala de clasa cu dimensiunile 8m x 6m x 2,5m";} if(message == "9.3"){ message = "9.3 Sa se calculeze ce volum de NH3 se poate obtine din H2 emis in sala de clasa la momentul interpretarii diagramelor";} if(message == "Foaie"){ message = "https://www.ltmsebastian.ro/wp-content/uploads/2024/05/foaiedelucru.pdf";} }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue