Editor de circuits online de circuito.io
Editor de blocks online de ArduinoBlocks
Editor de circuits online de Tinkercad
Editor de blocks online de Blocklyduino
Per analitzar els IDEs farem servir un mateix projecte per tots ells. Es el següent:
Amb la placa de Arduino uno, llegirem la temperatura i la humitat del sensor DHT22.
Placa de Arduino uno.
Sensor DHT22.
Els diferents tipus de editors que volem analitzar.
El primer editor que analitzem es online, però no es del tipus de blocs, escollim els components i els arrastrem a la protoboard. El editor ens dona un codi estàndard, que el podem baixar, tan el programa .ino com també el zip amb el codi i les llibreries necessàries, que en el nostre IDE d'Arduino del nostre ordinador podem modificar.
Seleccionem i arrastrem els components i el resultat es el següent:

Si cliquem en la pestanya code, el resultant es el següent:

Podem descarregar el zip amb el codi i las llibreries o copiar nomes el codi, que el es el seguent:
// Include Libraries
#include "Arduino.h"
#include "DHT.h"
// Pin Definitions
#define DHT_PIN_DATA 2
// Global variables and defines
// object initialization
DHT dht(DHT_PIN_DATA);
// define vars for testing menu
const int timeout = 10000; //define timeout of 10 sec
char menuOption = 0;
long time0;
// Setup the essentials for your circuit to work. It runs first every time your circuit is powered with electricity.
void setup() {
// Setup Serial which is useful for debugging
// Use the Serial Monitor to view printed messages
Serial.begin(9600);
while (!Serial) ; // wait for serial port to connect. Needed for native USB
Serial.println("start");
dht.begin();
menuOption = menu();
}
// Main logic of your circuit. It defines the interaction between the components you selected. After setup, it runs over and over again, in an eternal loop.
void loop() {
if(menuOption == '1') {
// DHT22/11 Humidity and Temperature Sensor - Test Code
// Reading humidity in %
float dhtHumidity = dht.readHumidity();
// Read temperature in Celsius, for Fahrenheit use .readTempF()
float dhtTempC = dht.readTempC();
Serial.print(F("Humidity: ")); Serial.print(dhtHumidity); Serial.print(F(" [%]\t"));
Serial.print(F("Temp: ")); Serial.print(dhtTempC); Serial.println(F(" [C]"));
}
if (millis() - time0 > timeout)
{
menuOption = menu();
}
}
// Menu function for selecting the components to be tested
// Follow serial monitor for instrcutions
char menu()
{
Serial.println(F("\nWhich component would you like to test?"));
Serial.println(F("(1) DHT22/11 Humidity and Temperature Sensor"));
Serial.println(F("(menu) send anything else or press on board reset button\n"));
while (!Serial.available());
// Read data from serial monitor if received
while (Serial.available()) {
char c = Serial.read();
if (isAlphaNumeric(c)) {
if(c == '1')
Serial.println(F("Now Testing DHT22/11 Humidity and Temperature Sensor"));
else
{
Serial.println(F("illegal input!"));
return 0;
}
time0 = millis();
return c;
}
}
}
No podem canviar el pin del sensor que bé preestablert al pin 2:
#define DHT_PIN_DATA 2
Al igual la llibreria que serveix el ide, tampoc es pot canviar.
#include "DHT.h"
No esta del tot comentat el codi, i no ens diu quin es el resultat final.
El codi es massa llarg i pot portar-nos a no entendre el que passa.
Baixem el zip del codi i amb la ajuda del nostre IDE de Arduino carreguem el codi a la nostre placa.

El resultat es el següent:

Escrivim 1 i premem el botó envia i ens mostra la temperatura i la humitat en el monitor sèrie:

Es una bona eina, senzilla però pot resultar molt útil.
La WEB es: https://www.arduinoblocks.com/web/
Es te que crear un conte i entrar logejat. Els projectes creats es guarden en la mateixa web. Per començar hem de crear un nou projecte, tenim tres opcions, com a projecte personal, com a professor o com alumne.

Nou projecte personal que el nomenem: lecturaSensorDHT22 i posem una petita descripció del projecte:

Comencem a programar, es molt simple, en el setup() nomes inicialitzem el port serial a 9600 badius i que mostri la paraula "start" . En el loop() que cada 3 segons llegeixi i mostri la temperatura i la humitat, arrastrem els blocs, tal com es mostra en la següent imatge:

El codi que ha generat els blocs, que el trobem en el desplegable de la esquerra Blocks, es el següent:
#include "ABlocks_DHT.h"
DHT dht2(2,DHT22);
void setup(){
Serial.begin(9600);
pinMode(2, INPUT);
dht2.begin();
Serial.println(String("start"));
}
void loop(){
Serial.print(String("Temperatura: "));
Serial.println(dht2.readTemperature());
Serial.print(String("Humitat: "));
Serial.println(dht2.readHumidity());
delay(3000);
}
Podem descarregar el programa directament a la nostre placa, pro primer es te que instalar en el nostre ordenador la aplicació ArduinoBlocks-Connector.

Connectem la placa al USB del nostre ordinador i en la pagina de ArduinoBlocks cliquem en Upload i el codi es carrega directament de la web a la placa, primer es te que seleccionar el port en que esta connectat Arduino.

El resultat el podem visualitzar en la web, per la consola:

També podem visualitzar els valors de temperatura i humitat amb el monitor serial del nostre ordinador, tancant primer la consola oberta de la web perquè si no ho fem, el Ide de Arduino dona error, que el port ja esta ocupat:

Es una gran eina que simplifica molt la feina del programador.
La WEB es: https://www.tinkercad.com/dashboard
Es un editor de blocs online i gratuït. Es necessari crear un compte per poder crear projectes i guardar-los en la plataforma.
Crear nou circuit:

Arrastrem els components, el inconvenient es que no hi ha el sensor DHT22. Que es el fem servir, en el seu defecte, utilitzem el que hi ha, el sensor TMP36.

Al clicar en el botó Código, se obre el editor de blocs a la dreta del circuit.

Llegirem la temperatura del sensor i la mostrem en el monitor sèrie. Ja no es fa servir els setup(), ni el loop(), el codi es simplifica moltíssim. Nomes 3 línies de blocs:

També disposa de un simulador i un monitor sèrie com es veu en la part baixa de la imatge anterior.
Descarreguem el codi i l'obrim amb el ide de Arduino:
void setup(){
Serial.begin(9600);
pinMode(A2, INPUT);
}
void loop(){
Serial.print("Temperatura: ");
Serial.println(-40 + 0.488155 * (analogRead(A2) - 20));
delay(3000); // Wait for 3000 millisecond(s)
}
Existeix la opció de codi i blocs en la mateixa pantalla:

El projecte es guarda en la mateixa plataforma de TinKerCad.
També es pot compartir el projecte i també exportar descarregant un EAGLE.BRD per el disseny del circuit i circuit imprès.
Falten components, per exemple el sensor DHT22 no està i molts d'altres. Es mes per projectes de electrònica. Pot ser molt útil en determinats projectes.
La WEB es: https://blocklyduino.github.io/BlocklyDuino/blockly/apps/blocklyduino/
El editor es molt simple, hi han pocs components. La interfície del editor té poques prestacions i el codi mes aproximat al nostre projecte es el següent:

El codi arduino:

Que es te que refer completament en el nostre IDE de Arduino.
No serveix per els nostres propòsits.
El mar.
Havaneres.
Lloret antic.
Lloret avui.
De cala Morisca a Sa Carabera.
De Sa Carabera a Treumal.
Lloret en kayak.
Vígilancia remota.
Caixa-tpv.
Cambrer-app.
Client webApp.
Relats del banc del si no fos
Històries d'ahir
Vídeos antics de Lloret
El caiac
Contes de l'avi.
Control d’accés amb contrasenya.
Orgue de llums.
Comparativa de editors Arduino.
Projecte bon Nadal.
Control de la qualitat del aire interior (CO2) amb semàfor LED.
NodeMCU-ThingSpeak
ThingSpeak.
NodeMCU com AccessPoint.
Control de la llum de casa per web.
Control de un led per el mòbil.
Sistema de fitxers en ESP8266.
Altura del nivell d'aigua.
Avis d’alarma a Telegram.
Control de la intensitat de llum de un LED per Internet.
Magatzematge de temperatura i humitat en Thinger.
Publicar temperatura i humitat en Google Sheets.
ESP8266 i Firebase.
La bàscula. ESP8266 NodeMCU amb cèl·lula de càrrega.
ESP32-CAM
ESP32-CAM captura fotos per ser vistes en la WEB.
Pujar fotos a un servidor FTP amb ESP32-CAM.
MicroPython en ESP8266.
Visual Estudio Code per Arduino.
Classificador d’imatges.
Instal·lar i configurar Apache en Ubuntu.
Accés a un servidor Linux remotament.
Client i Servidor FTP.
Màquina virtual UBUNTU.
WindowsXP en Virtualbox.
Multisim, simulador de circuits electrònics.
Proteus, simulador de circuits electrònics.
MySQL. Instal·lació.
MySQL. Aplicacions.
Netbeans Maven MySQL.
Java+Netbeans+Maven+EclipseLink+Mysql
Aplicació d’escriptori JavaFX
App JavaFX amb SceneBuilder
App Java-Swing
TresAvis es un grup d’amics, jubilats i avis. Tenim un “hoby”, el estudi de les noves tecnologies.








Noves tecnologies WEB Arduino Domótica MycroPython NodeMCU IoT Java ESP8266 Lora C++ Programació Server-Client