Salve a tutti, mi chiamo Natale è ho acquistato il mio primo Arduino 15 giorni fa, nello specifico ho acquistato un nano esp32. Non ho nessuna conoscenza di progragrammazione e sono un perito spec. in elettrotecnica ed automazioni, nalla vita mi sono occupato di informatica, telefoninia fissa e impiantistica elettrica, sicurezza etc...
Avrei bisogno di una mano per capire come poter fare funzionare un piccolo progetto arduino per la lettura della presenza di sale all'interno di un recipiente di un addolcitore. Se mi arrivano dovrei usare dei sensori di volo TOF200C.
Nello specifico, scopiazzando ho provato a scrivere la prima parte di codice che dovrebbe permettermi la connessione alla rete wifi, ma non riesco a risolvere alcune cose:
-
vorrei che se la connessione ssid è ok, mi si accendesse fisso il led del pin 13 e se è presente la comunicazione internet invece lampeggi con un delay di (500).
-
se non si collega alla wifi, led pin 13 spento e accessione del led rosso pin 14 fisso.
-
se collegato alla wifi ma non c'è connessione internet, led 13 acceso fisso, led rosso pin 14 acceso fisso.
come mi consigliate di scrivere questa parte del codice, premesso che già nella programmazione che vi invio che è solo una prova semplice per il lampeggio del solo led pin13, il delay che inserisco non viene considerato nel lampeggio e segue solo il delay della riga 44 "delay 10000".
p.s. tutti i led di cui parlo sono integrati nella scheda, il led rosso è parte del led rgb integrato.
Sperando che qualcuno possa darmi un aiuto, ringrazio anticipatamente.
Saluti.
#include <WiFi.h>
#include <WiFiAP.h>
#include <WiFiClient.h>
#include <WiFiGeneric.h>
#include <WiFiMulti.h>
#include <WiFiSTA.h>
#include <WiFiScan.h>
#include <WiFiServer.h>
#include <WiFiType.h>
#include <WiFiUdp.h>
const char* ssid = "xxxxxxxx";
const char* password = "xxxxxxxxx";
void setup() {
pinMode(13, OUTPUT); //led giallo
pinMode(14, OUTPUT); //rgb rosso
pinMode(15, OUTPUT); //rgb verde
pinMode(16, OUTPUT); //rgb blu
Serial.begin(115200);
Serial.println("Arduino ESP32 - misurazione sale addolcitore S.N.23.09.29.001");
Serial.println("Connessione wifi in corso....");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
}
void loop() {
if ((WiFi.status() == WL_CONNECTED)) {
Serial.println("WIFI - connesso");
Serial.println(WiFi.SSID());
Serial.println(WiFi.localIP());
Serial.println(WiFi.subnetMask());
Serial.println(WiFi.gatewayIP());
Serial.println(WiFi.macAddress());
delay(10000);
} else {
Serial.println("WIFI - disconnesso");
delay(10000);
}
if ((WiFi.status() == WL_CONNECTED)) {
digitalWrite(13, HIGH);
delay(100);
digitalWrite(13, LOW);
delay(500);
}
}