ESP 32 a presque le prix d’un ATMEGA328 mais il bien plus puissant
Mais quels sont ces temps d’instruction avec le compilateur arduino ? quels sont les temps pour le OLED
Je n’ai pas trouvé grand-chose sur la toile sur les temps d’instructions
Voici un heltec ESP32 lora32 qui peut être alimenté par batterie Lipo avec un Oled 128x64
voici comment télécharger les library
https://heltec-automation-docs.readthedocs.io/en/latest/esp32+arduino/quick_start.html
des exemples ici
des exemples ici
La carte matérielle
https://heltec-automation-docs.readthedocs.io/en/latest/esp32+arduino/wifi_kit_32/hardware_update_log.html
Le brochage
https://resource.heltec.cn/download/WiFi_LoRa_32/WIFI_LoRa_32_V2.pdf
L’affichage sur le OLED est d’un int sur le oled dure 2ms
Pour afficher 1 caractère 3.6ms, mais 17 caractères 5ms
L’analogRead dure 10 µs alors que pour atmega328 0.11ms
Un serial.print dure 8µs alors que pour atmega328 10µs
bref voici le code qui a permis de tester ces temps, les temps ont été mis en commentaire
#include "Arduino.h"
#include "heltec.h"
#define LED25 25
int counter=0;
float mesure;
void setup() {
pinMode(25, OUTPUT);
Heltec.begin(true /*DisplayEnable Enable*/, false /*LoRa Disable*/, true /*Serial Enable*/);
// Serial.begin(9600);
Serial.begin(115200);
Heltec.display->flipScreenVertically();
Heltec.display->setFont(ArialMT_Plain_10); //22 caracteres possible
Heltec.display->setTextAlignment(TEXT_ALIGN_LEFT);
}
void loop() {
counter++;
// if ( digitalRead(25)== 1 ) {digitalWrite(25,LOW);} else {digitalWrite(25,HIGH);} //il y a une led broche 25
Heltec.display->clear(); //tres court
Heltec.display->drawString(0, 0, "IUT GEII Soissons"); // afficher 17 caractéres 5ms; 1 seul caractere 3.6ms
Heltec.display->display();
// Heltec.display->drawString(0, 11, "counter" +String(counter));
Heltec.display->drawString(0, 11, String(counter)); //250microseconde
Heltec.display->display(); //affichage d'int 2ms
delay(1);
Serial.print(counter); //8micro seconde avec 115200 bauds
Serial.println(";");
digitalWrite(LED25,HIGH);
mesure=analogRead(36); //10micro seconde
digitalWrite(LED25,LOW);
}
Il faudrait y mettre un afficheur LCD pour savoir si c’est bien plus rapide avec ESP32 ou pas