×

ARDUINO

Control d’accés amb contrasenya. Orgue de llums. Comparativa de editors Arduino. Projecte bon Nadal. Sensor de gas i de fums. Control de la qualitat del aire interior (CO2) amb semàfor LED.

NodeMCU

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 llum de casa des de 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. ESP8266-BME280 Firebase. La bàscula. ESP8266 NodeMCU amb cèl·lula de càrrega..

ESP32

ESP32-CAM, exemple de prova. Esp32-Cam captura fotos per ser vistes en la WEB. Pujar fotos a un servidor FTP amb ESP32-CAM. Foto amb ESP32-CAM i Telegram. Alarma amb avis a Telegram, utilitzant la placa ESP32-CAM.

PROGRAMACIÓ

Matemàtiques. App Inventor tutorial. MicroPython en ESP8266. Visual Estudio Code per Arduino

Intel·ligència artificial

Classificador d’imatges.

SERVIDORS

Instal·lar i configurar Apache en Ubuntu. Accés a un servidor Linux remotament. Client i Servidor FTP.

MÀQUINES VIRTUALS

Màquina virtual UBUNTU. WindowsXP en Virtualbox.

ELECTRÒNICA

Simulador Multisim. Simulador Proteus.

BASE DE DADES

MySQL. Instal·lació. MySQL. Aplicacions.

JAVA

Netbeans Maven MySQL. Java+Netbeans+Maven+EclipseLink+MySQL Aplicació d’escriptori JavaFX App JavaFX amb SceneBuilder App Java-Swing
favicon
logo

Tresavis

Benvinguts al blog de tresavis de noves tecnologies i més.

Correu : tresavis3@gmail.com

facebook   Instagram   youtube   x   tiktok

☰ Pràctiques   ☰ Articles

Analitzem els següents IDEs:

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:

Projecte:

Amb la placa de Arduino uno, llegirem la temperatura i la humitat del sensor DHT22.

Components:

Placa de Arduino uno.

Sensor DHT22.

Els diferents tipus de editors que volem analitzar.

comparativa1

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:

comparativa2

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

comparativa2

Podem descarregar el zip amb el codi i las llibreries o copiar nomes el codi, que el es el seguent:

Codi:

Firmware.ino
            
// 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;
        }
    }
}  
            
        

Inconvenients:

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.

Resultat:

Baixem el zip del codi i amb la ajuda del nostre IDE de Arduino carreguem el codi a la nostre placa.

comparativa1

El resultat es el següent:

comparativa1

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

comparativa1

Conclusió:

Es una bona eina, senzilla però pot resultar molt útil.

ArduinoBlocks editor online.

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.

comparativa1

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

comparativa1

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:

comparativa1

El codi que ha generat els blocs, que el trobem en el desplegable de la esquerra Blocks, es el següent:

Firmware.ino
            
              
#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.

arduinoBlocks

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.

arduinoBlocks

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

arduinoBlocks

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:

arduinoBlocks

Conclusió:

Es una gran eina que simplifica molt la feina del programador.

Tinkercad editor de circuits online.

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:

tinkercad1

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.

tinkercad1

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

tinkercad1

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:

tinkercad1

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:

tinkercad5

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.

Conclusió:

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.

Blocklyduino també es un editor de blocs online.

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:

tinkercad5

El codi arduino:

tinkercad5

Que es te que refer completament en el nostre IDE de Arduino.

Conclusió:

No serveix per els nostres propòsits.

Contingut.


Nosaltres

TresAvis es un grup d’amics, jubilats i avis. Tenim un “hoby”, el estudi de les noves tecnologies.

Les nostres fotos antigues.
anem de prima
anem de prima
anem de prima
anem de prima
anem de prima
anem de prima
Canyelles.
anem de prima
anem de prima

Tags

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