- Gerekli Bileşenler
- EM18 RFID Okuyucu Modülü
- MLX90614 Kızılötesi Termometre
- Devre şeması
- Kod Açıklama
- Sensör Verilerini Arduino Denetleyiciden Excel Sayfasına Kaydetme
Covid-19'un patlak vermesinden bu yana, kızılötesi termometreler Havaalanları, Tren İstasyonları ve diğer kalabalık kuruluşlardaki insanları taramak için bir tarama aracı olarak kullanılıyor. Bu taramalar, potansiyel Covid-19 hastalarını belirlemek için kullanılıyor. Hükümet, ofise, okula veya diğer kalabalık bir yere girmeden önce herkesi taramayı zorunlu hale getirdi.
Bu eğitimde, Arduino ile temassız bir sıcaklık sensörü kullanarak RFID tabanlı bir Temassız Sıcaklık İzleme Sistemi inşa edeceğiz. Çalışanlar RFID kartını taradığında, çalışanların vücut ısısını temassız bir kızılötesi termometre ile ölçecek ve o çalışanın Adını ve Sıcaklığını doğrudan excel sayfasına kaydedecektir. Bu projeyi oluşturmak için Arduino Nano, MLX90614, EM18 RFID Okuyucu ve Ultrasonik Sensör kullanacağız. Ultrasonik sensör, termometre ile kişi arasındaki mesafeyi hesaplamak için kullanılır. Termometre sıcaklığı yalnızca mesafe 25 CM'den az olduğunda ölçecektir. Her insanın vücut ısısını da kaydeden RFID tabanlı bir devam sistemi gibi bir şey.
Gerekli Bileşenler
- Arduino Nano
- EM-18 RFID Modülü
- MLX90614 Temassız Sıcaklık Sensörü
- Ultrasonik sensör
- Breadboard
- Atlama Telleri
EM18 RFID Okuyucu Modülü
125 kHz etiketleri okumak için yaygın olarak kullanılan RFID okuyuculardan biri EM-18 RFID Okuyucu'dur. Bu düşük maliyetli RFID Okuyucu modülü, düşük güç tüketimi, düşük form faktörü ve kullanımı kolay özelliklere sahiptir. EM-18 Okuyucu Modülü iki iletişim arabirimi, yani RS232 ve WEIGAND26 üzerinden çıktı sağlayabilir.
EM18 RFID Okuyucu, bir radyo sinyali ileten bir alıcı-vericiye sahiptir. RFID etiketi verici sinyal aralığına geldiğinde, bu sinyal kartın içindeki transponder'e çarpar. Etiket, okuyucu modülü tarafından üretilen elektromıknatıs alanından güç alır. Transponder daha sonra radyo sinyalini kullanılabilir güç biçimine dönüştürür. Transponder, enerjiye ulaştıktan sonra, belirli bir kimlik gibi tüm bilgileri bir RF sinyali biçiminde RFID Modülüne aktarır. Daha sonra bu veriler mikro denetleyiciye UART iletişimi kullanılarak gönderilir.
RFID ve etiketler hakkında daha fazla bilgi edinmek için önceki RFID tabanlı projelerimize bakın.
MLX90614 Kızılötesi Termometre
Öğreticiye devam etmeden önce, MLX90614 sensörünün nasıl çalıştığını bilmek önemlidir. Piyasada birçok sıcaklık sensörü bulunmaktadır ve DHT11 Sensörünü ve LM35'i, atmosferik nem veya sıcaklığın ölçülmesi gereken birçok uygulama için yaygın olarak kullanıyoruz.
Bu sensörü daha önce, nesneye doğrudan temas etmeden belirli bir nesnenin (ortamın değil) sıcaklığını algılayabilen IR termal tabancada kullandık. Burada bir nesnenin sıcaklığını hesaplamak için yine aynı sensörü kullanıyoruz. MLX90614, bir nesnenin sıcaklığını algılamak için IR enerjisi kullanan böyle bir sensördür. Kızılötesi ve IR sensör devresi hakkında daha fazla bilgi edinmek için bağlantıyı izleyin.
MLX90614 sensör, Melexis Microelectronics Integrated sistemi tarafından üretilmiştir, içine gömülü iki cihazı vardır, biri kızılötesi termopil detektörü (algılama ünitesi) ve diğeri ise sinyal koşullandırma DSP cihazıdır (hesaplama ünitesi). Tüm nesnelerin IR enerjisi yaydığını ve bu enerjinin yoğunluğunun o nesnenin sıcaklığı ile doğru orantılı olacağını belirten Stefan-Boltzmann yasasına göre çalışır. Sensördeki algılama ünitesi, hedeflenen bir nesne tarafından ne kadar IR enerjisi yayıldığını ölçer ve hesaplama ünitesi bunu 17 bitlik yerleşik bir ADC kullanarak sıcaklık değerine dönüştürür ve verileri I2C iletişimi yoluyla verir. protokol. Sensör, nesne sıcaklık değerini kalibre etmek için hem nesne sıcaklığını hem de ortam sıcaklığını ölçer. MLX90614 sensörünün özellikleri aşağıda verilmiştir, daha fazla ayrıntı için MLX90614 Veri Sayfasına bakın.
Devre şeması
Arduino kullanan RFID tabanlı temassız sıcaklık sensörü için Devre Şeması aşağıda verilmiştir:
Devre şemasında gösterildiği gibi, bunları modüller olarak kullandığımız için bağlantılar çok basittir, bunları doğrudan devre tahtası üzerine inşa edebiliriz. EM18 Okuyucu modülünün BUZ pinine bağlı olan LED, birisi etiketi taradığında yükselir. RFID modülü verileri kontrolöre seri olarak gönderir; dolayısıyla RFID modülünün verici pimi Arduino'nun Alıcı pinine bağlanır. Bağlantılar aşağıdaki tabloda ayrıca sınıflandırılmıştır:
Arduino Nano |
EM18 RFID Modülü |
5V |
Vcc |
GND |
GND |
5V |
SEL |
Rx |
Tx |
Arduino Nano |
MLX90614 |
5V |
Vcc |
GND |
GND |
A5 |
SCL |
A4 |
SDA |
Arduino Nano |
Ultrasonik Sensör (HCSR-04) |
5V |
Vcc |
GND |
GND |
D5 |
Tetikleyici |
D6 |
Eko |
Kod Açıklama
Ultrasonik sensör, MLX90614, EM18 RFID Okuyucu Modülünden veri okuyabilen bir Arduino kodu yazmalı ve bir kişinin Adı ve Sıcaklığını bir Excel sayfasına göndermemiz gerekiyor. Bu kod için Wire ve MLX90614 kitaplıklarını indirmelisiniz. Kitaplıkları indirdikten sonra, bunları Arduino IDE'nize ekleyin.
Bu temassız vücut sıcaklığı izleme için tam kod sayfanın sonunda verilmiştir. Burada aynı program küçük parçalarla açıklanacaktır.
Her zamanki gibi, gerekli tüm kitaplıkları ekleyerek kodu başlatın. Burada Wire kitaplığı I2C protokolünü kullanarak iletişim kurmak için kullanılır ve Adafruit_MLX90614.h kitaplığı MLX90614 sensör verilerini okumak için kullanılır.
#Dahil etmek
Daha sonra bağlantı yaptığımız ultrasonik sensörün pinlerini tanımlıyoruz
const int trigPin = 5; const int echoPin = 6;
Bundan sonra, RFID modülünü, ultrasonik sensörü ve MLX90614 sensör verilerini depolamak için değişkenleri tanımlayın.
uzun süre; int mesafe; Dize RfidReading; float TempReading;
İçinde boşluk kurulum () fonksiyonu, biz hata ayıklama ve MLX90614 sıcaklık sensörü için seri monitörü başlatın. Ayrıca, Trig ve Echo pinlerini çıkış ve giriş pinleri olarak ayarlayın.
geçersiz kurulum () {Serial.begin (9600); // Seri Monitör pinMode (trigPin, OUTPUT) ile Seri İletişimi Başlat; pinMode (echoPin, INPUT); mlx.begin (); Initialize_streamer (); }
İçinde boş döngü () sonra, çağrı işlevi, mesafe ise az bir kişi, sensör ve arasındaki mesafeyi hesaplamak veya 25 cm e eşit okuyucu () etiketi taramak üzere.
boşluk döngüsü () {digitalWrite (trigPin, LOW); gecikme Mikrosaniye (2); digitalWrite (trigPin, YÜKSEK); gecikme Mikrosaniye (10); digitalWrite (trigPin, DÜŞÜK); süre = pulseIn (echoPin, HIGH); mesafe = süre * 0,0340 / 2; eğer (mesafe <= 25) {okuyucu (); }
RFID etiket kartını okumak için void reader () işlevi kullanılır. Kart okuyucu modülünün yanına getirildiğinde, okuyucu modülü seri verileri okur ve giriş değişkeninde depolar.
void reader () {if (Serial.available ()) {count = 0; while (Serial.available () && count <12) {input = Serial.read (); count ++; gecikme (5);
Sonraki satırlarda, taranan kart verilerini önceden tanımlanmış etiket kimliği ile karşılaştırın. Etiket kimliği taranan kartla eşleşiyorsa, kişinin sıcaklığını okuyun ve kişinin sıcaklığını ve adını excel sayfasına gönderin.
eğer (input == etiket) bayrak = 1; başka bayrak = 0; count ++; RfidReading = "Külçe"; }} if (bayrak == 1) {temp_read (); Yazma_akımı (); }
İçinde temp_read () işlev, Santigrat olarak MLX90614 sensör verilerini okuma ve depolamak 'TempReading' değişkeni.
void temp_read () {TempReading = mlx.readObjectTempC ();}
Donanım ve yazılım hazır olduğunda, programı Arduino Nano Board'unuza yükleme zamanı gelmiştir. Programınız yüklenir yüklenmez ultrasonik sensör mesafeyi hesaplamaya başlar. Hesaplanan mesafe 40 cm'den az olduğunda sıcaklığı ve kartı okur.
Sensör Verilerini Arduino Denetleyiciden Excel Sayfasına Kaydetme
Şimdi verileri Excel sayfasına göndermek için PLX-DAQ kullanacağız. Arduino'dan değerleri Dizüstü veya PC'nizdeki bir Excel sayfasına doğrudan yazmanıza yardımcı olan bir Excel Plug-in yazılımıdır. Dosyayı indirmek için bağlantıyı kullanın. İndirdikten sonra dosyayı açın ve yüklemek için.exe dosyasına tıklayın. Masaüstünüzde PLS-DAQ adlı bir klasör oluşturacaktır.
Şimdi masaüstü klasöründen 'PLX-DAQ elektronik tablo' dosyasını açın. Excel'inizde makrolar devre dışı bırakılmışsa, aşağıdaki resimde gösterildiği gibi bir güvenlik bloğu göreceksiniz:
Tıklayın > Seçenekler- içeriği etkinleştir -> Son -> Tamam Makroları etkinleştir. Bundan sonra aşağıdaki ekranı göreceksiniz:
Şimdi baud hızını “9600” olarak ve Arduino'nuzun bağlı olduğu portu seçin ve ardından veri akışını başlatmak için Bağlan'a tıklayın. Değerleriniz aşağıdaki resimde gösterildiği gibi kaydedilmeye başlamalıdır.
Bu, bir Temassız Sıcaklık tarama cihazı oluşturmanın ve verileri Excel Sayfasında saklamanın yoludur.
Sayfanın sonunda bir çalışma videosu ve eksiksiz bir kod verilmiştir.