IR-Thermometer - AZ-Delivery

Bonjour à tous,

aujourd'hui je voudrais Vous montrer comment notre GY-906-Module, un Nano V3 et d'un écran OLED avec quelques Lignes de Code d'un Thermomètre IR capable. La Structure est bien adaptée au contact de surveiller les Températures, par exemple, les Machines, etc.

, Nous avons besoin d':

1x Nano V3
1x OLED 0.96"
1x GY-906
1x Mini-platine d'essai m de Jumper Wire
1x 9V-support de batterie

en Option, Vous pouvez le Projet volontiers pour une Diode laser ou un Bouton-Module étendre.

Le Câblage:

Nano GY-906 Oled fermoir en place
VIN +
GND GND GND -
5V VCC
3.3 V VCC
A5 SCL SCL
A4 SDA SDA

 

nécessaires Bibliothèques:

Installez les deux Bibliothèques utilisées, comme d'habitude, via Votre gestionnaire de Bibliothèques dans l'Arduino IDE. Voulez-Vous la dernière Version, Vous pouvez utiliser GitHub pour obtenir et comme *.zip et de l'intégrer, ce qui a pour Inconvénient de nouvelle Version de lui-même soigner.

Utilisez le gestionnaire de Bibliothèques, d'Installation Vous guide à travers les IDE averti dès qu'une nouvelle Version est Disponible et vous pouvez par un simple Clic de mise à jour. Dans la Capture ci-dessous, les deux Bibliothèques ci-dessous:

- GY-906 -sur Github

Pour la Sortie des Valeurs sur l'Écran, nous utilisons aujourd'hui, la Bibliothèque de Adafruit:

Voici le Code:

 

#include <Wire.h>
#include <Adafruit_MLX90614.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128 // ecran OLED largeur, en pixels
#define SCREEN_HEIGHT 64 // ecran OLED height, dans pixel


Adafruit_SSD1306 écran(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
Adafruit_MLX90614 mlx = Adafruit_MLX90614();

void setup() {      Serial.begin(9600);   Serial.println("Adafruit MLX90614 test");    if(!écran.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {     Serial.println(F("SSD1306 init failed"));     for(;;);   }      display.clearDisplay();   écran.setRotation(0);   écran.setTextSize(1);   écran.setTextColor(WHITE);   écran.setCursor(0, 35);   écran.println("Init...");   écran.d'affichage();   delay(500);   écran.clearDisplay();   mlx.begin();     }

void loop() {     écran.clearDisplay();     écran.setTextSize(2);     écran.setCursor(25, 10);     écran.print(mlx.readAmbientTempC()); //la température Ambiante     affichage.setCursor(95, 10);     écran.print("C");     écran.setTextSize(2);     écran.setCursor(25, 36);     écran.print(mlx.readObjectTempC()); //IR-Température     d'affichage.setCursor(95, 36);     écran.print("C");     écran.display();   Serial.println();   delay(1000);
}

Après l'Initialisation du Matériel dans le void setup, est dans la boucle de l'environnement et à la suite de l'IR Température s'affiche.

Jusqu'à la prochaine fois :)

DisplaysFür arduinoProjekte für anfänger

2 commentaires

Peter Mauß

Peter Mauß

Verwende dieses Setup allerdings mit einem 1.3"OLed mit der U8G2 Lib. Als Temparatur wird mir allerdings 1037.55 °C ausgegeben. Wenn ich die U8G2 auskommentiere und über Serial ausgebe, scheint alles zu passen (23,93 und 27,23).
Mit der U8G2 funktionierts dann, wenn ich am Beginn des loop einen mlx.begin() setze und dann die Temperaturen auslese.
Wer pfuscht da wem in den Registern herum?

Achim Pellmann

Achim Pellmann

Der Upload wird abgebrochen mit der Fehlermeldung:
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0×0f
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0×0f
avrdude: stk500_recv(): programmer is not responding
usw.
Ich bin begeistert von Ihren Beispielvorstellungen und habe auch schon einiges nach gebaut. Daher wäre es schön, wenn Sie mir weiterhelfen könnten.
MfG Achhim Pellmann

Laisser un commentaire

Tous les commentaires sont modérés avant d'être publiés

Articles de blog recommandés

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery