arduino adım say için arama sonuçları

  • Arduino nun Yeni PLC Cihazı Çıktı

    Arduino yu PLC Gibi programlamak istermisiniz ?

    Evet artık arduino PLC ladder mantığı ile kolayca programlayabileceksiniz.

    Programı İndirin

    Direk İndirme linki

    https://www.arduino.cc/pro/portenta-machine-control 

    Portenta Makine Kontrolü , bağımsız endüstriyel makinelere Endüstriyel IoT yetenekleri ekler. Fabrika tabanından gerçek zamanlı verilerin toplanmasını sağlar ve istendiğinde ekipmanın buluttan bile uzaktan kontrolünü destekler. Bilgi işlem gücü sayesinde Portenta Machine Control, çok çeşitli kestirimci bakım ve yapay zeka kullanım durumları sağlar. Arduino çerçevesi veya diğer gömülü geliştirme platformları kullanılarak programlanabilir.

    arduino plc

     

    Arduino PLC IDE ile Programlamaya Giriş

    Arduino PLC IDE’de tüm IEC-61131-3 dilleriyle programlar oluşturun

    Giriş

    IEC-61131-3 standardı, programlarınızı oluşturmanıza yardımcı olmak için 5 programlama dili toplar; bunları işlevler ve işlev blokları halinde gruplandırarak bütün bir program oluşturmak için birlikte kullanabilirsiniz. Standart dillere ek olarak, Paylaşılan Değişkenler aracılığıyla diğer dillerle etkileşime giren bir Arduino taslağı entegre edilebilir. Bu tür bir geliştirme, Arduino PLC IDE kullanılarak gerçekleştirilebilir. Bu eğitimde, bir Arduino taslağını referans olarak aklınızda tutarken hepsini tanıyacaksınız.

    Hedefler

    Bu eğitimin hedefleri şunlardır:

    • PLC IDE ortam işlevlerine aşina olun
    • Referans taslağı tüm IEC-61131-3 dilleriyle (LD, SFC, FBD, ST, IL) programlara dönüştürün

    Gerekli Donanım ve Yazılım

    Ortak özellikler

    Değişken Toplama

    2 tür değişken vardır:

    • Global değişkenler: 5 programın tümü ona erişebilir.
    • Yerel değişkenler: Yalnızca bir programın ona erişimi vardır.

    Küresel değişken

    Proje sekmesinin içine tıklayın ve Global_vars bölümüne tıklayın, projenizdeki global değişkenlerin tam listesini görmek için bir tablo mevcuttur.

    Yeni bir tane eklemek için tabloya sağ tıklayın ve ekle düğmesine tıklayın.

    Genel değişken ekle
    Genel değişken ekle

    Varsayılan ayarlarla yeni bir satır ekleyecektir, her alanı çift tıklayıp ihtiyacınıza göre değiştirebilirsiniz.

    Genel değişkenler tablosu

    Genel değişkenler tablosu

    Yeni değişkeni ayarladıktan sonra, ona tüm dil programlarınızdan erişebileceksiniz.

    Global_vars bölümünde tüm glboal değişkenlerini içeren bir liste göreceksiniz .

    Bir program içinde global bir değişken kullanma
    Bir program içinde global bir değişken kullanma

    Yerel değişken

    Proje sekmesine gidin ve çift tıklayarak bir program seçin, açıldıktan sonra üst panelde Yerel Değişkenler tablosunu göreceksiniz.

    Varsayılan Ladder Diyagram Programı
    Varsayılan Ladder Diyagram Programı

    Daha önce açıklanan aynı adımları izleyerek, tabloya sağ tıklayıp ekle düğmesine basabilirsiniz.

    Yerel değişkenler tablosuna yeni yerel değişken ekleyin
    Yerel değişkenler tablosuna yeni yerel değişken ekleyin

    Varsayılan ayarlarla yeni bir değişken eklenecek, ihtiyacınıza göre değiştirmek için her birine çift tıklayın.

    Blok Ekleme

    Bloklar, kitaplıklardan ve PLC IDE’den kullanılabilen özellikler veya işlevlerdir.

    Bunlar, AND kapıları, ADD işlevi vb. gibi görevleri gerçekleştirmenize yardımcı olacaktır.

    Programınıza bir blok eklemek için (yalnızca LD, SFC, FBD ile mümkündür) “Kütüphane Ağacı” adlı sağ taraftaki pencereden blokları sürükleyip bırakabilirsiniz.

    Kitaplık ağaç penceresi, sürükle ve bırak blokları
    Kitaplık ağaç penceresi, sürükle ve bırak blokları

    Tuvalinize sürükleyip bıraktığınızda, tamamen özelleştirilebilir bazı giriş ve çıkış pinlerine sahip bir blok oluşturacaktır, çoğu zaman bloğa sağ tıklayıp varsayılandan daha fazlasına ihtiyacınız olması durumunda daha fazla pin ekleyebilirsiniz.

    Görev Eki

    Programlarınızı aldıktan sonra, bunları çalışma zamanı içindeki bir göreve ekleyebilirsiniz.

    4 Görev vardır:

    • Başlatma: Atanan programların, başlatma sırasında yapılan tek yürütmesi
    • Hızlı: Varsayılan olarak her 10 ms’de bir ekli programları yürüten döngü (değiştirilebilir)
    • Yavaş: Her 100 ms’de bir ekli programları çalıştıran döngü değiştirilemez
    • Arka plan: Her 500ms’de bir ekli programları yürüten döngü değiştirilemez

    Bir göreve program atamak için programınızı kolayca göreve sürükleyip bırakabilirsiniz.

    Bir programı göreve sürükleyip bırakın
    Bir programı göreve sürükleyip bırakın

    varsayılan olarak

    main

    program ektedir

    Fast

    görevi, sağ tıklayıp “programı kaldır” seçeneğine basarak kaldırabilirsiniz.

    Göreve sağ tıklayıp tuşuna basarak da yeni bir program atayabilirsiniz.

    Add program

    , ardından açılır pencerede gösterilen listeden programı seçin.

    Görevi yapılandırmak istiyorsanız, üzerine sağ tıklayın ve tuşuna basın.

    Task configuration

    , örneğin görevin döngü süresini değiştirebileceksiniz.

    Yürütme sırası, her görevin içinde gösterilen sıra yukarıdan aşağıya olacaktır.

    Değişkenleri İzle

    Programımızın doğru çalıştığını ve saydığını kontrol etmek için , bir değişkenin değerini gerçek zamanlı olarak görmenizi sağlayan izleme özelliğini kullanacağız.

    Bunu yapmak için Görünüm > Araç pencereleri > İzle’ye gitmeniz gerekir ve yeni bir araç pencereniz olur.

    Araç penceresinin içinde değişkenleri sürükleyip bırakabilir veya belirli bir değişken eklemek için Yeni öğe ekle düğmesini tıklayabilirsiniz.

    Bir değişkeni izle
    Bir değişkeni izle

    Örnek Program

    Program, sayımı zaman içinde X kadar artıran basit bir sayaç olacaktır.

    arduino taslağı

    1int count = 0;
    2const int addition = 1;
    3
    4void setup(){}
    5void loop(){
    6 count += addition;
    7}

    IEC-61131-3 Diller

    Yeni bir program oluşturmak için proje sekmenizi açın, Proje > Yeni nesne > Yeni program araç çubuğuna gidin, programınız için bir ad belirleyin ve dilini seçin.

    Project açılır menüsünden yeni program
    Project açılır menüsünden yeni program
    Yeni bir program oluştururken açılır pencereyi ayarlayın
    Yeni bir program oluştururken açılır pencereyi ayarlayın

    Hatırlatma: Büyük/küçük harfe duyarlı programlara sahip olmak istiyorsanız proje ayarlarından seçim yapabilirsiniz, bunu doğru olarak ayarladık. adresine giderek değiştirebilirsiniz.

    Project > Options... > Code generation

    ve tıklayın

    Case sensitive

    onay kutusu

    5 dil mevcuttur:

    • Yapılandırılmış Metin (ST)
    • Talimat Listesi (IL)
    • Merdiven Şeması (LD)
    • Sıralı Fonksiyon Tablosu (SFC)
    • Fonksiyon Blok Şeması (FBD)

    Yapılandırılmış Metin

    Bu dil C’ye benzer, bir değişkene değer atama kodu aşağıdaki gibidir:

    1count := count + addition;
    Yapılandırılmış Metin sayaç programı
    Yapılandırılmış Metin sayaç programı

    Talimat Listesi

    Bu programlama dili, Assembly programlamaya benzer.

    Sayaç komut dosyası için kod şudur:

    1LD count
    2ADD addition
    3ST count
    Komut Listesi sayaç programı
    Komut Listesi sayaç programı

    Merdiven şeması

    Bu programlama ortamı, çizgilere ve bloklara dayalıdır, bir çizginin, sağa doğru devam etmek için bloklar arasındaki tüm girişleri geçmesi gereken soldan sağa bir yolu vardır, eğer tüm farklı blokları geçerse (AND kapıları gibi) sağda köşeli parantez sembolünde (bobin) sona erecek ve yapmak için ayarladığınız her şeyi tetikleyecektir; bu, örneğin Normalde Açık (NO)’ya kilitlenen bir röle olabilir.

    Sayaç programı şöyle görünür:

    Merdiven Diyagramı sayaç programı
    Merdiven Diyagramı sayaç programı

    İşte bunu sıfırdan yapan bir video:

    Sıralı Fonksiyon Tablosu

    Bu diller senaryoya bir akış şemasına benzer şekilde yaklaşır, böylece bazı işler yapan bloklarınız olur, o çalışmanın sonucunu kontrol edersiniz ve ardından seçeneklerle akışa devam edersiniz.

    SFC dili doğrudan makine ile etkileşime giremez, yani bir çıktıyı doğrudan KAPALI yapamazsınız, bunun için eylemler oluşturmanız gerekir

    Hareketler

    Eylem, işi yapan başka bir dilde (yani yapılandırılmış metin) bir komut dosyasıdır, bu, grafiğe bağlı olarak tetiklenir.

    Proje ağacınızda bir tane oluşturmak için, SFC komut dosyasına sağ tıklayın ve “Yeni eylem” düğmesine tıklayın.

    Yeni eylem oluşturma
    Yeni eylem oluşturma

    SFC Programı

    Tuvalin içine veya üst çubuğa sağ tıklayarak kullanabileceğiniz bloklarınız var, onları sürükleyip bırakabilirsiniz.

    SFC programının, Adım 0 > Geçiş 0 > Adım n > Geçiş n > … > Atlama sırasını izleyen bir kuralı vardır.

    Adım , yapılacak iştir ve Geçiş , bu çalışmanın sonucudur.

    Atlama , grafiğin başka bir Adımına bağlantıdır . Bir döngü oluşturmak için “init” adımını işaret etmek için atlamayı kullanmanız gerekecektir.

    Sayaç programı aşağıdaki resimdeki gibi görünmelidir. “Count” Adımı içindeki eylemi not edin: Yapılandırılmış Metin bölümünde gösterilen kodun aynısı olan Yapılandırılmış Metin’de yapılan programın eylemin adı olan küçük bir “sayaç” metni görebilirsiniz.

    Sıralı Fonksiyon Tablosu sayaç programı
    Sıralı Fonksiyon Tablosu sayaç programı

    İşte bunu sıfırdan yapan bir video:

    Fonksiyonel blok diyagramı

    Bu, SFC Programlamasına benzer, ancak bu durumda program üzerinde sıralı bir yol yoktur, gerekli işi yapmak için bloklar eklersiniz.

    Örneğin, Ekle bloğunu eklemek, her döngüde Ekleme işlevini yapacaktır.

    Sayaç programı şöyle görünür:

    Fonksiyonel blok diyagramı
    Fonksiyonel blok diyagramı

    İşte bunu sıfırdan yapan bir video:

    Önceki programlarda yerel değişkenler kullandık, izlenecek programın belirli değişkenlerini seçmeyi unutmayın, aksi takdirde herhangi bir veri görmezsiniz.

    Çözüm

    Var:

    • Her dilde basit bir sayaç oluşturuldu
    • Canlı değişkenin değerinin nasıl izleneceğini öğrendi
    • Bir göreve bir program eklendi
    • Kullanılmış bloklar

    Şimdi, bu temel bilgileri kullanmanızı ve her birini tanımak için daha gelişmiş programlar yapmanızı, farklı blokları denemekten çekinmeyin, bunların kodlarını inceleyin ve farklı paneller arasında gezinin.

  • Sporcular için Wi-Fi ve Bluetooth Mesh Özellikli Adım sayar IOT Akıllı Cihaz

    Bu cihaz, hızlanma, açı ve yönler gibi sağlık durumlarının yanı sıra antrenmanlar ve oyunlar sırasında oyuncuların hareketleri hakkında gerçek zamanlı veriler sağlayabilir. Oyunu daha iyi anlamaya, oyuncuların performansını artırmaya ve becerileri öğrenmeye yardımcı olabileceğinden hem oyuncular hem de spor izleyicileri için yararlı olabilir.

    Bu cihaz hem WiFi hem de Bluetooth ağını destekler. Bu, farklı cihazlardan toplanan bir oyunun gerçek zamanlı verilerinin bir cihaz bulutuna gönderilebileceği ve her yerden erişilebileceği anlamına gelir.

    Gerekli Bileşenler

    • Parçacık Argon gibi WiFi ve Bluetooth mesh özellikli cihaz (Mesh için bu cihazın birden fazlasına ihtiyacınız var)
    • Bir MPU6050 sensörü
    • Bir Max30100sensor
    • Bluetooth HC 05 (Bluetooth seri bağlantı noktası üzerinden canlı veri almak istiyorsanız isteğe bağlı)
    • 3-5 V şarj edilebilir pil

    Bileşenleri topladığımızdan, şimdi projeye başlayabiliriz.

    Kodlama

    Önce ağ ağı için argon cihazını kurun ve o ağda çalışmak istediğiniz diğer tüm cihazları ekleyin. Bunu yapmak için, parçacık uygulamasını akıllı telefonunuza indirin ve uygulamadaki talimatları izleyin. Cihazımız için parçacık Web IDE’sinde veya Vs Workbench’te kod oluşturabiliriz. Burada parçacık IDE’sinde kodlama yapacağız, çünkü bu, firmware’i OTP üzerinden kablosuz olarak herhangi bir yerden güncellememize izin veriyor.

    Kodumuzun ilk bölümünde, sensörler için gerekli kütüphaneleri ve diğer değişkenleri içereceğiz. Burada max30100 ve mpu6050 sensör kitaplıklarını kullanıyoruz. Daha sonra sistem modunu otomatik olarak ve cihazımız için sistem iş parçacığını etkinleştireceğiz. (Bakınız şekil 1).

    Şekil 1. Partikül kodu

    Ardından, Bluetooth, USB Hata Ayıklama ve test işlemleri için seri bağlantı noktası ayarladığımız kodumuzun kurulum işlevi oluşturulur. Burada iki seriyi, “Serail.begin (baudrate)” kullanarak USB için, diğeri “Serial1.begin (baudrate)” kullanarak Bluetooth üzerinden canlı veri almak için Bluetooth HC 05 series için iki seri kurduk. (Bakınız Şekil 2.)

    Şekil 2. Parçacık kodu ayarlama işlevi

    Bundan sonra döngü içinde sürekli çalışan bir döngü fonksiyonu oluşturduk. Burada döngüde sensörlerden veri alıyor ve daha önce yarattığımız değişkenlere aktarıyoruz. Sonra bu verileri seri portlara gönderdik. (Bakınız Şekil 3).

    Şekil 3. Verileri göndermek için parçacık kodu.

    Mesh Ağı oluşturma ve cihaz bulutuna bağlanma

    Kodun bir sonraki bölümünde, cihazı cihaz bulutuna bağladık ve bir ağ oluşturduk. Bu bölüm iki adımdan oluşur: İlk olarak bir etkinlik oluşturma ve tüm verileri cihaz bulutunda yayınlama; ikincisi bir yerel ağ oluşturma ve tüm verileri yerel bağlı cihaza yayınlama.

    Yerel ağ ağı için “Mesh.publish” kullanarak ağ oluşturduk ve bulut bağlantılı için “Parçacık” ı kullandık. Yayınla”.

    Burada kod snippet’inde, oyuncuların sağlık, hareket açısı ve ivme verilerini mesh ağına veren üç mesh etkinliği “Health”, “ang” ve “acc” oluşturduk. (Bakınız Şekil 4).

    Mesh.publish (“Sağlık”, Dize (BPM) + ”bpm =” + Dize (sp) + ”%” + Dize (t) + ”C”);

    Mesh.publish (“ang”, Dize (x) + ”x“ + ”y =” + Dize (y) + ”z =“ + Dize (z));    Mesh.publish (“acc”, Dize (ax) + ”= x” + Dize (ay) + ”= y” + Dize (az) + ”= z”);

    Şekil 4. Partikül ağ ağı.

    Mesh Ağı Etkinliği

    Şimdi “Mesh.subscribe” ve “Particle.Subscribe” ekleyerek mesh ağımızdaki diğer tüm cihazların olaylarını elde edebiliriz. Seçimimize göre bir köprü veya tekrarlayıcı olarak kullanabiliriz. Başka bir kod bloğu (aşağıda verilmiştir) mesh ağındaki olayların verilerini işler. Böyle bir kodu, oyuncuların verilerini cihaz bulutuna yayınlayan ve verileri her yerden canlı olarak alan bir dizi parçacık argon cihazına yükleyebiliriz.

    Mesh.subscribe (“Sağlık”, myHandler1);

    Mesh.subscribe (“ang”, myHandler2);

    Şekil 5. Mesh etkinliğiŞekil 6. Mesh olay işleyicisi

    Bağ

    Şimdi, prototipimiz için sensörleri bağlamamız gerekiyor. Bileşenleri bağlamak için aşağıdaki talimatları izleyin.

    Parçacık Pimi MPU ve MAX Sensör Pimi
    3V  VCC
    GND GND
    SCL SCL
    SDA SDA
    pil Akü bağlantı portu
    Parçacık Pimi Bluetooth HC O5
    3v VCC
    GND GND
    RX Teksas
    Teksas RX

    Test yapmak

    Şimdi, Wi-Fi yönlendiricinizi açın ve cihazımızın buluta bağlı olduğunu gösteren MAVİ ışığın yanmasını bekleyin. Ardından parçacık web IDE’sindeki bağlantı durumu çevrimiçi olarak gösterilecektir.

    Şimdi cihazı seçin ve kodu OTA parçacığına çevirin. Kod güç parçacığını pille başarıyla güncelledikten sonra, Wi-Fi ağına ve cihaz bulutuna bağlanmasına izin verin.

    Test 1. Bluetooth üzerinden Kablosuz canlı sensör verisi alma

    PC’nizdeki Arduino IDE’yi açın ve Bluetooth HC 05’i PC’nizin Bluetooth’una bağlayın. Bundan sonra Bluetooth COM PORT numarasını kontrol edin ve bağlantı noktasını Arduino IIDE’deki bu bağlantı noktası numarasına değiştirin. Şimdi araçlar menüsüne gidin ve sensör verilerinin canlı grafiğini görebileceğiniz seri çiziciyi açın (oyuncuların kalp atışı, kan oksijen yüzdesi, kolun veya sensörün bağlı olduğu diğer vücut parçalarının hızlanması). (Bakınız Şekil 6.). Şimdi seri çiziciyi kapatın ve veri değerini görmek için seri bağlantı noktasını açın. Bakınız şekil 7.

    Şekil.6Şekil 7.

    Test 2. Mesh ağı ve Device cloud üzerinden veri alma.

    Verileri cihaz bulutuna almak için konsolu açın ve URL’yi kopyalayıp herhangi bir tarayıcıya yapıştırın. Birkaç saniye sonra tüm sensör verilerini olay adıyla göstermeye başlar. Bu verilere, cihazdan ne kadar uzakta olursanız olun internet üzerinden her yerden erişilebilir. Bakınız şekil 8,9, 10. Sensörlerin canlı verilerine parçacık uygulamasından da erişilebilir.

    Şekil 8. Konsolda göstermeŞekil 9. uygulamada gösteriliyorŞekil 10. Web’e veri akışı

    İndirme Kodu

    https://drive.google.com/file/d/14fi6WtXLEIuWqlhm8l3vZYLuQY-GQ-vJ/view?usp=sharing

  • Arduino Uno Tabanlı Pencere Hırsız  Alarmı Yapım devresi

    Arduino Uno Tabanlı Pencere Hırsız  Alarmı Yapım devresi

    1. Balasubramanian adlı geliştiriciden

    9 Kasım 2019

    Burada Arduino Uno panosuna dayanan bir pencere alarmı duyurusu sunulmaktadır. Bir uyarı, esas olarak proses tesislerinde, enerji santrallerinde ve endüstrilerde operatörleri anormal koşullar veya parametre sapmaları hakkında uyarmak için çeşitli tesis koşullarını izlemek için kullanılır. Güvenlik / yangın alarmı olarak da kullanılabilir. Yazarın prototipi Şekil 1’de gösterilmiştir.

    1: Yazarın Pencere Alarmı Uyarı Tablosu için prototipi

    Devre ve çalışma

    Pencere alarmı uyarıcısının devre şeması Şekil 2’de gösterilmiştir. Arduino Uno kartı (kart1), yedi LED (LED1 ila LED7), üç dokunsal anahtar (S1 ila S3) ve birkaç ayrı bileşen etrafında inşa edilmiştir.

    Şekil 2: Pencere alarmı uyarıcısının devre şeması

    Bu bildirimde alarmı normalde açık (NO) kontaklar üzerinden başlatmak için CON1 – CON7 konnektörleri arasında bağlı yedi giriş vardır. Ayrıca test, onaylama ve sıfırlama için üç giriş anahtarı (S1 – S3) vardır. Zil için sekizinci çıkış sağlanırken, bunlardan yedisi LED’lere bağlı sekiz çıkış vardır. (Zil, ek devre kullanılarak bir hooter ile değiştirilebilir.)

    Tüm alarm girişleri NO kontakları için tasarlanmıştır. Arduino’nun dijital pin 2 – pin 13’ünün yanı sıra, yedi farklı giriş koşulunu izlemek için dijital I / O pinleri olarak analog pin A0 – pin A5 de kullanılır.

    Herhangi bir giriş alarm kontağı kapalıysa, ilgili çıkış LED’i hızlı bir şekilde yanıp söner / yanıp söner ve piezo zili, kullanıcının veya yakındaki kişilerin dikkatini çekmek için etkinleştirilir. Alarm, onay düğmesine (S2) basılarak durdurulabilir. Bu, piezo zilini devre dışı bırakır ve LED daha yavaş yanıp söner. Yani, alarm girişi kontağı açılırsa, alarm sesi durur ancak LED yavaş yanıp sönmeye devam eder. Sıfırlama düğmesine (S3) basıldığında LED tamamen söner.

    Bir örnek ele alalım. Başlangıçta, tüm girişler açık olduğundan tüm LED’ler kapalıdır. İlk makinede sorun varsa, CON1’deki ilk giriş I / P1 kapanacak, LED1 hızlı bir şekilde yanıp sönecek ve PZ1 bir alarm sesi çıkaracaktır. S2’ye basıldığında, I / P1 kapalıyken PZ1 kapalı olacak, ancak LED1 açık kalacaktır. S2’ye basıldığında, I / P1 açıkken, PZ1 kapanır ve S3 anlık olarak basılana kadar LED1 yavaşça yanıp söner.

    LED’leri ve sesli uyarıyı test etmek için test butonu S1 sağlanmıştır. S1 tuşuna basıldığında, tüm pencere alarm LED’leri sürekli yanar ve sesli uyarı etkinleştirilir. Bu, S1 serbest bırakılana kadar devam edecek.

    Yazılım

    Yazılım, Arduino programlama dilinde Arduino IDE 1.8.5 sürümü kullanılarak yazılmıştır. Verilen çizimi / programı Arduino Uno’ya yüklemeden önce, geçen Millis kütüphanesi işlevinin Arduino IDE’de (Çizim> Kütüphaneleri dahil et> Arduino kütüphaneleri) mevcut olduğundan emin olun. Değilse, source.efymag.com adresinden elapsedMillis-master klasörünü indirin. Ardından, aşağıdaki adımları izleyerek zip dosyasını ekleyin.

    Çizim> Kitaplıkları dahil et> Ekle. ZIP Library…> ‘ye gidin ve geçen Millis dosyasının kaydedildiği konuma göz atın. Yukarıdaki kütüphane işlevini ekledikten sonra, kütüphane işlevleri listesinde göründüğünden emin olun. Şimdi, Annunciator.ino çizim dosyasını panoya yükleyin.

    Kaynak Klasörü İndir

    İnşaat ve test

    Pencere alarmı uyarıcısının PCB yerleşimi Şekil 3’te ve bileşen yerleşimi Şekil 4’te gösterilmiştir. Devreyi monte ettikten sonra, Arduino Uno ile birlikte uygun bir kutu içine alın. Tüm LED’leri kabinin bir tarafına, piezo zilini diğer tarafa sabitleyin. Devrenin güç kaynağı Arduino kartı üzerinden kullanılır ve dizüstü / masaüstü bilgisayarın USB portu üzerinden bağlanır.

    Şekil 3: Pencere alarmı uyarı lambasının PCB düzeni4: PCB için bileşen yerleşimi

    PCB ve Bileşen Düzeni PDF’lerini indirin: buraya tıklayın

    Tüm girişler, I / P1 – I / P7, ortak bir topraklama rayı ile potansiyelsiz harici NO kontaklarıdır. Yani, cihazlardan / makinelerden gelen tüm girdiler NO olmalıdır. Bir veya daha fazla cihaz / makinenin yükünde aşırı yük veya kısa devre gibi sorunlar meydana geldiğinde giriş kontakları kapanmalıdır.

    Kolay ve hızlı test için, devreyi verilen bağlantı şemasına göre bir breadboard üzerinde monte edin. Onay, test ve sıfırlama girişleri dahil olmak üzere tüm girişler, ilgili anahtarlara basılarak başlatılabilir.

    Dikkat. 1

    Ortak potansiyeli olan alarm kontakları (CON1 ila CON7) olarak yalnızca potansiyelsiz harici NO kontakları kullanılmalıdır. Aksi takdirde, devreye enjekte edilen harici voltaj Arduino Uno’ya zarar verir.

    Alarm girişi için uzun kablolar kullanılıyorsa, sahte çalışmayı veya hasarı önlemek için EMI bastırma devreleri / optokuplör devreleri eklenmelidir.

     

    https://drive.google.com/file/d/1JK1Aam19YfOhXO0JvujIqlnNn7AYwWAo/view?usp=sharing

  • Akıllı Taşınabilir Bluetooth Adım Sayar Devresi

    Akıllı Taşınabilir Bluetooth Adım Sayar Devresi

     

    Günümüzde elektronik giyimde giderek daha fazla kullanılmaktadır, bu da onları akıllı ve aynı zamanda modaya uygun hale getirmektedir. Bu nedenle, yaktığımız kalori sayısı veya yürürken veya koşarken alınan ayak sesi sayısı gibi formumuza göre veri sağlayabilen elektronikleri ayakkabılarımıza dahil etmeye karar verdik. Bu cihaz, sporcular, sporcular, spor salonu müdavimleri veya sürekli uygunluklarını izlemesi gereken normal insanlar tarafından kullanılabilir.

    Fitness takipçimiz nasıl çalışır?

    • Bu cihaz, hareketimiz hakkında doğru veriler sağlayan ivmeölçer tabanlı bir çip kullanır. Aynı sensör vücut sıcaklığımızı da kaydeder.
    • Bu veriler daha sonra Bluetooth aracılığıyla telefonumuzdaki bir uygulamaya gönderilir.

    Malzeme Listesi

    Bu proje için aşağıdaki bileşenler gereklidir.

    • Seeeduino Nano
    • Grove Adım sensörü
    • Bluetooth HC 05
    • Tel
    • 3V – 5V pil

    Yukarıdaki bileşenlerden bazılarına bireysel olarak bakalım

    Seeeduino

    Küçük form faktörlü ATmega 382p tabanlı geliştirme kartıdır. Arduino’ya benzer, ancak küçük boyutlu ve sensör bağlantıları için özel pimlerle. Kartı programlamak ve seri hata ayıklamak için kullanacağımız bir USB C tipi dişi bağlantı portuna sahiptir. (Bakınız Şekil 1)

    Şekil 1. Seeeduino Nano

    Vin piminden 5V’luk bir pil kullanarak güç vereceğiz.

    Grove Step (sayaç) sensörü 

    Bu sensör, Seeeduino Nano’da bulunan pin yuvasına doğrudan takılabilir ve 3V ila 5V pil ile güçlendirilebilir. Sensör ve geliştirme kartı arasındaki iletişim I2C pinleri üzerinden gerçekleşir. Grove Step sensörü hızlanma verilerinin yanı sıra BMA456 sensörü kullanılarak atılan adım sayısını verebildiğinden, bir ivmeölçer veya adım sayacı olarak kullanılabilir  . Daha fazla ayrıntı için sensörün veri sayfasını kontrol edebilirsiniz . pimleri çıkar. (Bakınız Şekil 2.)

    Şekil 2. Adım (sayaç) sensörü

    Önkoşul

    Kodu yazmadan önce, ilk olarak Seeeduino Nano kartımızı Arduino IDE’ye eklemeliyiz. Bunu yapmak için şu adımları izleyin:

    Adresine git

    Dosya → Tercihler -> Ek Anakart Yöneticisi URL’si

    Kart paketi dosyasının aşağıdaki URL’sini (Seeeduino Nano için) buraya yapıştırın ve Tamam’ı tıklayın. (Bakınız Şekil 3)

    https://raw.githubusercontent.com/Seeed-Studio/Seeed_Platform/master/package_seeeduino_boards_index.json

    Şekil 3.

    Şimdi, Yönetim Kurulu Yöneticisi’ni açmak için verilen adımları izleyin

    Araçlar —-> Yönetim Kurulu —–> Yönetim Kurulu Yöneticisi

    Şimdi ‘Seeeduino AVR’ kartını site yöneticisinde arayın ve paketi yükleyin. (Bakınız Şekil 4,5)

    Şekil 4.

    Şekil 5.

    Yeni kartı Arduino IDE’ye ekledikten sonra, şimdi projemiz için Arduino IDE’de gerekli kütüphaneyi ayarlayın.

     

    Adresine git

    Kroki —–> Kütüphaneyi Dahil Et —-> Kütüphaneleri Yönet’e tıklayın. Library Manager’da Grove Step Counter’ı arayın ve kurun.

    Şekil 6.

    Kodlama

    İlk olarak, kodumuzdaki Adım sayacı kütüphanesini başlatın. Ardından sıcaklık verilerini, yakılan kalorileri, atılan adımları ve kat edilen mesafeyi saklamak için bazı değişkenler oluşturun. Bundan sonra, Bluetooth için baud hızını ayarlamak için bir kurulum işlevi oluşturun. (Bakınız Şekil 7)

    Şekil 7. Arduino kodu kurulum işlevi

    Şimdi, daha önce oluşturulan değişkenlere sıcaklık ve adım sayısı değerlerini atadığımız bir döngü fonksiyonu oluşturun.Sonra, sensör verilerini Arduino panosunun seri üzerinden Serial.println (gönderilecek veriler) /mySerial.println ( gönderilecek veriler). (Bakınız Şekil 8)

    Şekil 8.

    Uygulama Yapımı

    Verileri cihazımızdan alan ve metin biçiminde (daha sonra görüntülemek için) kaydeden bir uygulama yapmak için Kodular veya MIT uygulama mucitini kullanabilirsiniz. Burada Kodular kullanıyoruz. (Bakınız Şekil 9)

    Önce aşağıdaki bileşenleri ekleyerek bir düzen oluşturun: –

    • 3 Metin Kutusu
    • 1 Liste Seçici
    • 1 Bluetooth İstemcisi
    • 1 Dosya
    • 1 Konum sensörü
    • 1 Harita

    Şekil 9.

    Bileşenleri ekledikten ve istediğiniz düzeni ayarladıktan sonra, uygulamayı programlamak için Bloklar’a gidin (gösterildiği gibi kod bloklarını birleştirerek) (Bkz.Şekil 10)

    Şekil 10.

     

    Şekil 11. Uygulamanın son düzeni

    Bağ

    Kodu Arduino’ya yükledikten sonra bileşenleri aşağıda belirtildiği gibi bağlayın

    Arduino Bileşenler
    PİM 5V Bluetooth Hc05 ve Sensör VCC
    GND Bluetooth Hc05 ve Sensör GND
    RX Bluetooth Hc05 TX
    Teksas Bluetooth RX
    SDA (A4) Sensör SDA’sı
    SCL (A5) Sensör SCL

     

    Cihazımıza güç vermek için

    Ham / Vin pimi Akü (3-5 V) + ve
    GND Akü -ve

    Test yapmak

    Tüm bileşenleri doğru şekilde ayarladıktan sonra, Arduino’yu batarya ile çalıştırın ve ardından uygulamayı yükleyin. Uygulamanın konumunuza ve depolama alanınıza erişmesine izin verin . (Bakınız Şekil 12).

    Şekil 12. İzin ayarlama

    Ardından uygulamayı açın, telefonun Bluetooth’unu açın ve bağlan düğmesine tıklayın. Vücut sıcaklığınızı, yürüdüğünüz adım sayısını, yakılan kalorileri, hızı, yeri ve kat edilen mesafeyi kontrol etmek için cihazla bağlantı için HC05’i seçin (Bkz. Şekil 13,14).

    Şekil 13.

    Şekil 14. Uygulama düzeni

    Uygulama, tüm etkinliğinizi izleyebilmeniz ve görebilmeniz için verilerinizi otomatik olarak metin dosyasına kaydeder. (Bakınız Şekil 15)

    Şekil 15 Metin biçiminde kaydedilen verileri gösterme

    İndirme Kodu

    unknown adim_sayar.pdf

  • Arduino ile NRF24L01  RF alıcı-verici modülü

    Arduino ile NRF24L01  RF alıcı-verici modülü
    Proje adı: NRF24L01 2.4GHZ RF alıcı-verici modülü
    Etiketler: Arduino, Arduino Uno, nRF Seri Adaptör, nRF24L01, 2.4GHZ NRF24L01 Modülü, PA LNA SMA anteni, NRF24L01 alıcı-verici modülü, WINGONEER, PA, SMA ve LNA antenli, 2.4G NRF24L01 anten kablosuz alıcı-verici modülü, Arduino, Arduino Uno , Arduino Mega, Arduino Nano, Arduino, NRF24L01 RF modülü, RF alıcı-verici modülü, 2.4G, antistatik köpükte anten, kablosuz alıcı-verici modülü kiti, SPI kablosuz veri iletim modülü, kablosuz veri toplama, NRF seri adaptör, 5V-3.3V VCC adaptörü NRF24L01 kablosuz modülü için kart, NRF24L01 için koparma adaptörü, ATMEGA48 ile NRF24L01 için kalkan, 3.3V regülatörlü nRF24L01 için taban modülü, 8pin NRF24L01, YL-105, YL 105 için USB adaptör için soket adaptör plakası, AS01-ML01DP3, Arduino Kablosuz İletişim, Arduino ile nRF24L01 – 2.4GHz RF Alıcı Verici, nRF24L01 Arduino
    Ekler: kütüphane1 , sunucularetrak1 , istemcilerutrak1
    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. Jumper kabloları FM

    3. Arduino IDE (siz indirebilirsiniz burada )
    4. NRF24L01 harici anten olmadan veya harici anten ile 2.4 GHZ RF alıcı-verici modülü PA LNA SMA -2 adet

    Genel
    NRF24L01 kablosuz alıcı-verici modülü, nasıl çalıştığını ve Arduino kartı ile arayüz hakkında bilgi edineceğiz.
    NRF24L01 2.4GHZ RF alıcı-verici modülünü anlama
    NRF24L01 2.4 GHZ RF alıcı-verici modülleri Arduino topluluğu arasında çok popüler. Bunlar alıcı-vericilerdir, yani her modül veri iletebilir ve alabilir. İki veya daha fazla Arduino kartının bir mesafeden birbirleriyle kablosuz olarak iletişim kurabilmesi, sensör verilerini uzaktan izleme, robotları kontrol etme, ev otomasyonu ve liste devam ediyor gibi birçok olasılık açar. Ucuz ama güvenilir 2 yönlü RF çözümlerine gelince, hiç kimse Nordic Semiconductor’dan nRF24L01 + alıcı-verici modülünden daha iyi bir iş yapmaz. nRF24L01 + (artı) alıcı-verici modülü, genellikle 2 dolardan daha az bir fiyata çevrimiçi olarak elde edilebilir ve bu da alabileceğiniz en ucuz veri iletişim seçeneklerinden biri haline gelir. Bu modüller çok küçüktür, neredeyse her DIY projesine kablosuz bir arayüz eklemenize izin verir.
    NRF24L01 + alıcı-verici modülü, dünya çapında 2,4 GHz ISM frekans bandında çalışacak şekilde tasarlanmıştır ve veri iletimi için GFSK modülasyonunu kullanır. Veri aktarım hızı 250kbps, 1Mbps ve 2Mbps’den biri olabilir. 2,4 GHz bant, lisanssız düşük güçlü cihazların kullanımı için uluslararası olarak ayrılmış Endüstriyel, Bilimsel ve Tıbbi (ISM) bantlardan biridir. Kablosuz telefonlar, Bluetooth cihazları, yakın alan iletişimi (NFC) cihazları ve kablosuz bilgisayar ağları (WiFi), tümü ISM frekanslarını kullanır.
    Modülün çalışma voltajı 1,9 ila 3,6 V arasındadır, ancak iyi haber mantık pimlerinin 5 volt toleranslı olmasıdır, bu yüzden herhangi bir mantık seviyesi dönüştürücü kullanmadan bir Arduino’ya veya herhangi bir 5V mantık mikrodenetleyicisine kolayca bağlayabiliriz. Modül programlanabilir çıkış gücü vizini destekler. 0 dBm, -6 dBm, -12 dBm veya -18 dBm’dir ve 0 dBm’de iletim sırasında inanılmaz bir şekilde yaklaşık 12 mA tüketir, bu da tek bir LED’den bile daha düşüktür. Ve en iyisi, bekleme modunda 26 µA ve güç kapama modunda 900 nA tüketir. Bu nedenle düşük güçlü uygulamalar için kablosuz cihazlardır.
    NRF24L01 + alıcı-verici modülü, maksimum 10 Mb / sn veri hızı ile 4 pimli Seri Çevresel Arabirim (SPI) üzerinden iletişim kurar. Frekans kanalı (125 seçilebilir kanal), çıkış gücü (0 dBm, -6 dBm, -12 dBm veya -18 dBm) ve veri hızı (250kbps, 1Mbps veya 2Mbps) gibi tüm parametreler SPI arabirimi üzerinden yapılandırılabilir. SPI veri yolu bir Master ve Slave kavramını kullanır, çoğu yaygın uygulamada Arduino’muz Master ve nRF24L01 + alıcı-verici modülü Slave’dir. I2C veriyolundan farklı olarak, SPI veriyolundaki slave sayısı sınırlıdır, Arduino Uno’da en fazla iki SPI slave kullanabilirsiniz, yani iki nRF24L01 + alıcı-verici modülü.
    Modül, 125 bağımsız kanalı kullanabilir ve bu da 125 bağımsız modemi bir ağda tek bir yerde bulundurma imkanı verir. Her kanalın 6 adede kadar adresi olabilir veya her ünite aynı anda 6 adede kadar başka ünite ile iletişim kurabilir.
    Şartname:
    • Frekans Aralığı 2.4 GHz ISM Bandı
    • Maksimum Hava Veri Hızı 2 Mb / s
    • Modülasyon Formatı GFSK
    • Maks. Çıkış Gücü 0 dBm
    • Çalışma Besleme Gerilimi 1,9 V – 3,6 V
    • Maks. Çalışma Akımı 13.5mA
    • Min. Akım (Bekleme Modu) 26µA
    • Lojik Girişler 5V Toleranslı
    • İletişim Aralığı 800+ m (görüş açısı)
    Veri sayfasını burada bulabilirsiniz .
    Dahili antenli nRF24L01 + kablosuz alıcı-verici modülü VS nRF24L01 + PA LNA harici antenli kablosuz alıcı-verici modülü
    NRF24L01 + çipine dayanan birçok modül mevcuttur. Dahili antenli nRF24L01 + kablosuz alıcı-verici modülünü ve harici antenli nRF24L01 + PA LNA kablosuz alıcı-verici modülünü karşılaştıralım.
    1. nRF24L01 + dahili anten ile kablosuz alıcı-verici modülü

    Dahili anten kullanır. Bu, koparmanın daha kompakt bir versiyonuna izin verir. Bununla birlikte, daha küçük anten aynı zamanda daha düşük bir iletim menzili anlamına gelir. Bu sürümle açık havada 100 metrelik bir mesafeden açık bir alanda iletişim kurabileceksiniz. İç mekandaki menziliniz hafifçe zayıflayacaktır.
    Harici antenli 2. nRF24L01 + PA LNA kablosuz alıcı-verici modülü

    Bir SMA konektörü ve bir ördek anteni ile birlikte gelir, ancak gerçek fark bu değildir. Gerçek fark, PA, LNA ve gönderme-alma anahtarlama devresini entegre eden özel bir RFX2401C çipi ile gelmesidir . Ördek anten ile birlikte bu menzil genişletici çip, modülün yaklaşık 1000 metre daha büyük bir iletim menzili elde etmesine yardımcı olur.
    PA LNA anlamı ne?

    PA açılımı Güç amplifikatörü . Sadece nRF24L01 + yongasından iletilen sinyalin gücünü arttırır. Oysa LNA , Düşük Gürültülü Amplifikatör anlamına gelir . LNA’nın işlevi, antenden son derece zayıf ve belirsiz sinyali almaktır (genellikle mikrovoltlar veya -100 dBm’nin altında) ve daha faydalı bir seviyeye (genellikle yaklaşık 0.5 ila 1V) yükseltmektir. Alma yolunun düşük gürültülü amplifikatörü (LNA) ve iletim yolunun güç amplifikatörü (PA), iki sinyali ayıran ve nispeten güçlü PA çıkışının hassas LNA girişine aşırı yüklenmesini önleyen bir dupleksleyici aracılığıyla antene bağlanır.
    NRF24L01 + alıcı-verici modülü nasıl çalışır?
    NRF24L01 + alıcı-verici modülü Kanal adı verilen belirli bir frekansta veri iletir ve alır. Ayrıca iki veya daha fazla alıcı-verici modülünün birbirleriyle iletişim kurabilmeleri için aynı kanalda olmaları gerekir. Bu kanal 2.4 GHz ISM bandında herhangi bir frekans olabilir veya daha kesin olmak gerekirse, 2.400 ila 2.525 GHz (2400 ila 2525 MHz) arasında olabilir. Her kanal 1MHz’den daha düşük bir bant genişliğine sahiptir. Bu bize 1MHz aralıklı 125 olası kanal verir. Böylece, modül 125 farklı kanal kullanabilir ve bu da 125 bağımsız kanalı tek bir yerde çalıştırabilir.

    Kanal 250kbps ve 1Mbps hava veri hızında 1MHz’den daha düşük bir bant genişliğine sahiptir. Bununla birlikte, 2Mbps hava veri hızında, 2MHz bant genişliği doldurulur (RF kanalı frekans ayarının çözünürlüğünden daha geniştir). Bu nedenle, üst üste binmeyen kanalları sağlamak ve 2Mbps modunda çapraz konuşmayı azaltmak için iki kanal arasında 2MHz aralık bırakmanız gerekir.
    Seçtiğiniz kanalın RF kanalı frekansı aşağıdaki formüle göre ayarlanır: Frek (Seçili) = 2400 + CH (Seçili). Örneğin, veri aktarımı için kanalınız olarak 108 seçerseniz, kanalınızın RF kanalı frekansı 2508MHz (2400 + 108) olur.
    NRF24L01 +, Çok Kademeli adlı bir özellik sunar. Çoklu Vericiler Tek Alıcı için bir kısaltmadır. Her bir RF kanalının mantıksal olarak Veri Boruları adı verilen 6 paralel veri kanalına ayrıldığı. Başka bir deyişle, bir veri borusu fiziksel RF Kanalındaki mantıksal bir kanaldır. Her veri hattının kendi fiziksel adresi (Veri Hattı Adresi) vardır ve yapılandırılabilir.

    Yukarıdaki resme bakarsanız, birincil alıcının aynı anda 6 farklı verici düğümünden bilgi toplayan bir hub alıcısı gibi davrandığını göreceksiniz. Hub alıcısı herhangi bir zamanda dinlemeyi durdurabilir ve verici görevi görür. Ancak bu bir seferde sadece bir boru / düğüm yapılabilir.
    NRF24L01 + alıcı-verici modülü, Enhanced ShockBurst olarak bilinen bir paket yapısı kullanır. Bu basit paket yapısı 5 farklı alana bölünmüştür.

    The original ShockBurst structure consisted only of Preamble, Address, Payload and the Cyclic Redundancy Check (CRC) fields. Enhanced ShockBurst brought about greater functionality for more enhanced communications using a newly introduced Packet Control Field (PCF).
    This new structure is great for a number of reasons. Firstly, it allows for variable length payloads with a payload length specifier, meaning payloads can vary from 1 to 32 bytes.
    Secondly, it provides each sent packet with a packet ID, which allows the receiving device to determine whether a message is new or whether it has been retransmitted (and thus can be ignored).
    Finally, and most importantly, each message can request an acknowledgement to be sent when it is received by another device.

    Orijinal ShockBurst yapısı yalnızca Giriş, Adres, Yük ve Döngüsel Artıklık Kontrolü (CRC) alanlarından oluşuyordu. Geliştirilmiş ShockBurst, yeni tanıtılan bir Paket Kontrol Alanı (PCF) kullanarak daha gelişmiş iletişim için daha fazla işlevsellik sağladı. Bu yeni yapı birkaç nedenden dolayı harika. İlk olarak, bir yük uzunluğu belirleyicisi ile değişken uzunluklu yüklere izin verir, yani yükler 1 ila 32 bayt arasında değişebilir. İkincisi, gönderilen her pakete, alıcı cihazın bir mesajın yeni olup olmadığını veya yeniden iletilip iletilmediğini (ve böylece göz ardı edilip edilemeyeceğini) belirlemesini sağlayan bir paket kimliği sağlar. Son olarak ve en önemlisi, her mesaj başka bir cihaz tarafından alındığında bir bildirim gönderilmesini talep edebilir.
    Şimdi, iki nRF24L01 + modülünün birbirleriyle nasıl işlem yaptığını daha iyi anlamak için üç senaryoyu tartışalım.
    1. Onay ve kesinti ile işlem. Bu olumlu bir senaryo örneğidir. Burada verici, alıcıya bir veri paketi göndererek bir iletişimi başlatır. Tüm paket iletildikten sonra, alındı paketinin (ACK paketi) alınmasını bekler (yaklaşık 130 µs). Alıcı paketi aldığında vericiye ACK paketi gönderir. ACK paketini alırken verici, yeni verilerin kullanılabilir olduğunu göstermek için kesme (IRQ) sinyali verir.
    2. Veri paketi ile işlem kaybedildi. Bu, iletilen paketin kaybı nedeniyle yeniden iletimin gerekli olduğu olumsuz bir senaryodur. Paket iletildikten sonra verici ACK paketinin alınmasını bekler. Verici, Otomatik Yeniden İletim-Gecikme (ARD) süresi içinde alamazsa, paket yeniden iletilir. Yeniden iletilen paket alıcı tarafından alındığında, ACK paketi iletilir ve bu da vericide kesinti oluşturur.
    3. Onay ile işlem kaybedildi. Bu yine ACK paketinin kaybedilmesi nedeniyle yeniden iletimin gerekli olduğu olumsuz bir senaryodur. Burada alıcı ilk denemede paketi alsa bile, ACK paketinin kaybı nedeniyle verici, alıcının paketi hiç almadığını düşünür. Bu nedenle, Otomatik Yeniden İletme-Gecikme süresi bittikten sonra paketi yeniden iletir. Artık alıcı, öncekiyle aynı paket kimliğini içeren paketi aldığında, atar ve ACK paketini tekrar gönderir.
    Bu paketin tamamı, mikro denetleyicinin katılımı olmadan nRF24L01 + yongası tarafından otomatik olarak yapılır.
    NRF24L01 + 2.4 GHZ RF alıcı-verici modülü aralığı nasıl geliştirilir
    1. Güç kaynağı gürültüsünü azaltın. Radyo Frekansı (RF) sinyali üreten bir RF devresi, güç kaynağı gürültüsüne karşı çok duyarlıdır . Kontrol edilmezse, güç kaynağı gürültüsü elde edebileceğiniz aralığı önemli ölçüde azaltabilir.Güç kaynağı bağımsız bir pil değilse, gücün üretilmesiyle ilişkili gürültü olması ihtimali yüksektir. Bu gürültünün sisteme girmesini önlemek için, güç kaynağı hattı boyunca nRF24L01 + modülüne fiziksel olarak mümkün olduğunca yakın bir 10 µf filtre kondansatörü yerleştirilmesi tavsiye edilir. Üstesinden gelmenin en kolay yolu, nRF24L01 için çok ucuz bir Adaptör Modülü kullanmaktır.

    Adaptör modüllerinin kendi 3.3V voltaj regülatörü ve bir dizi filtre kapasitörü vardır, böylece 5V güç kaynağı ile çalıştırabilirsiniz.
    2. Kanal frekansınızı değiştirin. Bir RF devresi için bir başka potansiyel gürültü kaynağı, özellikle aynı kanalda ayarlanmış komşu ağlarınız veya diğer elektronik cihazlardan gelen parazitiniz varsa dış ortamdır. Bu sinyallerin soruna neden olmasını önlemek için nRF24L01 + modülünüzde en yüksek 25 kanalı kullanmanızı öneririz. Bunun nedeni WiFi’nin alt kanalların çoğunu kullanmasıdır.
    3. Düşük Veri Hızı. NRF24L01 +, -94dBm olan 250Kbps hızda en yüksek alıcı hassasiyetini sunar. Ancak 2MBps veri hızında, alıcı hassasiyeti -82dBm’ye düşer. Bu dili konuşursanız, 250Kbps’deki alıcının 2Mbps’den yaklaşık 10 kat daha hassas olduğunu bilirsiniz. Bu, alıcının 10 kat zayıf bir sinyalin kodunu çözebileceği anlamına gelir. Alıcı hassasiyeti, alıcının bir RF sinyali algılayabileceği en düşük güç seviyesidir. Negatif sayının mutlak değeri ne kadar büyük olursa, alıcı hassasiyeti de o kadar iyi olur. Örneğin, −94 dBm alıcı hassasiyeti −82 dBm alıcı duyarlılığından 12 dB daha iyidir. Böylece, veri hızını düşürmek elde edebileceğiniz aralığı önemli ölçüde artırabilir. Ayrıca, çoğu projemiz için 250Kbps hız fazlasıyla yeterli.
    4. daha yüksek çıkış gücü. Maksimum çıkış gücünün ayarlanması iletişim aralığını da geliştirebilir. NRF24L01 +, çıkış gücünden birini seçmenizi sağlar. 0 dBm, -6 dBm, -12 dBm veya -18 dBm. 0 dBm çıkış gücünün seçilmesi havadan daha güçlü sinyal gönderir.
    NRF24L01 2.4GHZ RF alıcı-verici modülünün sinyalleri ve bağlantıları

    Bu modülün güç tüketimi, iletim sırasında tek bir LED’den bile daha düşük olan yaklaşık 12mA’dır. Modülün çalışma voltajı 1.9 ila 3.6V arasındadır, ancak iyi olan şey diğer pimlerin 5V mantığını tolere etmesidir, bu yüzden herhangi bir mantık seviyesi dönüştürücüsü kullanmadan onu bir Arduino’ya kolayca bağlayabiliriz.
    Bu pinlerden üçü (MISO, MOSI, SCK) SPI iletişimi içindir ve Arduino’nun SPI pinlerine bağlanması gerekir, ancak her Arduino kartının farklı SPI pinlerine sahip olduğunu unutmayın. CSN ve CE pinleri Arduino kartının herhangi bir dijital pinine bağlanabilir ve modülü bekleme veya aktif modda ayarlamak ve iletim veya komut modu arasında geçiş yapmak için kullanılır. Son pim (IRQ), kullanılması gerekmeyen bir kesme pimidir.
    GND – topraklama pimi. Arduino kartı GND pinine bağlandı.
    VCC – güç kaynağı pimi. Arduino kartına bağlı 3V3 pin
    IRQ – Maskelenebilir kesme pimi
    MISO (Master In Slave Out) – Master’a veri göndermek için Slave hattı. Üç durum seçeneğiyle SPI Slave Veri Çıkışı
    MOSI (Master Out Slave In) – Çevre birimlere veri göndermek için Master hattı. SPI Slave Veri Girişi
    CE – Chip Enable RX veya TX modunu etkinleştirir
    CSN (Chip Select Not) – SPI Chip Seçimi. Aktif-DÜŞÜK pim ve normalde YÜKSEK tutulur. Bu pim azaldığında, nRF24L01 SPI portunu veri için dinlemeye başlar ve buna göre işler.
    SCK (Seri Saat) – SPI Saati. Master tarafından üretilen veri iletimini senkronize eden saat darbeleri.
    kablolama
    Giriş voltajı 1,9V ila 3,6V arasındadır. Bu voltajı aşmayın, eğer daha fazla ise NRF24L01 modülünüz hasar görür.
    NRF24L01 + alıcı-verici modülü çok fazla veri aktarımı gerektirdiğinden, bir mikrodenetleyicideki donanım SPI pinlerine bağlandığında en iyi performansı verecektir.
    1. Ana (sunucu) kablolama

    2. Bağımlı (istemci) kablolama

    Adım Adım talimat
    1. Ana bilgisayara (sunucu) taslak yükleme (Arduino Uno 1)
    1. Kablolama yapın.
    2. Adruino Uno kartınızı PC’nize takın ve doğru kart ve com bağlantı noktasını seçin.
    3. Sunucu kroki1’inizi doğrulayın ve Adruino Uno’nuza yükleyin .
    2. Taslağa köle (istemci) yükleniyor (Arduino Uno 2)
    1. Kablolama yapın.
    2. Adruino Uno kartınızı PC’nize takın ve doğru kart ve com bağlantı noktasını seçin.
    3. Client sketch1’i doğrulayın ve Adruino Uno’nuza yükleyin .
    3. İletişimin kurulması
    1. PuTTY.org’dan PuTTY istemcisini indirmeniz ve yüklemeniz gerekir .
    2. Kodu Arduino Uno 1 ve Arduino Uno 2’ye yüklediğinizde, müşteri bir mesaj gönderecektir: “Merhaba Dünya!” ve sunucuya istemciye aşağıdaki iletiyi geri gönderiyor: “merhaba”. Bu mesajlar seri monitörde görüntülenir.
    3.
    özet
    NRF24L01 kablosuz alıcı-verici modülü, nasıl çalıştığını ve Arduino kartı ile arayüz hakkında bilgi edindik. nRF24L01 kablosuz alıcı-verici modülleri, alıcı ve verici birbirine yakın olduğunda çok iyi çalışır. Eğer onları çok uzağa yerleştirmiş olursanız, iletişimi kaybedersiniz. İletişim aralığı da değişir. Herhangi bir engel olup olmadığına ve harici bir anten kullanıp kullanmadığınıza ortamınızda ne kadar gürültü bağlı olduğuna bağlı olacaktır.
    Birden fazla düğüme sahip olabilir ve birden fazla istemciye izin vermek için farklı aygıt adresleri ayarlayabilirsiniz.Kütüphane, bu kavramı kullanmanıza yardımcı olacak bir örnekle birlikte gelir.Arduino IDE’nizde yüklü olan kütüphaneyi tutmak. Git Dosya -> Örnekler -> Radiohead -> nrf24 ve bu örnekleri “kullanmak nrf24_reliable_datagram_client ” ve ” nrf24_reliable_datagram_server “. Koda bakarsanız, her cihaz için farklı adresler ayarlayabilirsiniz. Bununla ilgili daha fazla bilgiyi burada bulabilirsiniz .
    Arduino Mega kartını kullanmak istiyorsanız, pinleri değiştirmelisiniz: Arduino Mega’da 10-> 53, 13-> 52, 11-> 51, 12-> 50 ve bunun yerine aşağıdakileri kullanarak (kodda 7. satır) başlatın: RH_NRF24 nrf24 (8, 53); //mega
    Kütüphaneler:
    • Bu proje açıklamasının başlangıcındaki eklere bakın
    • RadioHead kütüphanesi dahildir. PC’nizdeki kütüphaneleri indirin, sıkıştırın ve ekleyin: örneğin C: \ Users \ toshiba \ Documents \ Arduino \ libraries veya C: \ Program Files (x86) \ 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 burada bulabilirsiniz . Piyasada bulunan hemen hemen tüm RF modülleriyle çalışır.
    Proje kaynakları:

    unknown NRF24L01_ARDUINO.pdf____indir

    • Bu proje açıklamasının başlangıcındaki eklere bakın

  • BME280 sıcaklık sensör modülü ile  Arduino Uygulaması

    Proje adı: BME280 sıcaklık sensör modülü ile  Arduino Uygulaması
    Etiketler: Arduino, Arduino Uno, BME280, BME280 sensörü, nem, sıcaklık, basınç, rakım, GY-BME280, Dijital Sensör, SPI I2C Nem Sıcaklığı ve Barometrik Basınç Sensörü Modülü, GY-BME280-3.3
    Ekler: I2Cscannersketch , bme280testsketch1 , kütüphane1 ve kütüphane2
    Bu projede şu parçalara ihtiyacınız vardı:
    1.Aruduino Uno R3 (Arduino’nun diğer sürümünü de kullanabilirsiniz)

    2.Arduino IDE (siz indirebilirsiniz burada )
    3. Bağlantı kablosu MM

    4. Breadboard 1 adet

    5. BME280 sensör modülü 1 adet

    Genel
    Arduino kartlı BME280 sensör modülünden basınç, sıcaklık ve nemin nasıl alınacağını öğreneceğiz.
    BME280 modülünü anlama
    BME280, Bosch’un yeni nesil sensörleridir ve 0,25 m’lik düşük rakım gürültüsü ve aynı hızlı dönüşüm süresiyle BMP085 / BMP180 / BMP183’e yükseltmedir.

    BME280 sensör modülü sıcaklık, nem ve basıncı okur. Basınç yükseklikle değiştikçe yüksekliği de tahmin edebilirsiniz.
    Sensör, SPI (3-, 4 telli SPI’yı destekler) veya I2C iletişim protokollerini kullanarak iletişim kurabilir (bu sensörün sadece I2C ile iletişim kuran modülleri vardır, bunlar sadece dört pimli gelir).
    Sensör, yerleşik bir LM6206 3.3V regülatörü ve I2C Voltaj Seviyesi Çeviricisi ile birlikte gelir, böylece Arduino gibi bir 3.3V veya 5V mantık mikrodenetleyici ile endişelenmeden kullanabilirsiniz.
    BME280 ölçümler sırasında 1mA’dan az, boşta ise sadece 5μA tüketir. Bu düşük güç tüketimi, ahizeler, GPS modülleri veya saatler gibi pille çalışan cihazlarda uygulamaya izin verir.
    Özellikler:
    • Besleme Gerilimi: 1.8 – 5V DC
    • Arayüz: I2C (3.4MHz’e kadar), SPI (10 MHz’e kadar)
    • Çalışma Aralığı: Sıcaklık: -40 ila + 85 ° C
    • Nem oranı:% 0-100
    • Basınç: 300-1100 hPa
    • Çözünürlük: Sıcaklık: 0.01 ° C Nem: 0.008% Basınç: 0.18Pa
    • Doğruluk: Sıcaklık: + -1 ° C Nem: + -3% Basınç: + -1Pa
    • I2C adresi SDO LOW: 0x76 SDO YÜKSEK: 0x77
    Modül, seçtiğiniz herhangi bir mikrodenetleyici ile kolayca arayüzlenebilen basit bir iki telli I2C arayüzüne sahiptir. BME280 modülünün varsayılan I2C adresi 0x76’dır ve çip dışındaki lehim atlama teli ile kolayca 0x77 olarak değiştirilebilir .
    I2C Adresi nasıl değiştirilir?
    1. Yonga dışında lehim atlama telini bulun. Varsayılan olarak orta bakır ped sol pede bağlıdır.
    2. Keskin bir bıçak kullanarak olanların bağlantısını kesmek için orta ve sol bakır ped arasındaki bağlantıyı çizin.
    3. Onlara katılmak için orta ve sağ bakır ped arasına bir lehim blob ekleyin. I2C adresini 0x77 ayarlamanızı sağlar.

    BME280 sensör modülünün sinyalleri ve bağlantıları
    SPI iletişim protokolünü kullanmak için aşağıdaki pinlere sahip olmalısınız:
    VIN – güç kaynağı 3.3V DC
    GND – öğütülmüş
    CLK (veya SCK veya SCL ) (Seri Saat) – Master tarafından üretilen veri iletimini senkronize eden saat darbeleri
    MISO (veya DO veya SO veya SDO ) (Master In Slave Out) – Master’a veri göndermek için Slave hattı
    MOSI (veya DI veya SI veya CMD veya SDI veya SDA ) (Master Out Slave In) – Çevre birimlere veri göndermek için Master hattı
    CS (veya SS veya D3 veya CSB ) (Chip Select veya Slave Select) – master’ın belirli cihazları etkinleştirmek ve devre dışı bırakmak için kullanabileceği her cihazdaki pin
    BME280 sensör modülünüzde 4 pim varsa, yalnızca I2C iletişim protokolünü kullanabilir:
    VIN – güç kaynağı 3.3V DC
    GND – öğütülmüş
    SDA – Seri Veri Hattı
    SCL – Seri Saat Hattı
    kablolama
    Bağlantılar çok basit. VIN pinini Arduino’daki 5V çıkışına bağlayın ve GND’yi toprağa bağlayın.
    Her Arduino Kartında buna göre bağlanması gereken farklı I2C pinleri bulunduğunu unutmayın. R3 mizanpajlı Arduino kartlarında, SDA (veri hattı) ve SCL (saat hattı) AREF pimine yakın pim başlıklarında bulunur. A5 (SCL) ve A4 (SDA) olarak da bilinirler.
    Arduino Nano’nun A5 (SCL) ve A4 (SDA) özellikleri vardır. Arduino Mega ve Leonardo / Micro’nuz varsa, pimler farklıdır! Arduino Mega – 21 (SCL) ve 20 (SDA), Leonardo / Micro – 3 (SCL) ve 2 (SDA)

    kod
    Eskiz dört kütüphane viz dahil etmek ile başlar. Wire.h, SPI.h, Adafruit_Sensor.h ve Adafruit_BME280.h.
    Daha sonra, yüksekliği hesaplamak ve Adafruit_BME280 kütüphanesinin bir nesnesini oluşturmak için gerekli SEALEVELPRESSURE_HPA değişkenini tanımlarız, böylece onunla ilgili işlevlere erişebiliriz.
    Kodun kurulum bölümünde PC ile seri iletişimi başlatır ve begin () işlevini çağırırız.
    Begin (I2C_ADDR) işlevi, modülün I2C adresini parametre olarak alır. Modülünüzün farklı I2C adresi varsa veya değiştirdiyseniz, doğru bir şekilde belirtmeniz gerekir. Bu işlev verilen I2C Adresi ile I2C arayüzünü başlatır ve çip kimliğinin doğru olup olmadığını kontrol eder. Daha sonra yumuşak sıfırlama kullanarak çipi sıfırlar ve uyandıktan sonra sensörün kalibrasyonunu bekler.
    Kodun döngü bölümünde, BME280 modülünden sıcaklık, bağıl nem ve barometrik basıncı okumak için aşağıdaki işlevleri kullanırız.
    readTemperature () işlevi, sensörden sıcaklığı döndürür.
    readPressure () işlevi sensörden barometrik basıncı döndürür.
    readAltitude (SEALEVELPRESSURE_HPA) işlevi, belirtilen atmosfer basıncından (hPa cinsinden) ve deniz seviyesi basıncından (hPa cinsinden) yüksekliği (metre cinsinden) hesaplar.
    readHumidity () işlevi sensörden bağıl nemi döndürür.
    Adım Adım talimat
    1. Kablolama yapın.
    2. Arduino IDE’yi açın.
    3. Adruino Uno kartınızı PC’nize takın ve doğru kart ve com bağlantı noktasını seçin.
    4. BME280 I2C adresinizi bulun. Her cihazın komutları kabul etmek veya mesaj göndermek için kullandığı bir I2C adresi vardır. I2Cscannersketch’i derleyin ve Arduino kartınıza yükleyin .
    5. Seri Monitörü 115200 baud hızında açın. Arduino bir yanıt arayan adres aralığını tarayacaktır. Belgeler 0x77 olduğunu söylemesine rağmen, bu tarayıcı farklı algılayabilir (bizim durumumuzda 0x76). Adafruit_BME280 kütüphanesi varsayılan I2C adresini 0x77 vardır ve 0x76 alıyorsanız eğer kod satırını değiştirmek gerekebilir bme280testsketch1 : ) (bme.begin = statü; status = bme.begin (0x76);
    6. Bme280testsketch1’i doğrulayın ve Adruino Uno kartınıza yükleyin .
    7. Seri Monitörü 115200 baud hızında açın. Sensördeki okumaları şimdi görebilirsiniz.

    özet
    Arduino kartlı BME280 sensör modülünden basınç, sıcaklık ve nemin nasıl alınacağını öğrendik.
    Kütüphane:
    • Bu proje açıklamasının başlangıcında ekli tüm kütüphaneler.
    • Tel kütüphanesi Arduino IDE’nize dahildir.
    Adafruit BME280 kütüphanesi dahil. 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 .
    • Adafruit_Sensor kütüphanesi dahil. 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 .

    unknown arduino_BME280_sicaklik_sensoru.pdf—–indir

    • Bu proje açıklamasının başlangıcındaki eklere bakın.

  • 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

  • Arduino ile  Step Motor Kontrolü Nasıl Yapılır

    Arduino ile  Step Motor Kontrolü Nasıl Yapılır
    Proje adı: Arduino motor kalkanı R3, unipolar veya bipolar step step motor 5V / 6V
    Etiketler: Arduino motor kalkanı R3, unipolar veya bipolar step motor, 5V / 6V, Arduino Uno
    Ataşmanlar: steppermotorsketch1 , steppermotorsketch2

    unknown step_motor.pdf—-indir

     

    Etiketler: Arduino, Arduino motor kalkanı R3, unipolar, bipolar step step motor 5V / 6V
    Bu projede şu parçalara ihtiyacınız vardı:
    1.Aruduino Uno R3 1 adet (Arduino’nun diğer sürümünü de kullanabilirsiniz)

    2.Arduino motor kalkanı R3 1 adet

    3.Arduino IDE (siz indirebilirsiniz burada )
    4. atlama kabloları

    5. Step motor 5V / 6V DC 1 adet

    6. Harici motor DC güç kaynağı 1 adet

    Genel
    Arduino motor kalkan R3’ü Arduino kartına nasıl bağlayacağımızı ve tek kutuplu veya bipolar step motor 5V / 6V ile kullanmayı öğreneceğiz.
    Adım motorunu anlama
    Step motor nedir?
    Her seferinde bir adım hareket eden ve her adım bir adım açısı ile tanımlanmış bir dijital elektrik motoru. Step motor hareketleri dönüşü sırasında belirgin adımlardır. Her adım bir adım açısı ile tanımlanır. Aşağıdaki örnekte, rotorun 360 derece tam bir dönüş yapması için 4 ayrı adım olduğunu fark edebilirsiniz. Adım açısında 90 derecede tanımlar. Step motor gizli hareket ettiğinden, step motorun aslında dijital bir motor olduğunu söyleyebiliriz. Bu karakteristik, mikrodenetleyici ile entegre olan dijital arayüzler için çok uygundur.

    Adım motorları basit DC motorlara benzemez ve sadece DC voltaj sağlayarak çalıştırılamaz. Bir devrenin hızını ve yönünü kontrol etmek için sürücü devresi ve mikrodenetleyici gerekir.
    Bir step motorla, belirli bir açıyı “adımlandırabilirsiniz”. Ayrıca, kademeli motorun tutma torkuna sahip olma avantajı vardır. Kıskaçlar hareket etmediklerinde pozisyonlarını tutabilirler.
    Step motorlar iki çeşittir: tek kutuplu veya iki kutuplu.
    Bipolar motorlar en güçlü step motor tipidir ve genellikle dört ucu vardır. Dahili olarak iki set elektromanyetik bobin vardır ve bu bobinler içindeki akımın yönünü değiştirerek adımlama elde edilir.
    5, 6 veya hatta 8 kablo ile tanımlanabilen tek kutuplu motorlarda da iki bobin vardır, ancak her birinin bir orta musluğu vardır. Tek kutuplu motorlar, bobinlerdeki akım yönünü tersine çevirmek zorunda kalmadan adım atabilir ve elektronikleri daha basit hale getirir. Ancak, merkez musluk her seferinde her bir bobinin sadece yarısına enerji vermek için kullanıldığından, tipik olarak iki kutupludan daha az torka sahiptirler.
    Tek kutuplu motorlar tipik olarak faz başına iki bobine sahiptir, biri manyetik alanın her yönü için.
    Bipolar motorlar tipik olarak faz başına bir bobine sahiptir ve akım bu bobin üzerinden her iki yönde akar. Böylece, iki kutuplu motor iki kat daha fazla tork üretebilecektir, çünkü herhangi bir zamanda, tek kutuplu motor sargılarının sadece yarısını kullanıyor.
    Tek kutuplu step motorlar genellikle 6 telden oluşur, her bir bobin fazının bir orta musluk vardır. Orta kademe (ortak) kabloların her ikisi de birbirine bağlanırsa, 5 telli tek kutuplu olur. Tek kutuplu step motoru bipolar step motora (4 tel) dönüştürmek için, merkez muslukları (2 tel) bağlı bırakmayın.

    Burada ve burada onlar hakkında daha fazla bilgi edinebilirsiniz .
    Step motor Nema 17 DC 6V kullanacağız.
    1. Nema 17 tek kutuplu step motor DC 6V şartname
    • İmalatçı Ürün Numarası: 17HM15-0806S
    • Motor Tipi: Tek Kutuplu Step
    • Basamak Açısı: 0.9 derece
    • Tutma Torku: 26Ncm (36.8oz.in)
    • Anma Akımı / fazı: 0.8A
    • Gerilim: 6V
    • Faz Direnci: 7.5ohms
    • Endüktans: 7.5mH ±% 20 (1KHz)
    • Çerçeve Boyutu: 42 x 42mm
    • Vücut Uzunluğu: 39mm
    • Mil Çapı: Φ5mm
    • Şaft Uzunluğu: 24mm
    • D-cut Uzunluğu: 15mm
    • Potansiyel Satış Sayısı: 6
    • Kurşun Uzunluğu: 500mm
    • Ağırlık: 300g
    Ek bilgilere buradan bakın .
    Arduino motor kalkan R3’ü anlama
    Arduino Motor Shield, Arduino kartınızın DC ve step motorları, röleleri ve solenoidleri çalıştırmasını sağlar.
    Arduino Motor Shield, röleler, solenoidler, DC ve step motorlar gibi endüktif yükleri çalıştırmak için tasarlanmış çift tam köprü sürücüsü olan L298’e dayanmaktadır. Arduino kartınızla iki DC motoru sürmenizi sağlar, her birinin hızını ve yönünü bağımsız olarak kontrol eder. Diğer özelliklerin yanı sıra her motorun motor akımı emilimini de ölçebilirsiniz. Kalkan TinkerKit uyumludur (Tinkerkit girişleri, çıkışları ve iletişim hatlarının eklenmesi için 6 başlık), yani TinkerKit modüllerini panoya takarak hızlı bir şekilde projeler oluşturabilirsiniz.
    Arduino pimlerini basitçe ele almanıza izin vererek Arduino Motor Shield, projenize bir motor eklemeyi çok kolaylaştırır. Ayrıca, 12v’a kadar ayrı bir güç kaynağına sahip bir motora güç verebilmenizi sağlar.
    Motor Kalkanı sadece harici bir güç kaynağı ile çalıştırılmalıdır. Kalkan üzerine monte edilmiş L298 IC’nin biri mantık diğeri motor besleme sürücüsü için olmak üzere iki ayrı güç bağlantısı vardır. Gerekli motor akımı genellikle maksimum USB akım oranını aşıyor. Harici (USB olmayan) güç, AC-DC adaptöründen (duvar siğili) veya pilden gelebilir. Adaptör, motor muhafazasının monte edildiği Arduino’nun kart güç jakına 2.1 mm merkez pozitif bir fiş takarak veya güç kaynağını Vin ve GND vida terminallerine yönlendiren kabloları bağlayarak, kutupluluklar. Kalkanın monte edildiği Arduino kartında olası hasarı önlemek için, 7 ile 12V arasında voltaj sağlayan harici bir güç kaynağı kullanmanızı öneririz. Motorunuz 9V’den daha fazlasına ihtiyaç duyuyorsa, kalkanın güç hatlarını ve kalkanın monte edildiği Arduino kartını ayırmanızı öneririz. Bu, kalkanın arka tarafına yerleştirilen “Vin Connect” anahtarını keserek mümkündür. Vidalı terminallerdeki Vin için mutlak sınır 18V’dir.
    Şartname
    • Çalışma Gerilimi 5V – 12V
    • Motor kontrolörü L298P, 2 kanal – 2 DC motor veya 1 step motorla çalışır
    • Kanal başına maksimum akım 2A veya toplam maksimum 4A (harici güç kaynağı ile)
    • Akım algılama 1.65V / A
    • Serbest çalışma durdurma ve fren fonksiyonu
    Step motor Nema 17 sinyal ve bağlantıları
    1. tek kutuplu step motor (çok bipolar olabilir). Projede kullanılır

    2.Bipolar step motor (Aynı yapımcı ancak farklı tel renkleri)

    Arduino motor ekran R3’ün sinyalleri ve bağlantıları
    Güç pimleri:
    Ekran, kanal başına maksimum 2 amper için 2 amper sağlayabilir.
    Vidalı terminal bloğundaki Vin , blendaja bağlı motora giriş voltajıdır. Bu pime bağlı harici bir güç kaynağı da monte edilen Arduino kartına güç sağlar. “Vin Connect” bağlantı telini keserek, bunu motor için özel bir güç hattı haline getirmiş olursunuz.
    GND Vidalı terminal bloğundaki toprak.
    Giriş ve çıkış pimleri:
    Bu kalkanın A ve B adı verilen iki ayrı kanalı vardır,
    her biri sürüş veya algılamak için 4 Arduino pimini kullanıyor
    motor. Toplamda bu kalkan üzerinde 8 pim var.
    İki DC’yi sürmek için her kanalı ayrı ayrı kullanabilirsiniz
    motorlar veya tek kutuplu bir step sürmek için bunları birleştirin
    motor.
    Kalkanın kanala bölünen pimleri aşağıdaki tabloda gösterilmektedir:

    Fren ve Akım Algılamaya ihtiyacınız yoksa ve uygulamanız için daha fazla pime ihtiyacınız varsa, kalkanın arka tarafındaki ilgili jumper’ları keserek bu özellikleri devre dışı bırakabilirsiniz.
    Kalkan üzerindeki ek soketler aşağıdaki gibi tanımlanmıştır:
    • Motorları ve güç kaynaklarını bağlamak için vidalı terminal.
    • 2 İki Analog Giriş (beyaz)) için A2 ve A3’e bağlı TinkerKit konektörleri.
    • 2 D5 ve D6 pimlerindeki PWM çıkışlarına bağlı iki Aanlog Çıkışı için TinkerKit konektörleri (ortada turuncu).
    • 2 TWI arabirimi için TinkerKit konektörleri (4 pimli beyaz), biri giriş diğeri çıkış için.

    Her bir A ve B kanalı için (+) ve (-) vidalı terminallere her birinin iki kablosunu bağlayarak iki DC motor çalıştırabilirsiniz. Bu şekilde, YÜKSEK veya DÜŞÜK Yönü (DIR A) ayarlayarak yönünü kontrol edebilirsiniz. ve DIR B) pinleri, PWM A ve PWM B görev döngüsü değerlerini değiştirerek hızı kontrol edebilirsiniz. Fren A ve Fren B pimleri, YÜKSEK olarak ayarlanırsa, DC motorları gücü keserek yavaşlatmak yerine etkili bir şekilde frenler. Akım Algılama (SNS0 ve SNS1) pimlerini okuyarak DC motordan geçen akımı ölçebilirsiniz. Her kanalda analogRead () işlevi aracılığıyla normal bir analog giriş olarak okunabilen ölçülen akımla orantılı bir voltaj olacaktır.A0 ve A1 analog girişlerinde. Size kolaylık sağlamak için, kanal mümkün olan maksimum akımı, yani 2A iletirken 3,3V olacak şekilde kalibre edilmiştir.
    kablolama
    Resmi Arduino motor kalkanının pimleri sadece Arduino Uno Rev.3 ile hizalanacaktır. 3. Arduino’nun eski sürümleriyle çalışmasını sağlamak için motor kalkanından birkaç pimi kesmeniz gerekecektir. Ancak, bu kesinlikle tavsiye edilmez. Motor kalkan pimlerini Arduino Uno’nun soketine takın.

    Aşağıdaki resimde Arduino Uno ile gerekli bağlantılar gösterilmektedir:
    1. Bipolar step motorlar tipik olarak iki bobine karşılık gelen 4 pime sahiptir. Bir step motor kullanmak için, bu iki bobini faz halinde alternatif polarite ile çalıştırmanız gerekir. Hangi iki pimin tek bir bobini oluşturduğunu anlamak için soketindeki iki pime bir LED takın ve motor milini döndürün. LED yanıyorsa, bir bobin buldunuz. Diğer iki pim diğer bobini oluşturmalıdır.

    2. Tek kutuplu kademeli motorlar genellikle 6 telli olup, her bir bobin fazının bir orta musluk vardır. Orta kademe (ortak) kabloların her ikisi de birbirine bağlanırsa, 5 telli tek kutuplu olur. Tek kutuplu step motoru bipolar step motora (4 tel) dönüştürmek için, merkez muslukları (2 tel) bağlı bırakmayın. Hangi iki pimin tek bir bobini oluşturduğunu anlamak için soketindeki iki pime bir LED takın ve motor milini döndürün. LED yanıyorsa, bir bobin buldunuz. Diğer iki pim diğer bobini oluşturmalıdır.

    Adım Adım talimat
    1. Arduino motor koruması R3’ü Arduino Uno kartının üstüne yerleştirin.
    2. Kablolama yapın.
    3. Arduino IDE’yi açın.
    4. Adruino Uno kartınızı PC’nize takın ve doğru kart ve com bağlantı noktasını seçin
    5. Seri monitörü açın ve baud’unuzu 9600 baud’a ayarlayın
    6. Taslağı doğrulayın ve Adruino Uno’nuza yükleyin
    özet
    Arduino motor kalkan R3’ü Arduino kartına nasıl bağlayacağımızı ve tek kutuplu veya bipolar step motor 5V / 6V ile kullanmayı öğrendik.
    Kütüphaneler:
    • Bu proje için kütüphane gerekmez.
    Sketch:
    • Bu proje açıklamasının başlangıcındaki eklere bakın.

  • Arduino akıllı robot araba nasıl yapılır Projesi

    Proje adı: 4WD akıllı robot araba nasıl yapılır Bölüm 4 – Bluetooth HC-05 HC-06, L298N H-Bridge
    Etiketler: Arduino, 4WD akıllı robot araba, Arduino Uno R3, L298N H-Bridge motor sürücü modülü, LED, Bluetooth modülü HC-05, Bluetooth modülü HC-06, ZS-40, aktif piezo buzzer, yazılım seri
    Ekler:

    unknown ROBOT_ARDUINO.pdf—–indir

    4WDcarBluetoothHC05ZS40ATcommandssketch
    4WDcarBluetoothHC06ZS40ATcommandssketch
    4WDcarBluetoothHC05sketch
    4WDcarBluetoothHC06sketch
    4WDcarBluetoothHC05softsketch
    4WDcarBluetoothHC06softsketch
    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. Bluetooth modülü HC-05, HC-06 2 adet

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

    5. Breadboard 1 adet

    6. Direnç 8 adet (1 adet 1 KOhm, 1 adet 2KOhm ve 6 adet 220 Ohm)

    7.4WD akıllı robot araba seti 1 adet

    8. L298N H-Köprü motor sürücü modülü (gördüğünüz gibi biraz farklı olabilir ama aynı çalışma prensibi var) 1 adet

    9. 6 x 1.5 V AA Pil Kutusu Kasa Tutucu ile 6 adet 1.5 V AA piller veya şarj edilebilir 7.2 V Güç Kaynağı (6 x 1.2 V 1900 mAh) motor sürücü modülü kaynağı için 1 adet

    10. Arduino kurulu güç kaynağı, +7 ila + 12 V DC (biz 9 V Pil Klip ve Namlu Jack ile 9 V pil kullanılan) veya 5 V + DC olabilir
    veya
    11. LED 6 adet (ön ışıklar için 2 adet beyaz, arka ışıklar için 2 adet kırmızı, sola dönüş için 1 adet sarı, sağa dönüş için 1 adet mavi)

    12. Aktif Piezo buzzer 1 adet

    13. güç anahtarı 1 adet

    14. Havya

    Genel
    Farklı bileşenleri nasıl bağlayacağımızı ve Bluetooth kontrollü 4WD akıllı robot arabasını nasıl yapacağımızı öğreneceğiz. HC-05 ve HC-06 ZS-40 bluetooth modüllerini kullanacağız. Ayrıca kolay programlama için seri yazılım kullanacağız.
    ROBOT NEDİR?
    Robot, çevresine bir şekilde tepki verebilen ve belirli bir görevi yerine getirmek için otonom kararlar veya eylemler gerçekleştirebilen bir elektromekanik cihazdır.
    Bir robot aşağıdaki bileşenlerden oluşur:
    1. Yapı / Şasi
    2. Aktüatör / Motor
    3. Denetleyici
    4. Girişler / Sensörler
    5. Güç Kaynağı
    Yapısı fiziksel bileşenden oluşur. Bir robotun görevi gerçekleştirmek için bir şekilde hareket eden bir veya daha fazla fiziksel bileşeni vardır. Bizim durumumuzda Şasi ve tekerlekler robotun yapısıdır.
    “ Aktüatör ” enerjiyi (robotikte, bu enerjinin elektrik olma eğilimindedir) fiziksel harekete dönüştüren bir cihaz olarak tanımlanabilir. Aktüatörlerin çoğu dönme veya doğrusal hareket üretir. Bizim durumumuzda aktüatör DC dişli motorudur. Temel olarak, motorun hızını azaltmak ve torku arttırmak için çalışan bir şanzıman ile birleştirilmiş bir DC motordur. Örnek: 3000 rpm hız ve 0,002 Nm torka sahip bir DC motor. Şimdi buna dişli oranı 1:48 olan bir dişli ekliyoruz. Yeni hız bir faktör 48 azalır (sonuç olarak 3000/44 = 68 rpm) ve tork 48 faktör artırılır (sonuç 0.002 x 48 = 0.096 Nm).
    Yapısı ve Aktüatörler olmadan Kontrolör şey ifade etmiyor. Robotunuz hala tek bir yerde oturacak. Hayatsız bir insan gibi. Bu yüzden robotu bir yerden bir yere taşımak için bir Kontrolörün (beyin) ihtiyacı vardı. Bir programı çalıştırabilen bir bilgi işlem cihazıdır ve tüm hesaplama, karar verme ve iletişimden sorumludur. Bizim durumumuzda Kontrolör olarak Arduino Uno mikrodenetleyici kullanıyoruz. Kontrolör girişi (sensörler, uzaktan kumanda vb.) Alır, işler ve ardından aktüatöre (motor) istenen görevi yerine getirmesi için bir komut verir.
    İnsanlardan farklı olarak, robotlar sadece görme, ses, dokunma, koku ve tat ile sınırlı değildir. Robotlar , dış dünyayla etkileşim kurmak için farklı Sensörler kullanır. Sensör, fiziksel ortamdan bir tür girişi algılayan ve bunlara yanıt veren bir cihazdır. Spesifik girdi ışık, ısı, hareket, nem, basınç veya çok sayıda diğer çevresel olaydan herhangi biri olabilir. Girişler sensörler, IR uzaktan kumanda veya akıllı telefon / tablet / PC arasında olabilir. IR uzaktan kumandayı 4WD akıllı robot arabasını kontrol etmek için bir giriş cihazı olarak kullanacağız.
    Bir robotun aktüatörleri (motorları) ve kontrol cihazını çalıştırmak için bir Güç kaynağına ihtiyacı vardır . Robotların çoğu pil ile çalışır. Pil hakkında konuştuğumuzda, birçok seçenek var:
    • AA Alkalin Pil (Şarj Edilemez)
    • AA NiMh veya NiCd Pil (Şarj Edilebilir)
    • Li Ion Batarya
    • LiPo Batarya
    Yani gereksinime göre uygun olanı seçin. Bize göre her zaman şarj edilebilir ve yeterli kapasiteli bir pil seçin.
    HC-05, HC-06 Bluetooth modüllerini anlama
    Burada onlar hakkında daha fazla bilgi edinebilirsiniz .
    Bileşenler hakkında faydalı bilgiler
    1. nasıl 4WD akıllı robot araba montajı hakkında bilgi bulabilirsiniz 4WD akıllı robot araba Bölüm 1 nasıl inşa edilir .
    2. L298N H-Bridge motor sürücü modülünü anlama
    Daha fazla bilgiyi buradan okuyabilirsiniz .
    3. DC motorunu anlama
    Daha fazla bilgiyi buradan okuyabilirsiniz .
    LED sinyalleri ve bağlantıları
    LED’in çalışma voltajı 1.8V ve çalışma akımı 10mA-20mA’dır. Arduino Uno kartı 5V veya 3.3V güç sağlayabilir. Bu proje için 5V kullanacağız, bu nedenle akım sınırlama direncinin minimum direnci (5 V ila 1.8 V) / 20 = 160 Om olmalıdır. Kitte sunulan 220 Om uygundur ve ayrıca koşulu karşılayan diğer dirençleri de seçebilirsiniz. Direnç büyüdükçe LED sönükleşir.
    Aktif piezo buzzer sinyalleri ve bağlantıları
    (+) İşareti ile işaretlenmiş aktif piezo zil pimi, sinyal gönderen Arduino Uno kartı dijital pimine, aktif piezo zilinin diğer pimi Arduino Uno kartı GND’sine bağlanmalıdır.
    HC-05, HC-06 Bluetooth modüllerinin sinyalleri ve bağlantıları
    Bu projede HC-05 ZS-40 ve HC-06 ZS-40 Bluetooth modüllerini kullanacağız. Onlar ve Bluetooth modülleri HC-05 FC-114 ve HC-06 FC-114 hakkında daha fazla bilgiyi burada bulabilirsiniz .
    Devreyi oluşturun
    Aşağıdaki resimde Arduino Uno ile gerekli bağlantılar gösterilmektedir.
    1. Kablolama donanım seri

    2. Kablolama yazılımı seri

    Adım Adım talimat
    “Boş” taslak, Leonardo, Micro, Zero, vb.Gibi “yerel USB” tabanlı Arduinos için çalışmaz! Kullan
    Bunun yerine Leo_passthru kroki!
    1. 4WD robot araç şasisini (taban) monte edin. Bkz . 4WD akıllı robot araba nasıl yapılır Bölüm 1 (1’den 19’a kadar STEPS).
    2. L298N H-Bridge motor sürücü modülünü, iki orta boy ve iki küçük boy cıvata kullanarak robot şasinin alt kısmına takın.
    3.
    4.
    5.
    6.
    7. Hız kontrolü ile dört DC motor konfigürasyonu yapacağız. L298N H-Bridge motor sürücü modülü mantığı ve tüm DC motorlara 7.2V güç kaynağından güç verilecektir.
    8. 5V_EN (5V) regülatör anahtarını ayarlayın, ENA üzerindeki jumper’ları ve motor sürücü kartındaki + 5V , ENB ve + 5V’yi çıkarın . Motor polaritesini akü takımına bağlayarak kontrol edebilirsiniz. İleri yönde dönerse (akünün eksi kutbu pozitif ve siyah kablo ile kırmızı kablo), bağlantı tamam demektir. Hız kontrolü için PWM pin kullanmanız gerektiğini unutmayın (3,5,6,9,10,11 olabilir) – ENA, ENB, PWM pinlerine bağlanmalıdır.
    9.
    10. Motor bağlantı kartının ENA, IN1, IN2, IN3, IN4, ENB pinlerine 6 jumper kablo FM takın.
    11.
    12.
    13. Motor sürücü modülünün güç terminaline takın 1 adet pozitif bağlantı kablosu MM (erkekten erkeğe) ve 2 adet negatif (GND) bağlantı kablosu MM (erkekten erkeğe)
    14.
    15. Robot kasasının üst kısmını dört orta boy cıvata ile takın. Aktarma kablolarını çıkarın.
    16.
    17.
    18. Arduino Uno kartını iki bakır yaka, iki orta boy cıvata ve iki küçük boy cıvata kullanarak robot şasisinin üst kısmına takın.
    19.
    20.
    21.
    22. Menekşe bağlantı kablosunu (ENA) Arduino Uno dijital pim 9’a, sarı bağlantı kablosunu (ENB) Arduino Uno dijital pim 6’ya, mavi bağlantı kablosunu (IN1) Arduino Uno dijital pim 7’ye, turuncu bağlantı kablosu (IN2) Arduino Uno dijital’e takın pin 10, Arduino Uno dijital pin 5’e sarı jumper kablosu (IN3), Arduino Uno dijital pin 4’e yeşil jumper kablosu (IN4), motor sürücü kartından Arduino Uno GND pinine bir negatif (GND) jumper kablosu.
    23.
    24. Motor sürücü kartı için güç kaynağını hazırlayın. Güç anahtarını ona takın.
    25.
    26. Güç kaynağını bant veya iki cıvata ve iki somun ile robot kasasının üstüne takın ve güç kaynağı atlama kablosu kablolarına bağlayın.
    27.
    28. Bluetooth modülü, LED’ler, orta boy kartta aktif piezo zili için kablolama yapın. 15 x jumper kablo MM, 8 direnç ve 4 x jumper kablo FM gerekir. Aşağıdaki resme bakın.
    29.
    30. Robot şasisinin üst kısmına orta boy breadboard takın. Bağlantı kablolarını Arduino Uno kartına bağlayın.
    31.
    32. PC’nizde / dizüstü bilgisayarınızda Arduino IDE’yi açın.
    33. Adruino Uno kartınızı PC / dizüstü bilgisayarınıza takın ve doğru kartı ve com bağlantı noktasını seçin.
    34.
    35. 9V pili 9V Pil Klipsi ile robot şasisinin üstüne takın, ancak Arduino Jack’e bağlamayın.
    36. Taslağı doğrulayın ve Adruino Uno kartınıza yükleyin. Yazılım seri kitaplığı (Arduino Uno kartının RX, TX (pim 0,1) ‘e bağlı bluetooth modülünüz) olmadan kroki kullanıyorsanız – çizimi yüklemeden önce jumper kablolarını Arduino’nun RX, TX (pim 0,1)’ den ayırmalısınız. Uno kurulu.
    37. Adruino Uno kartınızı PC / dizüstü bilgisayarınızdan çıkarın.
    38. 9V pili 9V Pil Klipsi ve Namlu Jakı ile Arduino Jakına bağlayın.
    39.
    40. Güç anahtarını (kırmızı anahtar) AÇIN.
    41. Bluetooth kontrollü 4WD akıllı robot otomobiliniz hazır. Tebrikler!!! Akıllı telefonunuzu / tabletinizi şimdi hazırlamamız gerekiyor.
    42.
    43. Android Uygulamasını Android OS ile akıllı telefonunuza / tabletinize indirin ve yükleyin – Arduino Bluetooth RC Car , Play market veya buradan . Samsung Galaxy Tab A 2016’yı kullanacağız .
    44.
    45.
    46. Anroid OS’li akıllı telefonunuzu / tabletinizi HC-05 veya HC-06 Bluetooth modülüne bağlamak için PIN KODU (ŞİFRE) 1234 veya 0000 girmeniz gerekir . Go Bluetooth> (ON) Enable -> Yakın Cihazlarla> Pair-> Enter şifre (pin kodu) ara akıllı telefon / tablet üzerinde. Bluetooth HC-05 modülü SLAVE moduna ayarlanmalıdır, aksi takdirde Android cihazınız görmez. Buna gitmek görmüyorsa burada AT gitmek konusunda daha fazla ayrıntı için modu comms – Eğer “Seri Monitör AT komutu kablolama, yükleme kroki ve türünü kontrol etmek gerekir + ROLE = 0 AT veya“” AT + ROLE0 ” Bluetooth modülü ürün yazılımınıza bağlı olarak.
    47. Akıllı telefonunuzu / tabletinizi HC-05 veya HC-06 bluetooth modülü ile eşleştirdiğinizde Arduino Bluetooth RC Car uygulamasını açın.
    48.
    49. Sol üst köşede kırmızı ışığı görebilirsiniz. Bu, uygulamanızın Bluetooth modülüne bağlı olmadığı anlamına gelir. Bu yüzden Seçenekler’e gitmelisiniz .
    50. Araca bağlan’ı seçin .
    51.
    52. Bluetooth modülünü seçin.
    53.
    54. Tebrikler, şimdi 4WD akıllı robot arabanızı kontrol edebilirsiniz.
    55.
    56. Orada ivmeölçer kontrol modu da mevcuttur. Seçenekler’e gidin ve ivmeölçer kontrolünü seçin .
    57.
    58. 4WD akıllı robot otomobilinizi akıllı telefonunuzla / tabletinizle sadece eğerek kontrol edebilirsiniz. Bunu yapmak için düğmelere gerek yok.
    59.
    60. Bu kadar. Google Play pazarında başka uygulamalar da var. Çizimi gönderilecek harflerle (bu uygulamalarda atanan) kolayca değiştirebilirsiniz.
    61.
    62. Robotun doğru çalışıp çalışmadığını test edin. Motor yanlış yöne dönerse – motor sürücü modülünün o / p gücünü değiştirin. Uyku durumunda L298N motor sürücü modülü – Arduino denetleyicisi ile motor sürücü modülü arasındaki GND bağlantısını kontrol edin.
    özet
    Farklı bileşenleri nasıl bağlayacağımızı ve Bluetooth kontrollü 4WD akıllı robot arabasını nasıl yapacağımızı öğrendik .
    Kütüphane
    • SoftwareSerial kütüphanesi Arduino IDE’ye dahildir. Kütüphanede aşağıdaki bilinen sınırlamalar vardır: Birden fazla yazılım seri bağlantı noktası kullanılıyorsa, aynı anda yalnızca bir tanesi veri alabilir. Mega ve Mega 2560 üzerindeki tüm pinler değişiklik kesintilerini desteklemez, bu nedenle RX için yalnızca aşağıdakiler kullanılabilir: 10, 11 , 12, 13, 14, 15, 50, 51, 52, 53, A8 (62), A9 (63), A10 (64), A11 (65), A12 (66), A13 (67), A14 (68 ), A15 (69). Leonardo ve Micro desteği üzerindeki tüm pinler değişiklik kesmez, bu nedenle RX için sadece aşağıdakiler kullanılabilir: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI Arduino veya Genuino 101’de mevcut maksimum RX hızı 57600bps’dir Arduino veya Genuino 101 RX’te Pin 13 üzerinde çalışmaz Kütüphane aşağıdaki bilinen sınırlamalara sahiptir: Birden fazla yazılım seri portu kullanılıyorsa, bir seferde yalnızca bir veri alabilir; Mega ve Mega 2560 üzerindeki tüm pinler değişiklik kesintilerini desteklemez, bu nedenle RX için sadece aşağıdakiler kullanılabilir: 10, 11, 12, 13, 14, 15, 50, 51, 52, 53, A8 (62), A9 (63), A10 (64), A11 (65), A12 (66), A13 (67), A14 (68), A15 (69); Leonardo ve Micro desteği üzerindeki tüm pimler kesintileri değiştirmez, bu nedenle RX için sadece aşağıdakiler kullanılabilir: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI); Arduino veya Genuino 101’de mevcut maksimum RX hızı 57600bps’dir; Arduino veya Genuino 101 RX’de Pin 13’te çalışmaz. Buradan okuyabilirsiniz.
    kroki
    • Bu projenin başlangıcındaki ekleri görün

  • Arduino ile LDR Işık Kontrol Uygulaması ile melodi

    Arduino Başlangıç ​​Seti: Proje 6

    Proje adı: IŞIK TERMİNİ

    Keşfedin: tone () işleviyle ses çıkarmak, analog sensörleri kalibre etmek

    Kod:

    int sensorValue;
    int sensorLow = 1023;
    int sensorHigh = 0;
    const int ledPin = 13;
    void setup() {
    pinMode(ledPin, OUTPUT);
    digitalWrite(ledPin, HIGH);
    while (millis() < 5000) {
    sensorValue = analogRead(A0);
    if (sensorValue > sensorHigh) {
    sensorHigh = sensorValue;
    }
    if (sensorValue < sensorLow) {
    sensorLow = sensorValue;
    }
    }
    digitalWrite(ledPin, LOW);
    }
    void loop() {
    sensorValue = analogRead(A0);
    int pitch =
    map(sensorValue,sensorLow,sensorHigh, 50, 4000);
    tone(8,pitch,20);
    delay(10);
    }
    

    sketch

    Bu projede, şu parçalara ihtiyacınız var:

    1.Aruduino Uno R3 (Arduino’nun diğer sürümünü de kullanabilirsiniz)

    2. atlama kabloları

    3. Direnç 1 adet (10 KOhm)

    4. Breadboard yarım boy 

    5. Arduino IDE (siz indirebilirsiniz burada  )

    6. Fotorezistör (fotosel) 1 adet

    7. Piezo zil 1 adet

    GENEL

    Bu Uygulama ile Bir müzisyenin parmaklarını tuşlara dokunmadan yukarı aşağı hareket ettirerek bir müzik çalmasını öğreneceksiniz.

    Bir theremin, bir müzisyenin ellerinin enstrüman etrafındaki hareketlerine dayanarak ses yapan bir enstrümandır. Muhtemelen birini korkutucu filmlerde duymuşsundur. Bu arada, antenlerin kapasitif değişimini okuyarak, performansçı ellerinin iki antene göre nerede olduğunu tespit eder. Bu antenler, sesi yaratan analog devrelere bağlanır. Bir anten sesin frekansını ve diğer ses seviyesini kontrol eder. Arduino bu enstrümandaki gizemli sesleri tam olarak çoğaltamasa da, tone () işlevini kullanarak bunları taklit etmek mümkündür . Aşağıdaki resim analogWrite () ve ton () tarafından yayılan darbeler arasındaki farkı göstermektedir. Bu, hoparlör veya piezo gibi bir dönüştürücünün farklı hızlarda ileri geri hareket etmesini sağlar. Arduino ile kapasitansı algılamak yerine, ışık miktarını tespit etmek için bir fotorezistör (fotosel) kullanacaksınız. Ellerinizi sensörün üzerinde hareket ettirerek, fotorezistörün yüzüne düşen ışık miktarını, Arduino Starter Kit Projesi 4’te olduğu gibi değiştireceksiniz. Analog pinteki voltajdaki değişiklik hangi frekans notunun çalınacağını belirleyecektir. Arduino Başlangıç ​​Kiti Projesi 4’teki gibi bir voltaj bölücü devre kullanarak fotorezistörleri Arduino’ya bağlayacaksınız. Muhtemelen önceki projede analogRead () kullanarak bu devreyi okuduğunuzda fark etmişsinizdir.okumalarınız 0 ila 1023 arasında değişmedi. Toprağa bağlanan sabit direnç aralığın alt ucunu ve ışığınızın parlaklığı üst ucunu sınırlar. Sınırlı bir aralığa yerleşmek yerine, yüksek ve düşük değerleri alan sensör okumalarını kalibre edersiniz, bunları aralığınızdan olabildiğince fazla alan çıkarmak için map () işlevini kullanarak bunları ses frekanslarına eşleştirirsiniz . Bu, farklı ışık koşullarına sahip bir oda gibi, devrenizi yeni bir ortama taşıdığınızda sensör okumalarını ayarlama avantajına sahip olacaktır. Piezo, elektrik aldığında titreyen küçük bir elementtir. Hareket ettiğinde, etrafındaki havayı uzaklaştırır, ses dalgaları oluşturur.

    DEVRE

    Geleneksel bunlar, sesin frekansını ve sesini kontrol edebilir. Bu örnekte, yalnızca frekansı kontrol edebileceksiniz. Arduino üzerinden ses seviyesini kontrol edemeseniz de, hoparlöre gelen voltaj seviyesini manuel olarak değiştirmek mümkündür. Breadboard’unuzda dış bus hatlarını güç ve toprağa bağlayın. Piezo’nuzu alın ve bir ucu toprağa, diğerini Arduino’daki dijital pim 8’e bağlayın. Fotorezistörünüzü bir uçtan 5V’a bağlayarak breadboard’a yerleştirin. Diğer ucunu Arduino’nun analog IN 0 pimine bağlayın ve 10 kilometrelik bir dirençle topraklayın. Bu devre, Arduino Başlangıç ​​Kiti Proje 4’teki voltaj bölücü devresi ile aynıdır.

    KODCreate a variable to hold the analogRead() value from the photoresistor. Next, create variables for the high and low values. You are going to set the initial value in the sensorLow variable to 1023, and set the value of the sensorHigh variable to 0. When you first run the program, you will compare these numbers to the sensor’s readings to find the real maximum and minimum values. Create a constant named ledPin. You will use this as an indicator that your sensor has finished calibrating. For this project, use the on-board LED connected to pin 13. In the setup(), change the pinMode() of ledPin to OUTPUT, and turn the light on. The next steps will calibrate the sensor’s maximum and minimum values. You’ll use a while() statement to run a loop for 5 seconds. while() loops run until a certain condition is met. In this case you’re going to use the millis() function to check the current time. millis() reports how long the Arduino has been running since it was last powered on or reset.In the loop, you’ll read the value of the sensor; if the value is less than sensorLow (initially 1023), you’ll update that variable. If it is greater than sensorHigh (initially 0), that gets updated. When 5 seconds have passed, the while() loop will end. Turn off the LED attached to pin 13. You’ll use the sensor high and low values just recorded to scale the frequency in the main part of your program. In the loop(), read the value on A0 and store it in sensorValue. Create a variable named pitch. The value of pitch is going to be mapped from sensorValue. Use sensorLow and sensorHigh as the bounds for the incoming values. For starting values for output, try 50 to 4000. These numbers set the range of frequencies the Arduino will generate. Next, call the tone() function to play a sound. It takes three arguments: what pin to play the sound on (in this case pin 8), what frequency to play (determined by the pitch variable), and how long to play the note (try 20 milliseconds to start).Ardından, sese çalması için biraz zaman vermek üzere 10 milisaniye boyunca bir gecikme () arayın.

    AnalogRead () değerini fotorezistörden tutmak için bir değişken oluşturun . Sonra, yüksek ve düşük değerler için değişkenler oluşturun. SensorLow değişkenindeki başlangıç​​değerini 1023 olarak ve sensörHigh değişkeninin değerini 0 olarak ayarlayacaksınız . Programı ilk çalıştırdığınızda, gerçek maksimum ve minimum değerleri bulmak için bu sayıları sensörün okumaları ile karşılaştıracaksınız. . LedPin adlı bir sabit oluşturun . Bunu, sensörünüzün kalibrasyonunun bittiğini gösteren bir gösterge olarak kullanacaksınız. Bu proje için, on-board olarak pim 13 bağlanmış LED kullanmak kurulum () , değiştirmek pinMode () ait ledPinÇIKIŞ’a gidin ve ışığı açın. Bir sonraki adımlar sensörün maksimum ve minimum değerlerini kalibre edecektir. 5 saniye boyunca bir döngü çalıştırmak için while () ifadesini kullanacaksınız. while () döngüler belirli bir koşul yerine getirilinceye kadar çalışır. Bu durumda , geçerli saati kontrol etmek için millis () işlevini kullanacaksınız. millis (), Arduino’nun ne zamandan beri çalıştırıldığından veya sıfırlandığından beri ne kadar süredir çalıştığını Döngüde, sensörün değerini okursunuz; değer sensorLow’dan düşükse (başlangıçta 1023), bu değişkeni güncelleyeceksiniz. SensorHigh değerinden büyükse (başlangıçta 0), bu güncellenir. 5 saniye geçtikten sonra , ()döngü sona erecek. Pim 13’e bağlı LED’i çevirin. Programın ana bölümündeki frekansı ölçeklemek için yeni kaydedilen yüksek ve düşük değerleri kullanın. Gelen döngü () , A0 değerini okumak ve sensorValue saklayın. Pitch adlı bir değişken oluşturun. Pitchin değeri sensorValue’dan eşlenecek . Gelen değerlerin sınırları olarak sensorLow ve sensorHigh kullanın . Çıkış için başlangıç ​​değerleri için, 50 ila 4000’i deneyin. Bu sayılar, Arduino’nun üreteceği frekans aralığını belirler. Sonra, tonu arayın ()Bir ses çalmak için Bu üç argüman alır: Sesi çalmak için hangi pin (bu durumda pin 8), hangi frekansı çalmak (adım değişkeni tarafından belirlenir) ve notun ne kadar süre çalınacağını (başlamak için 20 milisaniye deneyin). Sesi çalması için bir süre vermek üzere 10 milisaniye boyunca bir gecikme () .BAŞLANGIÇ

    Arduino’yu ilk açtığınızda, sensörü kalibre etmeniz için 5 saniyelik bir pencere vardır. Bunu yapmak için, elinize ulaşan ışık miktarını değiştirerek elinizi fotorezistör üzerinde yukarı ve aşağı hareket ettirin. Enstrümanı çalarken kullanmak istediğiniz hareketleri ne kadar yaklaştırırsanız kalibrasyon o kadar iyi olacaktır. 5 saniye sonra kalibrasyon tamamlanacak ve Arduino’daki LED sönecektir. Bu olduğunda, piezodan gelen bir ses duymalısınız! Sensöre düşen ışık miktarı değiştikçe, piezonun çaldığı frekans da olmalıdır.ÖZETAralık haritası () perde belirler fonksiyonu oldukça geniştir, müzikal stil için doğru bir uyum olanları bulmaya frekansları değiştirmeyi deneyin. Ton () işlevi çok PWM gibi çalışır analogWrite () fakat anlamlı bir di ff eden farkla. Gelen analogWrite () frekansı sabittir; Bu periyottaki bakliyat oranını görev döngüsünü değiştirmek için değiştirirsiniz. İle tonu () hala darbeleri göndererek, ancak bunların frekansı değişiyor. tone () her zaman% 50 görev döngüsünde darbeler (pimin yüksek olduğu zamanın yarısı, düşük olduğu zamanın yarısı). Tonu ()fonksiyonu, bir hoparlörü veya piezoyu attığında farklı frekanslar üretme yeteneği verir. Sensörleri bir voltaj bölücü devresinde kullanırken, muhtemelen 0 – 1023 arasında tam bir değer aralığı elde edemezsiniz. Sensörleri kalibre ederek, girişlerinizi kullanılabilir bir aralıkla eşleştirmek mümkündür.Bu konuda Youtube’daki filmlerden birini izleyin – buraya tıklayın