Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Bouw een Contactloze Infrarood Thermometer met Arduino Nano en GY-906

Onderdelen en Benodigdheden

Onderdeel Aantal
Arduino Nano R3 1

Benodigde Tools en Machines

3D-printer (generiek)

Apps en Online Diensten

Arduino IDE

Over dit Project

De infrarood thermometer meet de oppervlaktetemperatuur van een object. Het voordeel is contactloze temperatuurmeting, waarmee je gemakkelijk en nauwkeurig de temperatuur van een ver object kunt meten.

Nu ga ik de materialen, tools en fabricagemethoden introduceren die nodig zijn om een infrarood thermometer te maken.

Materiaallijst

  • Arduino Nano × 1
  • Touch-knop × 1
  • Weerstand (5k ohm, 200 ohm) × 1
  • 5V laserzender × 1
  • Tweewegschakelaar × 1
  • OLED 0,96" scherm × 1
  • GY-906 temperatuursensor (MLX90614 met condensator/weerstand) × 1
  • 9V batterij × meerdere
  • 3D-printer × 1
  • PLA printmateriaal × meerdere
Bouw een Contactloze Infrarood Thermometer met Arduino Nano en GY-906

Dit project gebruikt de GY-906 infrarood thermometer sensor. Deze module is erg goedkoop, eenvoudig te integreren en ondersteunt een I2C-interface met een 10k pull-up weerstand. De fabriekscalibratie: sensor temperatuurbereik -40 tot 125°C, object temperatuurbereik -70 tot 380°C. De foutmarge is ongeveer 0,5°C.

Schakeling

Bouw een Contactloze Infrarood Thermometer met Arduino Nano en GY-906

Alle componenten kunnen nu samen worden gemonteerd.

  1. Plaats alle componenten op het breadboard. Nadat alles normaal werkt, soldeer alles op een gatprint.
  2. Bouw een Contactloze Infrarood Thermometer met Arduino Nano en GY-906
  3. Aan de linkerkant: een laser met 200 ohm weerstand aangedreven door digitale uitgang 5. Een standaard touch-knop tussen 5V en digitale ingang 2. Er zit ook een 5k pull-down weerstand, zodat de ingang niet zweeft wanneer de schakelaar aanstaat (ingang op 0V).
  4. Aan de rechterkant: een tweewegschakelaar die de 9V batterij verbindt met de VIN en GND pinnen van de Arduino Nano. Het OLED-display en de GY-906 infrarood temperatuursensor zijn aangesloten op 3,3V. De datalijn (SDA) op A4, de kloklijn (SCL) op A5. Zowel OLED als GY-906 hebben pull-up weerstanden op de I2C-bus.

Programma

  1. Installeer eerst de volgende bibliotheken: Adafruit SSD1306 en Adafruit MLX90614.
  2. Het programma leest continu temperatuurdata van de MLX90614, maar toont deze op de OLED alleen wanneer de touch-knop wordt ingedrukt; de laser start dan ook om de meting te helpen richten.
  3. Download de programmeerbestanden via de projectbibliotheek: https://make.quwj.com/project/157

3D Printen

Het 3D-geprint model is ontworpen in Fusion 360.

Bouw een Contactloze Infrarood Thermometer met Arduino Nano en GY-906
Bouw een Contactloze Infrarood Thermometer met Arduino Nano en GY-906
  1. Onderkant: 9V batterij, tweewegschakelaar en touch-knoppen. De bodem klapt dicht. Er zit een gat in de bodem om draden naar de bovenkant door te voeren.
  2. Bouw een Contactloze Infrarood Thermometer met Arduino Nano en GY-906
    Bouw een Contactloze Infrarood Thermometer met Arduino Nano en GY-906
    Bouw een Contactloze Infrarood Thermometer met Arduino Nano en GY-906
  3. Bovenkant: opening voor 0,96" OLED. De laser en MLX90614 sensor zitten in het frontdeel. Beiden kunnen ingedrukt worden. De Arduino Nano zit bovenop; gebruik lijm om de bedrading netjes weg te werken zodat alles past.

Bij printen is de kant die het display ziet naar beneden geprint. De hoek van het OLED-scherm is groot, dus ik printte ondersteunende delen op de ondersteuningsplaat, maar het oppervlak van de behuizing werd niet ideaal. Als je een betere methode hebt, mag je die natuurlijk gebruiken.

Je kunt de 3D-printbestanden downloaden via de projectbibliotheek: https://make.quwj.com/project/157

Testen

Klaar! Je kunt de thermometer testen! Druk op de aan/uit knop, wacht tot het display laadt, en het is ready-to-use.

Als je geïnteresseerd bent in de infrarood thermometer, wil je misschien gerelateerde materiaal lezen over het gedetailleerde werkingsprincipe. Bedankt voor het lezen!

Code

De originele auteur gaf alleen een placeholder: "I just assume you guys know how to program your arduino nano. If not, there are so many excellent tutorials online. You can do it!"

Hieronder staat een voorbeeldskelet met de benodigde bibliotheken en basisstructuur. Vul de meetlogica aan op basis van de Adafruit MLX90614 bibliotheek voorbeelden.

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

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
#define LASER_PIN 5
#define TOUCH_PIN 2

Adafruit_MLX90614 mlx = Adafruit_MLX90614();
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

void setup() {
  Serial.begin(9600);
  pinMode(LASER_PIN, OUTPUT);
  pinMode(TOUCH_PIN, INPUT_PULLDOWN); // of INPUT met externe pull-down
  
  if (!mlx.begin()) {
    Serial.println("MLX90614 niet gevonden!");
    while (1);
  }
  
  if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    Serial.println("OLED niet gevonden!");
    while (1);
  }
  
  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(0, 0);
  display.println("Infrarood Thermometer");
  display.println("Opstarten...");
  display.display();
  delay(2000);
}

void loop() {
  bool touchPressed = digitalRead(TOUCH_PIN) == HIGH;
  
  if (touchPressed) {
    digitalWrite(LASER_PIN, HIGH);
    
    float ambient = mlx.readAmbientTempC();
    float object = mlx.readObjectTempC();
    
    display.clearDisplay();
    display.setCursor(0, 0);
    display.setTextSize(2);
    display.print("Obj: ");
    display.print(object, 1);
    display.print(" C");
    display.setCursor(0, 30);
    display.setTextSize(1);
    display.print("Omgev: ");
    display.print(ambient, 1);
    display.print(" C");
    display.display();
  } else {
    digitalWrite(LASER_PIN, LOW);
    display.clearDisplay();
    display.setCursor(0, 0);
    display.setTextSize(1);
    display.println("Druk op touch-knop");
    display.println("om te meten");
    display.display();
  }
  
  delay(100);
}

Schema's

Bouw een Contactloze Infrarood Thermometer met Arduino Nano en GY-906

Productieproces

  1. De thermometer: van Galileo's thermoscoop tot moderne digitale sensoren
  2. Een slimme voltmeter bouwen met Arduino en smartphone – Eenvoudig DIY-project
  3. Bouw een betrouwbare infrarode hartslagsensor met Arduino: stapsgewijze handleiding
  4. Bouw een DIY VR-skateboard met Arduino, Google Cardboard en Bluetooth
  5. Contactloze temperatuurgate voor snelle, accurate screening
  6. Arduino UNO & WiFi Shield: Realtime Temperatuurweergave op het Web via Serieel
  7. Bouw een DIY Arduino Radionica EMR Behandelapparaat
  8. Slim Temperatuurmonitoring Systeem voor Scholen: Nauwkeurig, Real-time en Beveiligd
  9. DIY 2D Motion Racing Simulator met Arduino Nano & SG90 Servo's
  10. Precisie Temperatuur-gestuurde Houtskool Smoker Kit – Bouw Je Eigen BBQ Meesterwerk
  11. Ultra-koude miniatuur thermometer: 50 mK precisie op een chip