Arduino RF Alıcı verici Devresi ile yapılmış sıcaklık değerini uzaktan kablosuz okuma

Arduino RF Alıcı verici Devresi ile yapılmış sıcaklık değerini uzaktan kablosuz okuma

Proje adı: Arduino Uno  RF 315/330/433 MHz XD-FST / XD-RF-5V Verici / Alıcı, LCD1602 I2C, LM35
Etiketler: Arduino, Arduino Uno, RF 315/330/433 MHz XD-FST / XD-RF-5V Verici / Alıcı, arasında iletişim yolu, VirtualWire, Sanal Tel, LM35, LM35 sıcaklık sensörü, Arduino panoları arasında 433 MHZ RF iletişimi MHZ RF verici ve Arduino ile alıcı kullanarak sensör verilerinin iletilmesi ve alınması
Ataşmanlar: alıcı kroki , verici kroki , kütüphane 1, kütüphane2
Bu projede, bu parçalar gerekli ( Değerli ziyaretçiler Sen parçaların linklere proje satın tıklayarak desteklemek ve onları satın ya da diri bu web sitesini tutmamıza bağış yapabilirsiniz teşekkür ederiz.. ):
1. Arduino Uno R3 ( Arduino’nun diğer sürümünü de kullanabilirsiniz) 2 adet

2. Arduino IDE (siz indirebilirsiniz burada )
3. Bağlantı kabloları FM, MM

4. LM35 sensörü 1 adet

5. Direnç 1 KOhm 1 adet

6. RF 315/330/433 MHz XD-FST / XD-RF-5V Verici / Alıcı modülü 1 adet

7. Breadboard 1 adet

8. LCD 1602 I2C modülü 1 adet

Genel
433 MHZ RF üzerinde iletişim kurmak, LM35 sıcaklık sensörünü göndermek ve almak için RF 315/330/433 MHz XD-FST / XD-RF-5V Verici / Alıcı modülü ve VirtualWire kütüphanesi ile Arduino kartının (UNO) nasıl kullanılacağını öğreneceğiz LCD 1602 I2C modül ekranında gösterin.
Bu proje şunları hedefliyor:
• İki Arduino Uno kartı arasında 433 MHZ RF iletişimi kurun;
• Arduino Uno # 1 kartına bağlı LM35 sensöründen sıcaklığı okuyun ve Seri monitörde görüntüleyin;
• LM35 sensöründen başka bir Arduino Uno # 2 kartına sıcaklık gönderin;
• Arduino Uno # 2 kartının Seri Monitöründe ve LCD 1602 I2C modülü ekranında alınan sıcaklığı yazdırın.
LM35 sensörünü anlama
LM35, çıkışı sıcaklıkla orantılı (oC cinsinden) olan hassas bir IC sıcaklık sensörüdür. Sensör devresi sızdırmazdır ve bu nedenle oksidasyona ve diğer işlemlere maruz kalmaz. LM35 ile sıcaklık, bir termistörden daha doğru ölçülebilir. Aynı zamanda düşük kendi kendine ısınmaya sahiptir ve durgun havada 0,1 oC’den fazla sıcaklık artışına neden olmaz.
Çalışma sıcaklığı aralığı -55 ° C ila 150 ° C’dir. Çıkış voltajı, ortam sıcaklığındaki her oC yükseliş / düşüşüne yanıt olarak 10mV kadar değişir, yani ölçek faktörü 0.01V / oC’dir.
Veri sayfasını burada bulabilirsiniz .
LCD 1602 I2C modülünü anlama
Bununla ilgili daha fazla bilgiyi buradan edinebilirsiniz .
RF 315/330/433 MHz XD-FST / XD-RF-5V Verici / Alıcıyı Anlama
433MHz RF Verici

Bu çok az verici oldukça basittir. Modülün kalbi 433.xx MHz işlemi için ayarlanmış SAW rezonatördür. Bir anahtarlama transistörü ve birkaç pasif bileşen de var.
DATA girişine bir YÜKSEK mantık uygulandığında, osilatör 433.xx MHz’de sabit bir RF çıkış taşıyıcı dalgası üretmeye çalışır ve DATA girişi mantık DÜŞÜK olarak alındığında osilatör durur. Bu teknik Genlik Kaydırma Anahtarlaması olarak bilinir.
433MHz RF Alıcı

Vericiden alınan taşıyıcı dalgayı yükseltmek için RF ayarlı bir devre ve birkaç OP Amperden oluşan basit bir alıcı modülüdür. Amplifiye edilmiş sinyal ayrıca , kod çözücünün daha iyi kod çözülmüş çıkış ve gürültü bağışıklığı sağlayan bir dijital bit akışına “kilitlenmesini” sağlayan bir PLL’ye (Faz Kilit Döngüsü ) beslenir .
Genlik Kaydırma Anahtarlaması (ASK)
Dijital verileri radyo üzerinden göndermek için, bu modüller Genlik Kaydırma Tuşlaması veya ASK adlı bir teknik kullanır. Genlik Kayması Anahtarlamasında, gelen dalgaya yanıt olarak taşıyıcı dalganın genliği (yani seviye) (433MHz sinyali) değiştirilir.
Bu, AM radyoya aşina iseniz aşina olabileceğiniz analog genlik modülasyonu tekniğine çok benzer. Bazen ikili genlik kaydırmalı anahtarlama olarak adlandırılır, çünkü yalnızca iki düzeyimiz vardır. Bunu bir AÇMA / KAPAMA anahtarı olarak düşünebilirsiniz.
Dijital 1 için – Bu, taşıyıcıyı tam güçte çalıştırır.
Dijital 0 için – Bu, taşıyıcıyı tamamen keser. Genlik modülasyonu şöyle görünür:

Genlik Kaydırma anahtarlamanın uygulanması çok basit olma avantajına sahiptir. Kod çözücü devresini tasarlamak oldukça basittir. Ayrıca ASK, FSK (Frekans Kaydırma Anahtarlaması) gibi diğer modülasyon tekniklerinden daha az bant genişliğine ihtiyaç duyar. Bu ucuz olmanın nedenlerinden biridir.
Bununla birlikte dezavantajı, ASK’nin diğer radyo cihazlarından gelen parazitlere ve arka plan gürültüsüne duyarlı olmasıdır. Ancak veri iletiminizi nispeten düşük bir hızda tuttuğunuz sürece, çoğu ortamda güvenilir bir şekilde çalışabilir.
Burada onlar hakkında daha fazla bilgi edinebilirsiniz .
LM35 sensörünün sinyalleri ve bağlantıları .

RF 315/330/433 MHz XD-FST / XD-RF-5V Verici / Alıcının sinyalleri ve bağlantıları
Verici (TX) pimleri:
ATAD (DATA) – ilk Arduino kartı tarafından kodlanan çıkış sinyali
GND – toprağa bağlanmalı, (-) güç kaynağı
VCC – + 3V – + 12V güç kaynağına bağlanmalıdır
Alıcı (RX) pimleri:
VERİ – iki pim vardır, DATA pimlerinden yalnızca birini kullandığınız sürece, hangisinin ikinci Arduino kartına bağlanması önemli değildir.

GND – ikinci Arduino kartı topraklama pimine bağlanmalıdır

VCC – ikinci Arduino kartı 5V pinine bağlanmalıdır.
LCD 1602 I2C modülünün sinyalleri ve kontakları
LCD 1602 modülünün arkasında görebileceğiniz gibi 4 bağlantı vardır: GND (-), VCC (+ 5V), Seri Veri Hattı (SDA) ve Seri Saat Hattı (SCL).
kablolama
433MHz RF Verici Arduino Uno
GND GND
VCC 5V
VERİ ÇIKIŞI D11
A0, LM35 sensör veri pinine bağlı
GND LM35 sensörüne bağlı GND pimi
5V LM35 sensörü güç kaynağı pimine bağlı
433MHz RF Alıcı Arduino Uno
GND GND
VCC 5V
VERİ GİRİŞİ D12
LCD1602 I2C modülüne bağlı SDA SDA pimi
LCD1602 I2C modülüne bağlı SCL SCL pimi

Adım Adım talimat
1. 433 RF Ttransmitter ve 433 RF Alıcı için kablolama yapın.
2. Bu projedeki her iki bağlantı noktasını da izlemek istiyorsanız, Arduino IDE’yi yüklemeniz ve Arduino IDE’nin taşınabilir bir sürümünü indirmeniz gerekir ( zip dosyasını indirin ve Taşınabilir dizininde sıkıştırın ). Verici ve alıcı çizimlerini aynı anda yükleyebilecek ve farklı bağlantı noktalarını izleyebileceksiniz.
3.
4.
5. Arduino IDE’yi açın.
6. Senin Tak 433 MHZ RF verici ile Adruino Uno kurulu PC USB bağlantı noktasına takın.
7. Doğru kartı ve com bağlantı noktasını seçin.
8.
9. Derlemek ve yüklemek transmittersketch için sizin 433 MHZ RF verici ile Adruino Uno kurulu .
10. Arduino IDE taşınabilir sürümünü açın.
11. Senin Tak 433 MHZ RF alıcısı ile Adruino Uno kurulu PC USB bağlantı noktasına takın.
12. Doğru kartı ve com bağlantı noktasını seçin.
13.
14. I2C adresinizi bulun. Her cihazın komutları kabul etmek veya mesaj göndermek için kullandığı bir I2C adresi vardır. Çizimi http://playground.arduino.cc/Main/I2cScanner adresinden yükleyin ve kullanmak için talimatları izleyin. Çizim yüklendikten sonra Seri monitör penceresini açarak, Arduino yanıt arayan adres aralığını tarayacaktır. Belgeler 0x27 olduğunu söylemesine rağmen, bu tarayıcı farklı algılayabilir (bizim durumumuzda 0x3F )
15. Değiştirme receiversketch (an aşağıdaki kroki kullanabilir), yukarıdaki ekleri: satır LiquidCrystal_I2C lcd ( 0x3F , 2 , 1 , 0 , 4 , 5 , 6 , 7 , 3 , POZİTİF ) ( bakınız bölüm Kalın olarak işaretlenmiş )
16. Derleme ve yükleme receiversketch senin için senin 433 MHZ RF alıcısı ile Adruino Uno kurulu .
17. Seri Monitörü 9600 baud hızında açın (COM5 ve COM8 portlarımız vardı). Aynı sensör verilerinin dağıtıldığını göreceksiniz. 433 mhz RF iletişiminin başarıyla kurulduğu anlamına gelir.
18. LCD 1602 I2C modülünün sıcaklık değerlerini de ekranda göreceksiniz.
19.
20.
kod
Bu proje için iki farklı kod yazacağız. Kodlardan biri vericiyi kontrol etmek, diğeri ise alıcıyı kontrol etmektir. Veri göndermek ve almak için VirtualWire kütüphanesini kullanacağız .
Kodun arkasındaki algoritma basittir. Verici için LM35 sıcaklık sensöründen Santigrat cinsinden sıcaklığı ve Fahrenheit cinsinden sıcaklığı alın, RF vericisi aracılığıyla alıcıya gönderin ve Seri Monitörde görüntüleyin. Alıcı için, RF Alıcı modülünü ve Seri Monitörde ve LCD1602 I2C modül ekranında ekran kullanarak Celsius cinsinden sıcaklığı ve verici tarafından gönderilen Fahrenheit değerleri cinsinden sıcaklığı alın.
Verici kodu
VirtualWire kütüphanesini ekleyerek başlıyoruz. Bundan sonra, LM35 sensörünüzün bağlı olduğu Arduino Uno # 1’in pimini beyan ederiz. Daha sonra, veri iletim pinimiz olarak kullanılacak olan Arduino Uno # 1’in pimini (RF verici modülünün veri pinine bağlı olan) gösteririz ve verileri göndermek için kullanılacak bir yapı paketi oluştururuz. Ardından, paketin türünü tanımlarız.
In boşluk kurulum () biz RF modülü başlatmak için TX pimi ve diğer parametrelerini ayarlamak fonksiyonu.
Gelen void döngü () biz Fahrenheit Celsius sıcaklık ve sıcaklık elde kullanılarak seri Monitör görüntülemek fonksiyonu okuma sensör fonksiyonu. Elde edildikten sonra vw_send () işlevi kullanılarak gönderilen veriler . Veriler arasında bir aralık oluşturmak ve birinin diğerinden önce gönderilmesini sağlamak için 2 saniyelik bir gecikme süresi uygulanır.
Alıcı kodu
VirtualWire ve NewliquidCrystal kütüphanesini ekleyerek başlıyoruz. Ardından, RF alıcı modülünün veri pininin bağlı olduğu Arduino Uno # 2’nin pimini ( alma_pin ) beyan ederiz ve sıcaklıkC ve sıcaklıkF değerlerini tutmak için karakter değişkenleri oluştururuz .
Verici kodundakine benzer bir yapı paketi oluşturuyoruz. Ardından, paketin türünü tanımlarız.
In boşluk kurulum () biz RF alıcı modülü bit hızını ayarlama ve alıcı PLL başlayan başlatmak ve LCD tanımlamak fonksiyonu.
In boşluk döngü () fonksiyonu bir mesaj kullanılarak alınıp alınmadığını kontrol ederek başlayın vw_have_message () fonksiyonu. Bir mesaj alındıysa, sıcaklığı Santigrat olarak ve sıcaklığı Fahrenheit verilerinden çıkarırız ve Seri Monitörde ve LCD1602 I2C modülü ekranında görüntüleriz.
özet
433 MHZ RF üzerinde iletişim kurmak, LM35 sıcaklık sensörü verilerini göndermek ve almak için RF 315/330/433 MHz XD-FST / XD-RF-5V Verici / Alıcı modülü ve VirtualWire kütüphanesi ile Arduino kartının (UNO) nasıl kullanılacağını öğrendik LCD 1602 I2C modül ekranında gösterin.
Kütüphaneler:
• Bu proje açıklamasının başlangıcında ekli tüm kütüphaneler.
• VirtualWire kütüphanesi dahildir.
VirtualWire, ASK (genlik kaydırmalı anahtarlama) kullanarak, kablosuz üzerinden UDP gibi, adresleme, yeniden iletim veya onaylama olmadan kısa mesaj gönderme özellikleri sağlayan bir Arduino kütüphanesidir. Bir dizi ucuz radyo vericisi ve alıcısını destekler.
Bu kütüphane kolayca veri “bayt” ve dize göndermek ve almak için izin
VirtualWire, ASK (genlik kaydırmalı anahtarlama) kullanarak kablosuz üzerinden UDP gibi adresleme, yeniden iletim veya onaylama olmadan kısa mesaj gönderme özellikleri sağlayan bir Arduino kütüphanesidir. Bir dizi ucuz radyo vericisi ve alıcısını destekler.
Bu kütüphane kolayca veri “bayt” ve dize göndermek ve almak için izin verir. PC’nizdeki kütüphaneleri indirin, sıkıştırın ve ekleyin : örneğin C: \ Users \ toshiba \ Documents \ Arduino \ library . Bu bağlantıya PC’nizde yüklü olan Adruino IDE programının Tercihleri bölümünde ulaşabilirsiniz. Bununla ilgili daha fazla bilgiyi buradan edinebilirsiniz .
• – Biz kütüphaneyi kullandık NewliquidCrystal_1.3.4.zip için klasörün adını değiştirdi, biz indirilen, Unzipped LiquidCristal örneği için, bizim PC kütüphanelerine ve katma \ Kullanıcılar \ toshiba \ Documents \ Arduino \ kütüphaneler: C . Bu bağlantıya PC’nizde yüklü olan Adruino IDE programının Tercihleri bölümünde ulaşabilirsiniz . Bu konumda zaten LiquidCristal klasörünüz varsa – bu klasörü ve sizin yaptığınız klasörü bu konuma silin.
Sketch:

unknown arduino_rf_alici_verici.pdf——indir

• Bu projenin başlangıcındaki eke bakın

Posted in Makaleler.