Aruduino Uno için arama sonuçları

  • 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 motor sürücü R3 ile  DC motor Kontrolu

    Proje adı: Arduino motor kalkanı R3, bir veya iki DC motor
    Etiketler: Arduino motor kalkanı R3, DC motor, 3V, 6V, 9V, Arduino Uno
    Ataşmanlar: oneDCmotorsketch1 , ikiDCmotorssketch2

    Etiketler: Arduino, Arduino motor sürücü R3 ile  DC motor Kontrolu
    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. DC motor 3V / 6V / 9V 2 adet

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

    Genel
    Arduino motor kalkan R3’ü Arduino kartına nasıl bağlayacağımızı ve DC motorları 3V / 6V / 9V ile nasıl kullanacağımızı öğreneceğiz.
    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üç vermenizi 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
    DC 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. Step Motor hakkında daha fazla bilgi edinmek istiyorsanız aşağıdaki referansı indirin.
    Bununla ilgili daha fazla bilgiyi buradan edinebilirsiniz .
    DC motor sinyalleri ve bağlantıları
    Bir motoru bağlamak için, MOTOR terminallerine iki kablo lehimleyin ve ardından bunları Kanal A (+ (kırmızı tel) ve – (siyah tel) terminalleri), Kanal B (+ (kırmızı tel) ve – (siyah tel) ) terminalleri) Arduino motor kalkan R3’ün.
    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. Bir DC motor. Arduino Motor Shield R3’ü kullanarak bir motoru kontrol etmek için, önce motorun pozitif (kırmızı) kablosunu motor kalkanındaki Kanal A + terminaline, motorun toprak (siyah) kablosunu motor kalkanındaki Kanal A – terminaline takın. Harici güç kaynağınızı bağlamak için, güç kaynağından gelen pozitif (kırmızı) kabloyu “Vin” terminaline ve toprak (siyah) kabloyu “GND” terminaline bağlayın.

    2. İki DC motor. Arduino Motor Shield R3’ü kullanarak motorları kontrol etmek için, önce her motorun pozitif (kırmızı) kablosunu Kanal A ve Kanal B’nin + motor kalkanındaki + terminallerine ve her motorun toprak (siyah) kablosunu Kanal A ve Kanal B’nin – motor kalkanı. Harici güç kaynağınızı bağlamak için, güç kaynağından gelen pozitif (kırmızı) kabloyu “Vin” terminaline ve toprak (siyah) kabloyu “GND” terminaline bağlayın.

    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’ün Arduino kartına nasıl bağlanacağını ve DC motorlarla nasıl kullanılacağını öğ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.

    unknown arduino_dc_motor.pdf——-indir

  • 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 Yağmur Sensörü FC-37

    Proje adı: Yağmur Sensörü FC-37 veya YL-83

    Etiketler: Arduino, Yağmur Sensörü FC-37 veya YL-83

    KOD: kod

    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. atlama kabloları

    4. Yağmur Sensörü FC-37 veya YL-83 1 adet

    Genel

    Yağmur Sensörü FC-37 veya YL-83’ü Arduino kartına nasıl bağlayacağımızı ve kullanacağımızı öğreneceğiz.

    Yağmur Sensörünü Anlama FC-37 veya YL-83

    Yağmur sensörü modülü, yağmur algılaması için kolay bir araçtır. Yağmur damlası yağmur tahtasından düştüğünde ve aynı zamanda yağış yoğunluğunu ölçmek için bir anahtar olarak kullanılabilir. Modül, daha fazla rahatlık için ayrı bir yağmur panosu ve kontrol panosu, güç göstergesi LED’i ve dijital çıkışın (D0) hassasiyet ayarı için dahili bir potansiyometreye sahiptir. Analog çıkış yağış miktarındaki düşüşlerin tespitinde kullanılır. Yağmur sensöründe sensör açıldığında yanan bir güç LED’i ve bir dijital çıkış LED’i bulunur.

    5V güç kaynağına bağlı olarak, indüksiyon kartında yağmur damlası olmadığında LED yanar ve DO çıkışı yüksektir. Az miktarda su düşürüldüğünde, DO çıkışı düşüktür, anahtar göstergesi yanar. Su damlacıklarını fırçalayın ve başlangıç​​durumuna geri döndüğünde yüksek seviye çıkar.

     

    FC-37 yağmur sensörü (veya YL-83 gibi diğer versiyonlar) iki parçadan oluşur: aşağıdaki şekilde görebileceğiniz gibi, su kartlarını toplayan elektronik kart ve toplayıcı kart:

    O nasıl çalışır

    Temel olarak, toplama panosunun direnci, yüzeyindeki su miktarına göre değişir.

    Yönetim kurulu:

    Islak: direnç artar ve çıkış gerilimi azalır

    Kuru: direnç daha düşük ve çıkış voltajı daha yüksek

    Yağmurun ne zaman yağmurlu olduğunu bilmek istiyorsanız, yağmur sensörünüzü Arduino dışında olacak şekilde ayarlamanız gerekir. Ancak, Arduino’nuzu ve devrenizi sudan korumanız gerektiğini unutmayın. Su geçirmez bir proje kutusu bu durumda (veya herhangi bir plastik kutu) oldukça kullanışlı olabilir. Tüm elektronik bileşenlerinizi koruduğunuzdan ve toplayıcı kartını yalnızca dışarıda bıraktığınızdan emin olun.

    Test
    Yağmur Sensörünü test etmek ve doğru çalıştığından emin olmak için VCC’yi 5v güç kaynağına ve GND’ye bağlayın. Yağmur sensörü algılama kartına birkaç damla su koymayı deneyin; dijital çıkış LED’i yanmalıdır.

    Sorun giderme
    Dijital çıkış LED’i yanmıyorsa aşağıdakileri kontrol edin:

    • Modül düzgün bağlanmış mı? 
    • Bazen tuzluluk bu birimlerle ilgili bir sorundur, bu filtrelenmiş, şişelenmiş su ile iyi çalıştı, ancak bazı durumlarda su iletimini arttırmak için biraz tuz eklemeniz gerekebilir.
    • Bu biraz daha zor olabilir, ancak bir nedenden dolayı iki farklı üreticinin iki farklı modelinin lehimleme becerilerinde kusurlar vardı. Tüm küçük SMD’lerin ve konektörlerin düzgün şekilde lehimlendiğinden emin olun. IE – lehim eklemleri gerçekten lehimlenmiş mi?
    • Öncekilerden hiçbiri dijital çıkış LED’ini yakmazsa, sensörünüz arızalı olabilir.

    Şartname:

    • Yüksek kaliteli RF-04 çift taraflı malzemeyi benimser.
    • Alan: Yanda 5cm x 4cm nikel plaka,
    • Anti-oksidasyon, anti-iletkenlik, uzun kullanım süresi ile;
    • Karşılaştırıcı çıkış sinyali temiz dalga formu iyi, sürüş yeteneği, 15mA üzerinde;
    • Potansiyometre hassasiyeti ayarlar;
    • Çalışma gerilimi 5V;
    • Çıkış formatı: Dijital anahtarlama çıkışı (0 ve 1) ve analog voltaj çıkışı AO;
    • Kolay kurulum için cıvata delikleri ile;
    • Küçük tahta PCB boyutu: 3.2cm x 1.4cm;
    • Geniş voltajlı LM393 karşılaştırıcı kullanır

    Yağmur Sensörü FC-37 veya YL-83’ün sinyalleri ve bağlantıları

    VCC (5V)  – Arduino kartının 3,3 V veya 5V pinine bağlayın. 

    GND ( veya G) – Arduino kartının toprak pimi

    SIG – herhangi bir mikro denetleyicideki ADC pinine takılabilen bir analog sinyal çıkışı. SIG’de okunan değer, sensöre güç verdiğiniz voltaja bağlı olarak değişir

    D0 – Arduino kartına dijital çıkış

    A0 – Arduino kartına analog çıkış

    “A0”, tamamen kuruduğunda 5 volt, tamamen ıslakken 0 volt çıkış veren 0-5 voltluk bir seri sinyaldir. “D0”, döşeme kabı ile yapılandırılır ve nem seviyesi istenen bir noktaya ulaştığında yüksek getirilir.

    Devreyi oluşturun

    Aşağıdaki resimde Arduino Uno ile gerekli bağlantılar gösterilmektedir. 

    kod

     

    Çıkış, su içeriğine bağlı olarak bir dijital sinyal (D0) DÜŞÜK veya YÜKSEK olabilir. Toprak nemi önceden belirlenmiş belirli bir eşik değerini aşarsa, modüller DÜŞÜK, aksi takdirde YÜKSEK çıkış verir. Dijital sinyalin eşik değeri potansiyometre kullanılarak ayarlanabilir.
    Çıkış bir analog sinyal olabilir ve bu nedenle 0 ile 1023 arasında bir değer elde edersiniz. Lütfen döndürülen analog değerin, sensör için sağlanan voltaja bağlı olarak değişeceğini unutmayın.

     

    Çıkış, yüzeydeki su miktarına bağlı olarak bir dijital sinyal (D0) DÜŞÜK veya YÜKSEK olabilir. Su miktarı önceden belirlenmiş belirli bir eşik değerini aşarsa, modüller DÜŞÜK, aksi takdirde YÜKSEK çıkış verir. Dijital sinyalin eşik değeri potansiyometre kullanılarak ayarlanabilir.

    Çıkış bir analog sinyal olabilir ve bu nedenle 0 ile 1023 arasında bir değer elde edersiniz. Lütfen döndürülen analog değerin, sensör için sağlanan voltaja bağlı olarak değişeceğini unutmayın.

    Adım Adım talimat

    1. Arduino IDE’yi açın.
    2. Adruino Uno kartınızı PC’nize takın ve doğru kart ve com bağlantı noktasını seçin
    3. Seri monitörü açın ve baud’unuzu 9600 baud’a ayarlayın
    4. Taslağı doğrulayın ve Adruino Uno kartınıza yükleyin.

    özet

    Rain Sensor FC-37 veya YL-83’ün Arduino kartına nasıl bağlanacağını ve nasıl kullanılacağını öğrendik.

    Kütüphane:

    • Bu proje için kütüphane gerekmez

    Sketch:

    • Bu proje açıklamasının başlangıcındaki eklere bakın. 
  • Arduino ile LCD Uygulaması I2C arayüzü

    Proje adı: Arduino ile LCD Uygulaması I2C arayüzü

    Keşfedin: LCD ekranlar, anahtar / büyük / küçük harf ifadeleri, rastgele ()

    Ekler: kütüphaneleri Yükle  

    kod2:

    #include <LCD.h>
    #include <LiquidCrystal_I2C.h>
    // initialise the LCD1602 I2C:
    LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
    const int switchPin = 6;
    int switchState = 0;
    int prevSwitchState = 0;
    int reply;
    
    void setup() {
    lcd.begin(16, 2);
    pinMode(switchPin,INPUT);
    lcd.print("Ask the");
    lcd.setCursor(0, 1);
    lcd.print("Crystal Ball!");
    }
    void loop() {
    switchState = digitalRead(switchPin);
    if (switchState != prevSwitchState) {
    if (switchState == LOW) {
    reply = random(8);
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("The ball says:");
    lcd.setCursor(0, 1);
    switch(reply){
    case 0:
    lcd.print("Yes");
    break;
    case 1:
    lcd.print("Most likely");
    break;
    case 2:
    lcd.print("Certainly");
    break;
    case 3:
    lcd.print("Outlook good");
    break;
    case 4:
    lcd.print("Unsure");
    break;
    case 5:
    lcd.print("Ask again");
    break;
    case 6:
    lcd.print("Doubtful");
    break;
    case 7:
    lcd.print("No");
    break;
    }
    }
    }
    prevSwitchState = switchState;
    }

    kod1 :

    #include <LiquidCrystal.h>
    LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
    const int switchPin = 6;
    int switchState = 0;
    int prevSwitchState = 0;
    int reply;
    
    void setup() {
    lcd.begin(16, 2);
    pinMode(switchPin,INPUT);
    lcd.print(“Ask the”);
    lcd.setCursor(0, 1);
    lcd.print(“Crystal Ball!”);
    }
    void loop() {
    switchState = digitalRead(switchPin);
    if (switchState != prevSwitchState) {
    if (switchState == LOW) {
    reply = random(8);
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print(“The ball says:”);
    lcd.setCursor(0, 1);
    switch(reply){
    case 0:
    lcd.print(“Yes”);
    break;
    case 1:
    lcd.print(“Most likely”);
    break;
    case 2:
    lcd.print(“Certainly”);
    break;
    case 3:
    lcd.print(“Outlook good”);
    break;
    case 4:
    lcd.print(“Unsure”);
    break;
    case 5:
    lcd.print(“Ask again”);
    break;
    case 6:
    lcd.print(“Doubtful”);
    break;
    case 7:
    lcd.print(“No”);
    break;
    }
    }
    }
    prevSwitchState = switchState;
    }

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

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

    2. atlama kabloları

    3. Eğim anahtarı 1 adet

    4. LCD ekran veya LCD1602 I2C modülü (aşağıdaki bağlantılara ve taslağa bakın)

    5. Potansiyometre

    6. Direnç 2 adet (1 adet 10 kOm ve 1 adet 220 Om)

    7. Breadboard yarım boyutu

    8. Arduino IDE (siz indirebilirsiniz burada  )

    GENEL

    Kristal toplar geleceği “tahmin etmeye” yardımcı olabilir. Her şeyi bilen topa bir soru sorarsınız ve bir cevabı ortaya çıkarmak için ters çevirirsiniz. Cevaplar önceden belirlenecektir, ancak istediğiniz her şeyi yazabilirsiniz. Toplam 8 yanıt arasından seçim yapmak için Arduino’nuzu kullanacaksınız. Kitinizdeki eğim anahtarı, cevaplar için topu sallayarak hareketin çoğaltılmasına yardımcı olacaktır. LCD, alfasayısal karakterleri görüntülemek için kullanılabilir. Kitinizdeki, toplam 32 karakter için 16 sütun ve 2 satır içerir. Kartta çok sayıda bağlantı var. Bu pimler güç ve iletişim için kullanılır, bu yüzden ekranda ne yazacağını bilir, ancak hepsini bağlamanız gerekmez. Bağlamanız gereken pimler için aşağıdaki resme bakın. LCD ekranda projede kullanılan pimler ve etiketler.

    DEVRE

    Devre aşırı karmaşık değil, ancak çok fazla kablo var. Doğru olduğundan emin olmak için her şeyi kablolarken dikkatli olun. Gücü ve toprağı breadboard’unuzun bir tarafına bağlayın. Eğim anahtarını breadboard üzerine yerleştirin ve bir ucu 5V’a takın. Diğer tarafı 10 kilohm’luk bir dirençle ve Arduino’nuzun pimine 6 bağlayın. Bunu, diğer birçok projede yaptığınız gibi, dijital bir giriş olarak bağlıyorsunuz. Kayıt seçme (RS) pimi, karakterlerin ekranda nerede görüneceğini kontrol eder. Okuma / yazma pimi (R / W) ekranı okuma veya yazma moduna geçirir. Bu projede yazma modunu kullanacaksınız. Enable (EN) LCD’ye bir komut alacağını bildirir. Veri pinleri (D0-D7) ekrana karakter verisi göndermek için kullanılır. Bunlardan yalnızca 4 tanesini kullanacaksınız (D4-D7). En sonunda, ekranın kontrastını ayarlamak için bir bağlantı var. Bunu kontrol etmek için bir potansiyometre kullanacaksınız. Arduino yazılımı ile birlikte gelen LiquidCrystal kütüphanesi, bu pinlerin tüm yazılarını işler ve karakterleri görüntülemek için yazılım yazma işlemini basitleştirir. LCD’nin iki dış piminin (Vss ve LED-) toprağa bağlanması gerekir. Ayrıca, R / W pimini toprağa bağlayın. Bu, ekranı yazma moduna geçirir. LCD güç kaynağı (Vcc) doğrudan 5V’a bağlanmalıdır. Ekrandaki LED + pim, 220 ohm’luk bir direnç üzerinden güce bağlanır. Bağlayın: Arduino Dijital pin 2 – LCD D7, Arduino Dijital pin 3 – LCD D6, Arduino Dijital pin 4 – LCD D5, Arduino Dijital pin 5 – LCD D4. Bunlar ekrana hangi karakterin görüntüleneceğini söyleyen veri iğneleridir. Ekrandaki EN’yi Arduino’nuzdaki 11 pinine bağlayın. LCD üzerindeki RS pim 12’ye bağlanır. Bu pim LCD’ye yazmayı sağlar. Potansiyometreyi bir uç pimini güce, diğerini de toprağa bağlayarak breadboard’a yerleştirin. Orta pim LCD’deki V0’a bağlanmalıdır. Bu, ekranın kontrastını değiştirmenize izin verecektir.

    THE CODE
    First, you’ll need to import the LiquidCrystal library. Next, you’ll initialize the library, somewhat similar to the way you did with the Servo library, telling it what pins it will be using to communicate
    Now that you’ve set up the library, it’s time to create some variables and constants. Create a constant to hold the pin of the switch pin, a variable for the current state of the switch, a
    variable for the previous state of the switch, and one more to choose which reply the screen will show. Set up the switch pin as an input with pinMode() in your setup(). Start the LCD library, and tell it how large the screen is. Now it’s time to write a small introductory screen welcoming you to the 8-ball. The print() function writes to the LCD screen. You’re going to write the words “Ask the” on the top line of the screen. The cursor is automatically at the beginning of the top line.
    In order to write to the next line, you’ll have to tell the screen where to move the cursor. The coordinates of the first column on the second line are 0,1 (recall that computers are zero indexed.
    0,0 is the first column of the first row). Use the function lcd. setCursor() to move the cursor to the proper place, and tell it to write “Crystal ball!”. Now, when you start the program, it will say “Ask the Crystal ball!” on your screen. In the loop(), you’re going to check the switch first, and put the value in the switchState variable. Use an if() statement to determine if the switch is in a different
    position than it was previously. If it is different than it was before, and it is currently LOW, then it’s time to choose a random reply. The random() function returns a number based on the
    argument you provide it. To start, you’ll have a total number of 8 different responses for the ball. Whenever the statement random(8) is called, it will give a number between 0-7. Store that
    number in your reply variable.
    LCD library reference: http://arduino.cc/lcdlibrary
    Random reference: http://arduino.cc/random
    Clear the screen with the function lcd.clear(). This also moves the cursor back to location 0,0; the first column in the first row of the LCD. Print out the line “The ball says:” and move the cursor for the output.
    The switch() statement executes different pieces of code depending on the value you give it. Each of these different pieces of code is called a case. switch() checks the value of the variable reply; whatever value reply holds will determine what named case statement is executed. Inside the case statements, the code will be the same, but the messages will be different. For example, in case 0 the code says lcd.print (“Yes”). Afer the lcd.print() function, there’s another command: break. It tells the Arduino where the end of the case is. When it hits break, it skips to the end of the switch statement. You’ll be creating a total of 8 case statements to start out. Four of the responses will be positive, 2 will be negative, and the final 2 will ask you to try again.
    Loop () öğesinde yapılacak son şey, prevSwitchState değişkenine switchState değerini atamaktır. Bu, döngü bir sonraki çalıştırıldığında anahtardaki değişiklikleri izlemenizi sağlar.

    KOD

    İlk olarak, LiquidCrystal kütüphanesini içe aktarmanız gerekir . Daha sonra, Servo kütüphanesinde yaptığınız gibi, kütüphaneyi başlatmak için iletişim kurmak için hangi pinleri kullanacağını söyleyeceksiniz. Şimdi kitaplığı kurduğunuza göre, bazı değişkenler ve sabitler oluşturma zamanı. Anahtar piminin pimini tutmak için bir sabit, anahtarın mevcut durumu için bir değişken, anahtarın önceki durumu için değişken ve ekranın hangi cevabın gösterileceğini seçmek için bir tane daha oluşturun. İle girdi olarak anahtar pimini kurma pinMode () sizin içinde kurulum () . LCD kitaplığını başlatın ve ekranın ne kadar büyük olduğunu söyleyin. Şimdi sizi 8 topa davet eden küçük bir tanıtım ekranı yazmanın zamanı geldi. Baskı ()işlevi LCD ekrana yazar. Ekranın üst satırına “Sor” kelimesini yazacaksınız. İmleç otomatik olarak üst satırın başlangıcındadır.Sonraki satıra yazmak için ekrana imleci nereye hareket ettireceğini söylemeniz gerekir. İkinci satırdaki ilk sütunun koordinatları 0,1’dir (bilgisayarların sıfır indekslendiğini hatırlayın. 0,0 ilk satırın ilk sütunu). Lcd fonksiyonunu kullanın . setCursor () ile imleci doğru yere getirin ve “Crystal ball!” yazmasını söyleyin. Şimdi, programı başlattığınızda, ekranda “Kristal topa sorun!” Yazacaktır. In döngü () , önce anahtarı kontrol edin ve switchState değişkendeki değeri koymak için gidiyoruz. Bir if () kullanınanahtarın öncekinden farklı bir konumda olup olmadığını belirleme ifadesi. Öncekinden farklıysa ve şu anda DÜŞÜK ise, rastgele bir yanıt seçme zamanı gelmiştir. Rasgele () işlevi, bunu sağlamak theargument dayalı bir sayıyı döndürür. Başlamak için, top için toplam 8 farklı yanıtınız olacaktır. Random (8) ifadesi her çağrıldığında 0-7 arasında bir sayı verecektir. Bu sayıyı yanıt değişkeninizde saklayın.

    LCD kütüphanesi referansı: http://arduino.cc/lcdlibrary

    Rastgele referans: http://arduino.cc/random

    Ekranı lcd.clear () işleviyle temizleyin . Bu ayrıca imleci 0,0 konumuna geri taşır; LCD’nin ilk satırındaki ilk sütun. “Top şöyle diyor:” satırını yazdırın ve çıktı için imleci hareket ettirin. Switch () ifadesi, verdiğiniz değere bağlı olarak farklı kod parçalarını çalıştırır. Bu farklı kod parçalarının her birine durum denir. switch () değişken cevabın değerini kontrol eder; yanıtın sahip olduğu her değer, adlandırılmış vaka ifadesinin yürütüleceğini belirler. Vaka ifadelerinin içinde kod aynı olacaktır, ancak mesajlar farklı olacaktır. Örneğin, 0 durumunda kod lcd.print (“Evet”) der . Afer lcd.print ()işlevinde başka bir komut daha vardır: break. Arduino’ya davanın sonunun nerede olduğunu söyler. Araya çarptığında, anahtar ifadesinin sonuna atlar. Başlamak için toplam 8 vaka ifadesi oluşturacaksınız. Yanıtların Dört 2 negatif olacaktır, pozitif olacak ve nihai 2 sizin yapmak again.The son şey denemek isteyecektir () döngü atamaktır switchState değişkene ‘ın değerini prevSwitchState . Bu, döngü bir sonraki çalıştırıldığında anahtardaki değişiklikleri izlemenizi sağlar.

    BAŞLANGIÇ

    Sihirli topu kullanmak için Arduino’ya güç ver. “Kristal topa sorun!” Yazdığından emin olmak için ekranı kontrol edin. Karakterleri göremiyorsanız, potansiyometreyi çevirmeyi deneyin. Ekranın kontrastını ayarlayacaktır. Kristal topunuzla ilgili bir soru sorun ve düğmeyi baş aşağı ve geriye yatırmayı deneyin. Sorunuza bir cevap almalısınız. Cevap size uygun değilse, tekrar sorun. Print () ifadelerine kendi sözlerinizi eklemeyi deneyin , ancak her satırda yalnızca 16 karakter kullanıldığına dikkat edin. Ayrıca daha fazla yanıt eklemeyi de deneyebilirsiniz. Ek anahtar durumları eklediğinizde, yanıt değişkenini rastgele dolduracak seçenek sayısını ayarladığınızdan emin olun.

    LCD’ler, polarize cam arasına sıkıştırılmış bir sıvının elektriksel özelliklerini değiştirerek çalışır. Cam sadece belirli ışık türlerinin geçmesine izin verir. Cam arasındaki sıvı doldurulduğunda, yarı katı bir duruma dönüşmeye başlar. Bu yeni durum, polarize camdan farklı bir yönde ilerler, ışığın geçmesini engeller, böylece ekranda gördüğünüz karakterleri oluşturur.

    LCD ekranın metnini değiştirmek için burada yer alan işlevler oldukça basittir. Nasıl çalıştığını ele aldığınızda, kütüphanenin sahip olduğu diğer bazı işlevlere bakın. Kaydırmak veya sürekli güncellemek için metin almayı deneyin. LiquidCrystal kütüphanesinin nasıl çalıştığı hakkında daha fazla bilgi için şu adresi ziyaret edin: http://arduino.cc/lcd .

    LCD ekran, LiquidCrystal kütüphanesini kullanarak ekranda metin göstermenizi sağlar. Switch … case ifadeleri, bir değişkeni belirtilen değerlerle karşılaştırarak program akışını kontrol eder.

    İLAVE

    LCD 1602 I2C modülünüz varsa:

    KOD :

    #include <LCD.h>
    #include <LiquidCrystal_I2C.h>
    // initialise the LCD1602 I2C:
    LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
    const int switchPin = 6;
    int switchState = 0;
    int prevSwitchState = 0;
    int reply;
    
    void setup() {
    lcd.begin(16, 2);
    pinMode(switchPin,INPUT);
    lcd.print("Ask the");
    lcd.setCursor(0, 1);
    lcd.print("Crystal Ball!");
    }
    void loop() {
    switchState = digitalRead(switchPin);
    if (switchState != prevSwitchState) {
    if (switchState == LOW) {
    reply = random(8);
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("The ball says:");
    lcd.setCursor(0, 1);
    switch(reply){
    case 0:
    lcd.print("Yes");
    break;
    case 1:
    lcd.print("Most likely");
    break;
    case 2:
    lcd.print("Certainly");
    break;
    case 3:
    lcd.print("Outlook good");
    break;
    case 4:
    lcd.print("Unsure");
    break;
    case 5:
    lcd.print("Ask again");
    break;
    case 6:
    lcd.print("Doubtful");
    break;
    case 7:
    lcd.print("No");
    break;
    }
    }
    }
    prevSwitchState = switchState;
    }
  • Arduino ile L293 Motor sürücü ile DC Motor Kontrolü

    Proje adı:  Arduino ile L293 Motor sürücü ile DC Motor Kontrolü

    Keşfedin:  H-köprüleri

    Ekler: kütüphaneler ve KOD:

    const int controlPin1 = 2;
    const int controlPin2 = 3;
    const int enablePin = 9;
    const int directionSwitchPin = 4;
    const int onOffSwitchStateSwitchPin = 5;
    const int potPin = A0;
    int onOffSwitchState = 0;
    int previousOnOffSwitchState = 0;
    int directionSwitchState = 0;
    int previousDirectionSwitchState = 0;
    int motorEnabled = 0;
    int motorSpeed = 0;
    int motorDirection = 1;
    
    void setup(){
    pinMode(directionSwitchPin, INPUT);
    pinMode(onOffSwitchStateSwitchPin, INPUT);
    pinMode(controlPin1, OUTPUT);
    pinMode(controlPin2, OUTPUT);
    pinMode(enablePin, OUTPUT);
    digitalWrite(enablePin, LOW);
    }
    void loop(){
    onOffSwitchState = digitalRead(onOffSwitchStateSwitchPin);
    delay(1);
    directionSwitchState = digitalRead(directionSwitchPin);
    motorSpeed = analogRead(potPin)/4;
    if(onOffSwitchState != previousOnOffSwitchState){
    if(onOffSwitchState == HIGH){
    motorEnabled = !motorEnabled;
    }
    }
    if (directionSwitchState != previousDirectionSwitchState) {
    if (directionSwitchState == HIGH) {
    motorDirection = !motorDirection;
    }
    }
    if (motorDirection == 1) {
    digitalWrite(controlPin1, HIGH);
    digitalWrite(controlPin2, LOW);
    }
    else {
    digitalWrite(controlPin1, LOW);
    digitalWrite(controlPin2, HIGH);
    }
    if (motorEnabled == 1) {
    analogWrite(enablePin, motorSpeed);
    }
    else {
    analogWrite(enablePin, 0);
    }
    previousDirectionSwitchState = directionSwitchState;
    previousOnOffSwitchState = onOffSwitchState;
    }

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

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

    2. atlama kabloları

    3. Anlık anahtar 2 adet

    4. H köprü motor sürücüsü L293D

    5. Potansiyometre

    6. Direnç 2 adet (2 adet 10 kOm)

    7. Breadboard yarım boyutu 

    8. DC motor 6 / 9V 1 adet

    9. 9V pil 1 adet

    10. pil yapış 1 adet

    11. Arduino IDE (siz indirebilirsiniz burada  )

    GENEL

    İnternetten önce, televizyondan, hatta filmlerden önce, ilk hareketli görüntülerden bazıları zoetrope adlı bir araçla oluşturuldu. Zoetroplar, içinde küçük değişiklikler olan bir grup hareketsiz görüntüden hareket yanılsaması yaratır. Bunlar tipik olarak yan kesikli silindirlerdir. Silindir döndüğünde ve yarıklara baktığınızda, gözleriniz duvarın diğer tarafındaki hareketsiz görüntüleri canlandırmayı algılar. Yarıklar, görüntülerin büyük bir bulanıklık olmasını önlemeye yardımcı olur ve görüntülerin görünme hızı görüntülerin hareket etmesine neden olur. Başlangıçta, bu yenilikler elle veya bir krank mekanizması ile döndürüldü. Bu projede, etçil bir bitkiyi canlandıran kendi zoetropunuzu inşa edeceksiniz. Harekete bir motorla güç vereceksiniz. Bu sistemi daha da gelişmiş yapmak için, yönü kontrol etmenizi sağlayan bir anahtar ekleyeceksiniz, açmak ve açmak için bir başkası ve hızı kontrol etmek için bir potansiyometre. Motorlu Fırıldak Projesinde bir yönde dönecek bir motorunuz var. Motorun gücünü ve topraklamasını alıp yönlerini tespit ederseniz, motor ters yönde dönecektir. Her şeyi farklı bir yönde döndürmek istediğinizde bunu yapmak çok pratik değildir, bu nedenle motorun polaritesini tersine çevirmek için H köprüsü adı verilen bir bileşen kullanacaksınız.H köprüler , entegre devreler (IC) olarak bilinen bir bileşen türüdür. IC’ler, büyük devreleri küçük bir pakette tutan bileşenlerdir. Bunlar kolayca değiştirilebilen bir bileşene yerleştirerek daha karmaşık devrelerin basitleştirilmesine yardımcı olabilir. Örneğin, bu örnekte kullandığınız H köprüsünde yerleşik bir dizi transistör vardır. H köprüsünün içindeki devreyi kurmak için muhtemelen başka bir breadboard’a ihtiyacınız olacaktır. Bir IC ile, devrelere yanlardan çıkan pimlerden erişebilirsiniz. Farklı IC’lerde farklı sayıda pim bulunur ve bunların hepsi her devrede kullanılmaz. Bazen pimleri işlev yerine numara ile belirtmek uygun olur. Bir IC’ye bakarken, çukurlu kısım üst olarak adlandırılır. Aşağıdaki resimde olduğu gibi sol üst köşeden “U” yönünde sayarak pin numaralarını belirleyebilirsiniz.

    Zoetroplar, bazen POV olarak kısaltılan “vizyonun sürekliliği” adı verilen bir fenomen nedeniyle çalışır. POV, gözlerimiz ardı ardına küçük değişimlerle hareketsiz görüntüler gözlemlediğinde oluşan hareket yanılsamasını açıklar. Çevrimiçi olarak “POV ekranı” için arama yaparsanız, genellikle LED’ler ve Arduino ile bu etkiden yararlanan birçok proje bulacaksınız.

    DEVRE

    Breadboard’unuzun bir tarafından güç ve topraklamayı Arduino’ya bağlayın. Breadboard’a her birinin bir tarafını güce bağlayan 2 anlık anahtar ekleyin. Her iki anahtarın çıkış piminde topraklanmış bir seri olarak 10Kohm aşağı çekme direnci ekleyin. Pim 4 üzerindeki anahtar yönü kontrol edecektir; pim 5 üzerindeki anahtar motoru açar ve o ff. Potansiyometreyi breadboard’a bağlayın. 5V’yi bir tarafa bağlayın ve diğerini topraklayın. Orta pimi Arduino’daki analog giriş 0’a takın. Bu motorun hızını kontrol etmek için kullanılacaktır. H köprüsünü merkeze yerleşecek şekilde breadboard’unuza yerleştirin. H köprüsünün pimini 1 Arduino’daki dijital pim 9’a bağlayın. Bu, H köprüsündeki etkinleştirme pimidir. 5V aldığında motoru açar, 0V aldığında motoru o turns açar. Bu pimi H köprüsünü PWM için kullanacaksınız, ve motorun hızını ayarlayın. H köprüsündeki pim 2’yi Arduino’daki dijital pim 3’e bağlayın. Pimi 7 dijital pim 2’ye bağlayın. Bunlar, H köprüsüyle iletişim kurmak için kullanacağınız pimlerdir ve hangi yöne döneceğini söyler. Pim 3 DÜŞÜK ve pim 2 YÜKSEK ise, motor bir yönde dönecektir. Pim 2 DÜŞÜK ve pim 3 YÜKSEK ise, motor ters yönde dönecektir. Her iki pim aynı anda YÜKSEK veya DÜŞÜK ise, motorun dönmesi durur. H-köprü gücünü pin 16’dan alır, 5V’ye takın. Pim 4 ve 5’in her ikisi de yere düşer. Motorunuzu H köprüsündeki 3 ve 6 pimlerine takın. Bu iki pim 2 ve 7 pimlerine gönderdiğiniz sinyale bağlı olarak açılacak ve o ff açılacaktır. Bunlar, H-köprüsüyle iletişim kurmak için kullanacağınız pimlerdir ve hangi yöne döneceğini söyler. Pim 3 DÜŞÜK ve pim 2 YÜKSEK ise, motor bir yönde dönecektir. Pim 2 DÜŞÜK ve pim 3 YÜKSEK ise, motor ters yönde dönecektir. Her iki pim aynı anda YÜKSEK veya DÜŞÜK ise, motorun dönmesi durur. H-köprü gücünü pin 16’dan alır, 5V’ye takın. Pim 4 ve 5’in her ikisi de yere düşer. Motorunuzu H köprüsündeki 3 ve 6 pimlerine takın. Bu iki pim 2 ve 7 pimlerine gönderdiğiniz sinyale bağlı olarak açılacak ve o ff açılacaktır. Bunlar, H-köprüsüyle iletişim kurmak için kullanacağınız pimlerdir ve hangi yöne döneceğini söyler. Pim 3 DÜŞÜK ve pim 2 YÜKSEK ise, motor bir yönde dönecektir. Pim 2 DÜŞÜK ve pim 3 YÜKSEK ise, motor ters yönde dönecektir. Her iki pim aynı anda YÜKSEK veya DÜŞÜK ise, motorun dönmesi durur. H-köprü gücünü pin 16’dan alır, 5V’ye takın. Pim 4 ve 5’in her ikisi de yere düşer. Motorunuzu H köprüsündeki 3 ve 6 pimlerine takın. Bu iki pim 2 ve 7 pimlerine gönderdiğiniz sinyale bağlı olarak açılacak ve o ff açılacaktır. Her iki pim aynı anda YÜKSEK veya DÜŞÜK ise, motorun dönmesi durur. H-köprü gücünü pin 16’dan alır, 5V’ye takın. Pim 4 ve 5’in her ikisi de yere düşer. Motorunuzu H köprüsündeki 3 ve 6 pimlerine takın. Bu iki pim 2 ve 7 pimlerine gönderdiğiniz sinyale bağlı olarak açılacak ve o ff açılacaktır. Her iki pim aynı anda YÜKSEK veya DÜŞÜK ise, motorun dönmesi durur. H-köprü gücünü pin 16’dan alır, 5V’ye takın. Pim 4 ve 5’in her ikisi de yere düşer. Motorunuzu H köprüsündeki 3 ve 6 pimlerine takın. Bu iki pim 2 ve 7 pimlerine gönderdiğiniz sinyale bağlı olarak açılacak ve o ff açılacaktır.pil takılı olmadan! ) breadboard’unuzdaki diğer güç raylarına bağlayın. Arduino’nuzdan aküyü toprağa bağlayın. 8 numaralı pimi H köprüsünden akü gücüne bağlayın. Bu, H köprüsünün motora güç verdiği pimdir. 9V ve 5V güç hatlarınızın bağlı olmadığından emin olun. Ayrı olmalılar, ikisi arasında sadece toprak bağlanmalıdır.

    KOD

    Çıkış ve giriş pinleri için sabitler oluşturun. Girdilerinizdeki değerleri tutmak için değişkenleri kullanın. Kum saati projesine benzer şekilde, durumu bir döngüden diğerine karşılaştırarak her iki anahtar için durum değişikliği algılaması yapacaksınız. Bu nedenle, mevcut durumu kaydetmeye ek olarak, her bir anahtarın önceki durumunu kaydetmeniz gerekir. motorDirection , motorun hangi yönde döndüğünü izler ve motorPower , motorun dönüp dönmediğini izler. Gelen kurulumu () , her bir giriş ve çıkış piminin yönünü ayarlamak. Motorun hemen dönmemesi için etkinleştirme pimini DÜŞÜK konuma getirin. Senin içinde döngü () , Açık / Ç ff anahtarının durumunu oku ve depolamak Ono ff SwitchStatedeğişken. Geçerli anahtar durumu ile öncekisi arasında bir fark varsa ve anahtar şu anda YÜKSEK ise, motorPower değişkenini 1 olarak ayarlayın. DÜŞÜK ise, değişkeni 0 olarak ayarlayın. Yön anahtarı ve potansiyometrenin değerlerini okuyun. Değerleri ilgili değişkenlerinde saklayın. Yön anahtarının halihazırda öncekinden farklı bir konumda olup olmadığını kontrol edin. Farklı ise, motor yönü değişkenini değiştirin. Motorun dönmesi için sadece 2 yol vardır, bu nedenle değişkeni iki durum arasında değiştirmek isteyeceksiniz. Bunu yapmanın bir yolu, ters çevirme operatörünü şu şekilde kullanmaktır: motorDirection =! MotorDirection . Motor Yönüdeğişken motorun hangi yöne döndüğünü belirler. Yönü ayarlamak için kontrol pimlerini biri YÜKSEK diğeri DÜŞÜK olarak ayarlarsınız. Zaman motorDirection değişiklikleri, kontrol pimleri durumları tersine çevirir. Yön düğmesine basıldığında, kontrol pinlerinin durumunu ters çevirerek motoru diğer yönde döndürmek istersiniz. Eğer motorEnabled değişkeni 1 kullanılarak motorun hızını ayarlamak analogWrite () pimi sağlar PWM. Eğer motorEnabled 0, daha sonra ayarlayarak ff o motoru çevirmek analogWrite çıkmadan önce değeri 0 olarak döngü () programı aracılığıyla sonraki saldırı için önceki devlet olarak anahtarlar mevcut durumu kaydet.

    BAŞLANGIÇ

    Arduino’nuzu bilgisayarınıza takın. Pili konektöre takın. Açma / Kapama düğmesine bastığınızda motor dönmeye başlamalıdır. Potansiyometreyi çevirirseniz, hızlanmalı ve yavaşlamalıdır. Açma / Kapama düğmesine başka bir kez basmak motoru durduracaktır. Yön düğmesine basmayı deneyin ve motorun her iki yönde döndüğünü doğrulayın. Ayrıca, tencere üzerindeki düğmeyi çevirirseniz, gönderdiği değere bağlı olarak motor hızını artırdığını veya yavaşlattığını görmelisiniz. Devrenin beklendiği gibi çalıştığını doğruladıktan sonra, pili ve USB’yi devreden çıkarın. Zoetropunuzu inşa etmek için, daha önce kullandığınız fırıldakı ve kitinizde bulunan dikey yarıklarla kesmeyi almalısınız. CD motorun şaftına güvenli bir şekilde takıldıktan sonra, her şeyi tekrar takın. Projenizi yukarıda tutun, böylece yarıklara bakabilirsiniz (ancak CD’nin motora sabitlendiğinden ve ona çok yakın olmadığından emin olun). Hareketsiz görüntülerin sırasını “hareket ettirin”! Çok hızlı veya çok yavaş gidiyorsa, animasyonun hızını ayarlamak için potansiyometrenin düğmesini çevirin. Geri oynatıldığında animasyonun nasıl göründüğünü görmek için yön anahtarına basmayı deneyin. Motoru desteklemek için bir kaide yapın. İçinde delik açılmış küçük bir karton kutu, baz olarak çalışabilir ve ellerinizi anahtarlar ve düğme ile oynamak için serbest bırakır. Bu, çalışmanızı herkese göstermeyi kolaylaştıracaktır. Küçük bir çalışma ile, zoetrope’nizin düşük ışık koşullarında da çalışmasını sağlayabilirsiniz. Bir LED’i ve direnci serbest dijital çıkış pinlerinizden birine bağlayın. Ayrıca ikinci bir potansiyometre ekleyin ve analog girişe bağlayın. Işığı görüntüler üzerinde parlayacak şekilde konumlandırın. 

    İLAVE

    Bu projeye alternatif (DC motor oldukça küçük olduğundan 9V pil gerektirmez)



    Bu konuda Youtube’daki filmlerden birini izleyin – buraya bağlantı verin

  • ARDUİNO İLE DC MOTORU MOSFETLE SÜRMEK

    Proje adı: ARDUİNO İLE DC MOTORU MOSFETLE SÜRMEK

    Keşfedin: transistörler, yüksek akım / gerilim yükleri

    Ekler: kütüphaneler ve Kod:

    const int switchPin = 2;
    const int motorPin = 9;
    int switchState = 0;
    void setup() {
     pinMode(motorPin, OUTPUT);
    pinMode(switchPin, INPUT);
    }
    
    void loop() {
      switchState = digitalRead(switchPin);
    if (switchState == HIGH) {
    digitalWrite(motorPin, HIGH);
    }
    else {
    digitalWrite(motorPin, LOW);
    }
    
    

     

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

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

    2. atlama kabloları

    3. Anlık anahtar 1 adet

    4. Transistör MOSFET (IRF520 veya başka herhangi bir örnek, örneğin IRLZ44N)

    5. Diyot 1N4007 1 adet

    6. Direnç 1 adet (10 kOm)

    7. Breadboard yarım boyutu 

    8. DC motor 6 / 9V 1 adet

    9. 9V pil 1 adet

    10. pil yapış 1 adet

    11. Arduino IDE (siz indirebilirsiniz burada  )

    GENEL

    Motorları bir Arduino ile kontrol etmek, LED’leri birkaç nedenden dolayı kontrol etmekten daha karmaşıktır. Birincisi, motorlar Arduino’nun çıkış pinlerinin sağlayabildiğinden daha fazla akım gerektirir ve ikincisi, motorlar indüksiyon adı verilen kendi akım througha sürecini üretebilir, bu da planlamazsanız devrenize zarar verebilir. fiziksel şeyler, projelerinizi daha heyecan verici hale getirir. Harekete geçmek çok fazla enerji gerektirir. Motorlartipik olarak Arduino’nun sağlayabileceğinden daha fazla akım gerektirir. Bazı motorlar daha yüksek voltaj gerektirir. Taşımayı başlatmak ve ağır bir yük takılı olduğunda, bir motor mümkün olduğunca fazla akım çeker. Arduino, dijital pimlerinden yalnızca 40 miliamper (mA) sağlayabilir, çoğu motorun çalışması için gerekenden çok daha azdır. Transistörler , yüksek akım ve yüksek voltaj güç kaynaklarını Arduino’nun düşük akım çıkışından kontrol etmenizi sağlayan bileşenlerdir. Birçok farklı tür vardır, ancak aynı prensipte çalışırlar. Transistörleri dijital anahtarlar olarak düşünebilirsiniz. Transistörün pin adı verilen kapıdan birine voltaj sağladığınızda, kaynak ve tahliye adı verilen diğer iki pin arasındaki devreyi kapatır. Bu şekilde Arduino’nuzla daha yüksek bir akım / gerilim motoru açabilir ve kapatabilirsiniz. Motorlarbir tür endüktif cihazdır. Endüksiyon, bir teldeki değişen bir elektrik akımının telin etrafında değişen bir manyetik alan oluşturabildiği bir işlemdir. Bu alan, şaftın (evden dışarı çıkan kısım) dönmesine neden olur. Tersi de doğrudur: şaft dönerken bir motor elektrik üretebilir. Motorunuzun iki ucuna bir LED takmayı deneyin, ardından mili elinizle döndürün. Hiçbir şey olmazsa, mili başka şekilde döndürün. LED yanmalıdır. Motorunuzdan küçük bir jeneratör yaptınız, bir motora enerji vermeyi bıraktığınızda, dönmeye devam edecek, çünkü ataleti var. Dönüyorsa, verdiğiniz akımdan ters yönde bir voltaj üretecektir. Motorunuzu bir LED yakarken bu efekti gördünüz. Bazen geri voltaj olarak da adlandırılan bu ters voltaj, transistörünüze zarar verebilir. Bu nedenle, arka voltajın diyottan geçtiği için motora paralel bir diyot koymalısınız. Diyot, devrenin geri kalanını koruyarak elektriğin sadece bir yönde akmasına izin verecektir.

    DEVRE

    Arduino üzerinden breadboard’unuza güç ve toprak bağlayın. Bir tarafı güce, diğer tarafı Arduino’daki dijital pim 2’ye bağlayan panoya anlık bir anahtar ekleyin. Anahtarın çıkış pimindeki toprağa 10 kilohmluk bir aşağı çekme direnci ekleyin. Farklı gerilimlere sahip devreleri kullanırken, ortak bir toprak sağlamak için topraklarını birbirine bağlamanız gerekir. 9V pil kapağını breadboard’unuza takın. Aküden toprağa bir atlama teli ile Arduino’nuzun breadboard üzerindeki toprağa bağlayın. Ardından motorun serbest kablosunu 9V gücüne takın. Transistörü karta yerleştirin. Metal sekmenin sizden uzağa bakması için bileşene bakın. Dijital pimi 9 transistördeki sol pime bağlayın. Bu pime kapı denir. Kapıdaki voltaj değişikliği diğer iki pim arasında bir bağlantı kurar. Motorun bir ucunu transistörün orta pimine bağlayın. Bu pime tahliye denir . Arduino, kapıya voltaj sağlayarak transistörü etkinleştirdiğinde, bu pim kaynak adı verilen üçüncü pime bağlanacaktır.. Kaynağı toprağa bağlayın. Ardından, motorun voltaj beslemesini motora ve breadboard’a bağlayın. Eklenecek son bileşen diyottur. Diyot polarize bir bileşendir; devre içinde sadece bir yol gidebilir. Diyotun bir ucunda bir şerit olduğuna dikkat edin. Bu son, diyotun negatif ucu veya katodu. Diğer uç pozitif uç veya anottur. Diyotun anodunu motorun topraklamasına ve diyotun katotunu motorun gücüne bağlayın. Bu geriye doğru görünebilir ve aslında öyledir. Diyot, motor tarafından üretilen herhangi bir geri voltajın devrenize geri dönmesini önlemeye yardımcı olacaktır. Unutmayın, geri voltaj, sağladığınız voltajın tersi yönünde olacaktır. LED’lerin de diyotlar olması durumunda, neden kurşunlarının anot ve katot olarak adlandırıldığını merak ettiyseniz. Birçok çeşit diyot vardır, ama hepsinin bir özelliği var. Akımın anottan katoda akışına izin verir, ancak tersi değil.

    KOD

    Kod, bir LED’i açmak için ilk kullandığınız koda oldukça benzer. Her şeyden önce, anahtar ve motor pimleri için bazı sabitler ve anahtarın değerini tutmak için switchState adlı bir değişken ayarlayın . Senin içinde kurulum () , beyan pinMode () motora (ÇIKIŞ) ve anahtar (GİRİŞ) iğnelerden. Kişisel döngü () basittir. DigitalRead () ile switchPin durumunu kontrol edin. Anahtara basılırsa, motorPin’i çevirinYÜKSEK. Basılmamışsa, pimi DÜŞÜK döndürün. YÜKSEK olduğunda, transistör etkinleşir ve motor devresini tamamlar. DÜŞÜK olduğunda, motor dönmez. Motorlar optimum çalışma voltajına sahiptir. Nominal voltajın% 50’si kadar ve bu sayı üzerinde% 50’si kadar çalışacaklardır. Voltajı değiştirirseniz, motorun dönme hızını değiştirebilirsiniz. Yine de çok fazla değiştirmeyin, yoksa motorunuzu yakacaksınız. Bir mikrodenetleyici tarafından kontrol edilirken motorlar özel dikkat gerektirir. Tipik olarak mikrodenetleyici bir motora güç sağlamak için yeterli akım ve / veya voltaj sağlayamaz. Bu nedenle, ikisi arasında arabirim oluşturmak için transistörler kullanırsınız. Devrenize zarar vermemek için diyot kullanmak da akıllıdır. Transistörler katı hal cihazlarıdır, hareketli parçaları yoktur. Bu nedenle, bunları çok hızlı bir şekilde açıp kapatabilirsiniz. Bir potansiyometreyi bir analog girişe bağlamayı deneyebilir ve bunu transistörü kontrol eden pimi PWM olarak kullanabilirsiniz. Sadece aldığı voltajı değiştirirseniz veya desenlerinizi eğiricinizde kullanacaksanız farklı görsel efektler elde ederseniz motorun hızına ne olacağını düşünün.

    BAŞLANGIÇ

    CD hub’ını monte edin ve motora takın. Kesilmiş kağıt desenini bir CD’ye takın. CD’yi göbeğe oturtun ve bir damla tutkalla sabitleyin. Devam etmeden önce denemeye izin verin. Pil yuvasına 9V pil takın. Arduino’nuzu USB üzerinden çalıştırın. Breadboard üzerindeki düğmeye bastığınızda motor çok hızlı dönecektir. Motorun yaptığı kadar hızlı dönmesi ile büyük olasılıkla oldukça büyük bir dönücü yapabilirsiniz. Dikkat etmemeye dikkat edin ve birisini gözünüze sokmayın. Görsel efektler oluşturmak için dışarıdaki farklı patlayıcılarla denemeler yapın.

    İLAVE

    Bu projeye alternatif (DC motor oldukça küçük olduğundan 9V pil gerektirmez)

    Bu konuda Youtube’daki filmlerden birini izleyin – buraya bağlantı verin

  • Arduino ile 3 adet led ve 1 buton uygulaması Uzay Gemisi gibi

    Arduino Başlangıç ​​Kiti: Proje 2

    Proje adı: UZAY GEMİSİ ARAYÜZÜ

    Keşfedin: dijital giriş ve çıkış, ilk programınız, değişkenler

    Ekler: kütüphaneler ve 

    kod:

    int switchState = 0; // store value in switchState variable
    void setup() {
    pinMode(3,OUTPUT);
    pinMode(4,OUTPUT);
    pinMode(5,OUTPUT);
    pinMode(A2,INPUT);
    }
    
    void loop() {
    switchState = digitalRead(A2);
    if (switchState == LOW) {
    // the buton is not pressed
    digitalWrite(3, HIGH); // green LED on
    digitalWrite(4, LOW); // red LED off
    digitalWrite(5, LOW); // red LED off
    }
    else { // the buton is pressed
    digitalWrite(3, LOW); // green LED off
    digitalWrite(4, HIGH); // red LED on
    delay(100);// wait 100ms
    digitalWrite(5, HIGH); // red LED on
    delay(100);// wait 100ms
    digitalWrite(4, LOW); // green LED off
    delay(100);// wait for a quarter second
    digitalWrite(5, LOW); // green LED off
    }
    }//go back to the beginning of the loop
    
    
    

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

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

    2. atlama kabloları

    3. Direnç 3 adet (2 adet 220 Om ve 1 adet 10 kOm)

    4. Breadboard yarım boyutu 

    5. LED’ler (2 adet kırmızı LED ve 1 adet yeşil LED)

    6. Anlık anahtar 1 adet

    7. Arduino IDE (siz indirebilirsiniz burada  )

    GENEL

    Bu projede, bir düğmeye ve düğmeye bastığınızda yanan ışıklara sahip serin bir kontrol paneli yapacaksınız. Işıkların ne anlama geldiğine karar verebilirsiniz. Bir düğmeye basana kadar yeşil bir LED yanacaktır. Arduino düğmeden bir sinyal aldığında, yeşil ışık o turn olacak ve diğer 2 ışık yanıp sönmeye başlayacaktır. Arduino’nun dijital pinleri sadece iki durumu okuyabilir: bir giriş pininde voltaj olduğunda ve olmadığında. Bu tür girdilere normalde dijital (veya iki durumlu bazen ikili) denir. Bu durumlara yaygın olarak YÜKSEK ve DÜŞÜK denir. YÜKSEK “burada voltaj var” demekle aynıdır ve DÜŞÜK “bu pim üzerinde voltaj yok” anlamına gelir. DigitalWrite () adlı bir komut kullanarak ÇIKIŞ pimini YÜKSEK döndürdüğünüzde, açıyorsunuz. Pim ve toprak arasındaki voltajı ölçün, 5 volt alacaksınız. ÇIKIŞ pimini DÜŞÜK döndürdüğünüzde o ff döndürürsünüz. Arduino’nun dijital pinleri hem giriş hem de çıkış işlevi görebilir. Kodunuzda, işlevlerinin ne olmasını istediğinize bağlı olarak bunları yapılandıracaksınız. Pimler çıkış olduğunda, LED’ler gibi bileşenleri açabilirsiniz. Pimleri giriş olarak yapılandırırsanız, bir anahtara basılıp basılmadığını kontrol edebilirsiniz. 0 ve 1 pinleri bilgisayar ile iletişim kurmak için kullanıldığından, pin 2 ile başlamak en iyisidir.

    DEVRE

    Bir önceki projede olduğu gibi, breadboard’unuzu Arduino’nun 5V ve toprak bağlantılarına bağlayın. İki kırmızı LED’i ve bir yeşil LED’i breadboard’a yerleştirin. Her bir LED’in katotunu (kısa bacak) 220 ohm’luk bir dirençle toprağa takın. Yeşil LED’in anodunu (uzun bacak) pim 3’e bağlayın. Kırmızı LED’lerin anotlarını sırasıyla 4 ve 5 pimlerine bağlayın. Anahtarı, önceki projede yaptığınız gibi breadboard’a yerleştirin. Bir tarafını güce, diğer tarafını Arduino’daki dijital pim 2’ye takın. Ayrıca, Arduino’ya bağlanan anahtar pimine topraktan 10k-ohm’luk bir direnç eklemeniz gerekir. Bu aşağı çekme direnci, anahtar açıkken pimi toprağa bağlar, bu yüzden anahtardan voltaj gelmediğinde DÜŞÜK okur. Kitte sağlanan şablonu devre tahtasını kapatabilirsiniz. Ya da kendi fırlatma sisteminizi yapmak için dekore edebilirsiniz. Işıklar yanıyor ve kendiliğinden hiçbir şey ifade etmiyor, ancak bunları bir kontrol paneline yerleştirip etiketler verdiğinizde anlam kazanıyorlar. 

    KOD

    Her Arduino programının iki ana işlevi vardır. İşlevler, bir bilgisayar programının belirli komutları çalıştıran parçalarıdır. İşlevlerin benzersiz adları vardır ve gerektiğinde “çağrılır”. Arduino programında gerekli işlevlere setup () ve loop () denir . Bu işlevlerin bildirilmesi gerekir, yani Arduino’ya bu işlevlerin ne yapacağını söylemeniz gerekir. setup () ve loop ()sağda gördüğünüz gibi ilan edilir. Bu programda, programın ana bölümüne girmeden önce bir değişken oluşturacaksınız. Değişkenler, Arduino’nun hafızasındaki yerlere verdiğiniz adlardır, böylece neler olduğunu takip edebilirsiniz. Bu değerler, programınızın talimatlarına bağlı olarak değişebilir. Değişken isimleri, depoladıkları değeri açıklayıcı olmalıdır. Örneğin, switchState adlı bir değişken size neyi depoladığını söyler: bir anahtarın durumu. Öte yandan, “x” adlı bir değişken size depoladığı şey hakkında fazla bilgi vermez. Bir değişken oluşturmak için ne tür olduğunu bildirmeniz gerekir. Veri türü inttam sayı tutacaktır (tamsayı da denir); ondalık noktası olmayan herhangi bir sayı. Bir değişkeni bildirdiğinizde, genellikle bir başlangıç ​​değeri de verirsiniz. Her deyim olarak değişkenin bildirimi noktalı virgül ( ; ) ile bitmelidir . Arduino ilk açıldığında setup () bir kez çalışır. Burası, dijital pinleri pinMode () adlı bir işlev kullanarak giriş veya çıkış olarak yapılandırdığınız yerdir . LED’lere bağlı pimler ÇIKIŞLAR ve anahtar pimi bir GİRİŞ olacaktır. Döngü () sonra sürekli çalışır () kurulum tamamladı. Döngü ()girişlerdeki voltajı kontrol edeceğiniz ve çıkışları açıp o ff açacağınız yerdir. Dijital bir girişteki voltaj seviyesini kontrol etmek için , seçilen pimi voltaj için kontrol eden digitalRead () işlevini kullanırsınız . Hangi iğnenin denetleneceğini bilmek için digitalRead () argüman.Arguments işlevlere ilettiğiniz ve işlerini nasıl yapmaları gerektiğini söyleyen bilgilerdir. Örneğin, digitalRead () bir argümana ihtiyaç duyar: kontrol edilecek pin. Programınızda digitalRead () , pin 2’nin durumunu kontrol edecek ve switchState değişkeninde değeri saklayacaktır . DigitalRead () çağrıldığında pim üzerinde voltaj varsa, switchStatedeğişkeni YÜKSEK (veya 1) değerini alır. Pim üzerinde voltaj yoksa switchState , DÜŞÜK (veya 0) değerini alır. Yukarıda, bir şeyin durumunu kontrol etmek için (anahtar konumu) kelimeyi kullandınız. Programlamadaki bir if () ifadesi iki şeyi karşılaştırır ve karşılaştırmanın doğru veya yanlış olup olmadığını belirler. Daha sonra yapmasını söylediğiniz eylemleri gerçekleştirir. Programlamadaki iki şeyi karşılaştırırken iki eşittir işareti == kullanırsınız . Yalnızca bir işaret kullanırsanız, karşılaştırma yapmak yerine bir değer ayarlayacaksınız. digitalWrite () , bir çıkış pinine 5V veya 0V göndermenizi sağlayan komuttur. digitalWrite ()iki argüman alır: hangi pin kontrol edilecek ve bu pin ayarlanacak değer, YÜKSEK veya DÜŞÜK. İf () ifadenizin içindeki kırmızı LED’leri ve yeşil LED’i açmak istiyorsanız , kodunuz şöyle görünür. Arduino’ya anahtar açıkken ne yapması gerektiğini söylediniz. Şimdi anahtar kapatıldığında ne olacağını tanımlayın. Eğer ()deyiminde, orijinal koşul karşılanmadığı takdirde bir şeyin gerçekleşmesini sağlayan isteğe bağlı başka bir bileşen bulunur. Bu durumda, anahtarın DÜŞÜK olup olmadığını kontrol ettiğiniz için else ifadesinden sonra HIGH koşulu için kod yazın. Düğmeye basıldığında kırmızı LED’lerin yanıp sönmesini sağlamak için, az önce yazdığınız diğer ifadede ışıkları açıp açmanız gerekir. LED’leri belirli bir duruma getirdikten sonra, Arduino’nun geri değiştirmeden önce bir an duraklamasını isteyeceksiniz. Beklemezseniz, ışıklar o kadar hızlı gidecek ki, sanki açık ve kapalı değil, sadece biraz loş görünürler. Bunun nedeni, Arduino’nun saniyede binlerce kez döngüsüne () girmesi ve LED’in algılayabildiğimizden daha hızlı açılıp kapanmasıdır. Gecikmesi ()işlevi, Arduino’nun bir süre herhangi bir şey yürütmesini engellemenizi sağlar. delay () , bir sonraki kod kümesini yürütmeden önce milisaniye sayısını belirleyen bir bağımsız değişken alır. Bir saniyede 1000 milisaniye vardır. gecikme (250) çeyrek saniye duraklar. Şimdi programınız, düğme düğmesine basıldığında kırmızı LED’leri yanıp sönecektir.

    BAŞLANGIÇ

    Arduino’nuz programlandıktan sonra yeşil ışığın yandığını görmelisiniz. Düğmeye bastığınızda, kırmızı ışıklar yanıp sönmeye başlar ve yeşil ışık söner. İki delay () işlevinin saatini değiştirmeyi deneyin ; ışıklara ne olduğunu ve yangının hızına bağlı olarak sistemin tepkisinin nasıl değiştiğini fark edin. Programınızda bir delay () çağırdığınızda , diğer tüm işlevler durur. Bu süre geçinceye kadar sensör okumaları gerçekleşmez. Gecikmeler genellikle yararlı olsa da, kendi projelerinizi tasarlarken arayüzünüze gereksiz yere müdahale etmediklerinden emin olun.

    Programınız başladığında kırmızı LED’lerin nasıl yanıp söndüğünü ve LED’ler ve anahtarlarla yıldızlararası maceralarınız için nasıl daha büyük veya daha karmaşık bir arayüz oluşturabileceğinizi öğrenin.

    Bu projede, bir anahtara dayalı olarak bazı LED’lerin davranışını kontrol etmek için ilk Arduino programını oluşturdunuz. Bir giriş ve kontrol çıkışlarının durumunu okumak için değişkenler, bir if () … else deyimi ve işlevler kullandınız.

    İLAVE

     

    It can be helpful to write out the flow of your program in pseudo code: a way of describing what you want the program to do in plain language, but structured in a way that makes it easy to write a real program from it. In this case you’re going to determine if switchState is HIGH (meaning the button is pressed) or not. If the switch is pressed, you’ll turn the green LED off and the red ones on. In
    pseudocode, the statement could look like this:
    if the switchState is LOW:
    turn the green LED on
    turn the red LEDs off
    if the switchState is HIGH:
    turn the green LED off
    turn the red LEDs on
    { Curly brackets }
    Any code you write inside the curly brackets will be executed when the function is called
    Case sensitivity
    Pay atention to the case sensitivity in your code.
    For example, pinMode is the name of a command, but pinmode will produce an error
    Comments
    Programınıza doğal dil eklemek istiyorsanız, bir yorum bırakabilirsiniz.
    Yorumlar, bilgisayarın yoksaydığı kendiniz için bıraktığınız notlardır. Yorum yazmak için iki eğik çizgi ekleyin // Bilgisayar bu eğik çizgilerden sonra satırdaki hiçbir şeyi yok sayar.

     

    Programınızın akışını sahte kodda yazmak yararlı olabilir: programın düz dilde ne yapmasını istediğinizi açıklamanın bir yolu, ancak programdan gerçek bir program yazmayı kolaylaştıracak şekilde yapılandırılmış. Bu durumda, switchState’in YÜKSEK (düğmeye basıldığı anlamına gelir) olup olmadığını belirleyeceksiniz. Düğmeye basılırsa, yeşil LED’i ff ve kırmızı olanları açarsınız. Inpseudocode, ifade şöyle görünebilir:

    switchState DÜŞÜK ise:

    yeşil LED’i aç

    kırmızı LED’leri çevirin o ff

    switchState YÜKSEK ise:

    yeşil LED’i çevirin o ff

    kırmızı LED’leri aç

    {Kıvırcık parantez}

    Kıvrımlı parantezlerin içine yazdığınız kodlar işlev çağrıldığında yürütülür.

    Büyük küçük harf duyarlılığı

    Kodunuzdaki büyük / küçük harf duyarlılığına dikkat edin. Örneğin, pinMode bir komutun adıdır, ancak pinmode bir hata oluşturur.

    Yorumlar

    Programınıza doğal dil eklemek istiyorsanız, yorum bırakabilirsiniz.Kompozisyonlar, bilgisayarın göz ardı ettiği kendiniz için bıraktığınız notlardır. Yorum yazmak için iki eğik çizgi ekleyin // Bilgisayar bu eğik çizgilerden sonra satırdaki hiçbir şeyi yok sayar.

    Bu konuda Youtube’daki filmlerden birini izleyin – buraya bağlantı verin

  • Sıcaklık sensörü TMP36 ile sıcaklık değerini led lerle gösterme

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

    Proje adı: LOVE-O-METER video

    Keşfedin: seri monitörü kullanarak analog giriş

    Ekler: kütüphaneler

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

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

    2. atlama kabloları

    3. Direnç 3 adet (her biri 220 Om)

    4. Breadboard yarım boy 

    5. LED’ler (kırmızı) 3 adet

    6. Sıcaklık sensörü TMP36 1 adet

    7. Arduino IDE (siz indirebilirsiniz burada  )

    GENEL

    Anahtarlar ve düğmeler harika olsa da, fiziksel dünya için on ve o ff’dan daha çok şey var. Arduino dijital bir araç olsa da, sıcaklık veya ışık gibi şeyleri ölçmesi için analog sensörlerden bilgi alması mümkün. Bunu yapmak için, Arduino’nun dahili Analog-Dijital Dönüştürücüsünden (ADC) yararlanacaksınız. A0-A5 pinlerindeki analog, 0-1023 arasında bir değeri rapor edebilir ve bu değer 0 volt ile 5 volt arasında değişir. Cildinizin ne kadar sıcak olduğunu ölçmek için bir sıcaklık sensörü kullanacaksınız. Bu bileşen algıladığı sıcaklığa bağlı olarak değişen bir voltaj üretir. Üç pim vardır: biri toprağa, diğeri güce bağlanır ve üçüncüsü Arduino’nuza değişken bir voltaj verir. Bu projenin taslağında, sensörün çıktısını okuyacak ve LED’leri açıp kapatmak için kullanacaksınız. ne kadar sıcak olduğunu gösterir. Birkaç farklı sıcaklık sensörü modeli vardır. Bu model, TMP36 uygundur, çünkü santigrat derece cinsinden sıcaklıkla doğru orantılı olarak değişen bir voltaj üretir.

    TMP36’nın teknik özelliklerine buradan bakın .

    Arduino IDE, mikrodenetleyiciden sonuçları rapor etmenizi sağlayan seri monitör adı verilen bir araçla birlikte gelir. Seri monitörü kullanarak, sensörlerin durumu hakkında bilgi edinebilir ve devrenizde ne olduğu ve çalıştığı sırada kodunuz hakkında bir fikir edinebilirsiniz.

    DEVRE

    Bu projede, devam etmeden önce odanın sıcaklığını kontrol etmeniz gerekir. Şu anda işleri manuel olarak kontrol ediyorsunuz, ancak bu aynı zamanda kalibrasyon yoluyla da gerçekleştirilebilir. Taban sıcaklığını ayarlamak için bir düğme kullanmak veya Arduino’nun döngüyü başlatmadan önce bir örnek almasını sağlamak () ve bunu referans noktası olarak kullanmak mümkündür. Arduino 6 numaralı proje bununla ilgili ayrıntılara giriyor ya da Arduino yazılımıyla birlikte verilen Kalibrasyon örneğine bakabilirsiniz:

    http://www.arduino.cc/calibration

    Breadboard’unuzu bağlayın, böylece güç ve toprak elde edin. 220 ohm’luk bir dirençle topraklamak için kullandığınız LED’lerin her birinin katodunu (kısa bacak) takın. LED’lerin anotlarını 2 ile 4 arasındaki pinlere bağlayın. Bunlar projenin göstergeleri olacaktır. TMP36’yı yuvarlatılmış kısmı Arduino’dan uzağa bakacak şekilde ekmek tahtasına yerleştirin (pimlerin sırası önemlidir!). Güç to ‘nin sol pimini güç tarafına ve sağ pimi toprağa bağlayın. Orta pimi Arduino’nuzdaki A0 pimine bağlayın. Bu, analog giriş pimi 0’dır. İnsanlarla etkileşime girmesi için sensörünüz için bir arayüz oluşturun. 

    KOD

    Sabitler, programdaki şeyleri benzersiz bir şekilde adlandırmanıza izin verdikleri değişkenlerine benzer, ancak değişkenlerin aksine değiştiremezler. Kolay başvuru için analog girişi adlandırın ve taban sıcaklığını tutmak için sabit bir başka ad oluşturun. Bu taban çizgisinin üzerindeki her 2 derece için bir LED yanacaktır. Sensörün hangi pin üzerinde olduğunu belirlemek için burada kullanılan int veri tipini zaten gördünüz . Sıcaklık fl yulaf veya ating yağlanma noktası sayısı olarak saklanıyor . Bu tür bir sayı ondalık basamağa sahiptir ve kesirler olarak ifade edilebilecek numaralar için kullanılır. Kurulumda Serial.begin () komutunu kullanacaksınız.. Bu, Arduino ve bilgisayar arasında bir bağlantı açar, böylece değerleri bilgisayar ekranındaki analog girişten görebilirsiniz. 9600 argümanı Arduino’nun haberleşme hızı, saniyede 9600 bit. Mikrodenetleyicinizden göndermeyi seçtiğiniz bilgileri görüntülemek için Arduino IDE’nin seri monitörünü kullanacaksınız. IDE’nin seri monitörünü açtığınızda, baud hızının 9600 olduğunu doğrulayın. Sıradaki, bazı pinleri çıkış olarak ayarlamak için bir () döngüsü. Bunlar LED’leri daha önce bağladığınız pimler. Bunun yerine dışarı hepsine özel isim ve yazmaya verme ) (pinMode her biri için işlevini, bir kullanabilirsiniz ) (içinhızlı bir şekilde hepsini geçmek için döngü. Bir programda yinelemek istediğiniz çok sayıda benzer şey varsa, bu kullanışlı bir numaradır. For () döngüsüne, 2 ile 4 numaralı pinler arasında sırayla çalışmasını söyleyin . In döngü () , adlı bir yerel değişken kullanacağız sensorVal sizin sensörden okuma saklamak için. Sensörden değeri elde etmek için, bir argüman alan analogRead () işlevini çağırırsınız : hangi pin voltaj okuması gerekir. 0 ile 1023 arasında olan değer, pim üzerindeki voltajın bir temsilidir. Serial.print () işlevi, Arduino’dan bağlı bir bilgisayara bilgi gönderir. Bu bilgiyi seri monitörünüzde görebilirsiniz. Serial.print () verirseniztırnak içinde bir argüman yazdığınız metni yazdıracaktır. Bir değişkeni argüman olarak verirseniz, bu değişkenin değerini yazdıracaktır. Küçük bir matematikle, pin üzerindeki gerçek voltajın ne olduğunu bulmak mümkün. Voltaj, 0 ile 5 volt arasında bir değer olacaktır ve kesirli bir kısma sahip olacaktır (örneğin, 2,5 volt olabilir), bu nedenle bir yulaf içinde saklamanız gerekir. Bu sayıyı tutmak için voltaj adlı bir değişken oluşturun. Divide sensorVal1024.0 ile ve 5.0 ile çarpın. Yeni numara, pimin üzerindeki voltajı temsil eder. Tıpkı sensör değerinde olduğu gibi, bunu seri monitöre yazdıracaksınız. Sensörün veri sayfasını incelerseniz, çıkış voltajının aralığı hakkında bilgi vardır. Veri sayfaları, elektronik bileşenler için el kitaplarına benzer. Diğer mühendisler için mühendisler tarafından yazılmıştır. Bu sensörün veri sayfası, sensördeki her 10 milivoltten oluşan değişimin, 1 santigrat derece sıcaklık değişimine eşdeğer olduğunu açıklar. Ayrıca, sensörün 0 derecenin altındaki sıcaklıkları okuyabildiğini gösterir. Bu nedenle, donma derecesinin altındaki değerler için bir o-set oluşturmanız gerekir (0 derece). Gerilimi alırsanız, 0,5’i çıkarın ve 100 ile çarpın, santigrat derece cinsinden doğru sıcaklığı elde edersiniz. Bu yeni numarayı, sıcaklık adı verilen bir bağlantı noktası değişkeninde saklayın. Artık gerçek sıcaklığa sahip olduğunuzda, bunu seri monitöre de yazdırın. Sıcaklık değişkeni bu döngüde yazdıracağınız son şey olduğundan, biraz farklı bir komut kullanacaksınız:Seri.println () . Bu komut, değeri gönderdikten sonra seri monitörde yeni bir satır oluşturacaktır. Bu, yazdırıldıkları sırada okumayı kolaylaştırmaya yardımcı olur. Gerçek sıcaklıkla, LED’leri aydınlatmak için bir if () … else ifadesi oluşturabilirsiniz. Başlangıç ​​sıcaklığını başlangıç ​​noktası olarak kullanarak, başlangıç ​​seviyesinin üzerindeki her 2 derecelik sıcaklık artışı için bir LED’i yanacaksınız. Sıcaklık ölçeğinde ilerlerken bir dizi değer arayacaksınız. &&operatör mantıklı bir şekilde “ve” anlamına gelir. Birden fazla koşulu kontrol edebilirsiniz: “sıcaklık, taban çizgisinden 2 derece daha yüksekse ve taban çizgisinden 4 derecenin altındaysa.” Sıcaklık, taban çizgisinin iki ila dört derece arasındaysa, bu kod bloğu açılır. pin 3 üzerindeki LED de. Analog-Dijital Dönüştürücü sadece çok hızlı okuyabilir, bu yüzden döngünüzün sonuna küçük bir gecikme koymalısınız () . Çok sık okursanız, değerleriniz düzensiz görünecektir. 
     

    BAŞLANGIÇ

    Arduino’ya yüklenen kodla, seri monitör simgesine tıklayın. Bunun gibi biçimlendirilmiş bir değer akışı görmelisiniz: Sensör: 210, Volt: .75, derece C: 18. Ekmek tavaya takılıyken parmaklarınızı sensörün etrafına koymaya çalışın ve değerlere ne olduğunu görün Seri monitörde. Sensör açık havada bırakıldığında sıcaklığın ne olduğuna dikkat edin. Seri monitörü kapatın ve programınızdaki baselineTemp sabitini, sıcaklık derecesini gözlemlediğiniz değere değiştirin. Kodunuzu tekrar yükleyin ve sensörü parmaklarınızda tutmayı deneyin. Sıcaklık arttıkça, LED’lerin birer birer açıldığını görmelisiniz. Birkaç kişinin birbiriyle uyumluluğunu test etmesi için bir arayüz oluşturun. 

    ÖZETSen kullandık  analogRead ()  sizin Arduino içindeki değişiklikleri izlemek ve seri monitörü. Şimdi çok sayıda analog sensör ve giriş okumak mümkündür.

    Bu konuda Youtube’daki filmlerden birini izleyin – buraya tıklayın

  • Arduino ile Ldr ışık değişimini RGB Led ile gösterme

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

    Proje adı: RENK KARIŞTIRMA LAMBASI

    Video_2019-12-19_170334

    Keşfedin: analog çıkış, haritalama değerleri

    Kod:

    const int redPin = 11;// Red LED
    const int greenPin = 10; // Green LED
    const int bluePin = 9; // Blue LED
    
    const int redSensorPin = A0; //variable to store sensor reading
    const int greenSensorPin = A1; //variable to store sensor reading
    const int blueSensorPin = A2;//variable to store sensor reading
    
    int redValue = 0;
    int greenValue = 0;
    int blueValue = 0;
    
    int redSensorValue = 0;
    int greenSensorValue = 0;
    int blueSensorValue = 0;
    void setup() {
      Serial.begin(9600);// open a serial port
      pinMode(redPin, OUTPUT); // define redPin as OUTPUT
      pinMode(greenPin, OUTPUT);// define greenPin as OUTPUT
      pinMode(bluePin, OUTPUT);// define bluePin as OUTPUT
    }
    void loop() {
    redSensorValue = analogRead(redSensorPin);
    delay(5);
    greenSensorValue = analogRead(greenSensorPin);
    delay(5);
    blueSensorValue = analogRead(blueSensorPin);
    
    Serial.print("Raw Sensor Values \t Red: ");// \t equivalent to TAB key on the keyboard
    Serial.print(redSensorValue);
    Serial.print("\t Green: ");
    Serial.print(greenSensorValue);
    Serial.print("\t Blue: ");
    Serial.println(blueSensorValue);
    redValue = redSensorValue/4;
    greenValue = greenSensorValue/4;
    blueValue = blueSensorValue/4;
    Serial.print("Mapped Sensor Values \t Red: ");
    Serial.print(redValue);
    Serial.print("\t Green: ");
    Serial.print(greenValue);
    Serial.print("\t Blue: ");
    Serial.println(blueValue);
    analogWrite(redPin, redValue);
    analogWrite(greenPin, greenValue);
    analogWrite(bluePin, blueValue);
    }

    kütüphaneler ve  taslak

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

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

    2. atlama kabloları

    3. Direnç 6 adet (3 adet 220 Ohm ve 3 adet 10 KOhm)

    4. Breadboard yarım boy 

    5. RGB LED (ortak katot kullanılmış) 1 adet

    6. Fotorezistörler (fotoseller) 3 adet

    7. Arduino IDE (siz indirebilirsiniz burada  )

    8. JELLER (kırmızı, yeşil, mavi clors)

    GENELYanıp sönen LED’ler eğlenceli olabilir, peki ya onları solmak ya da renkleri karıştırmak?You might expect that it’s just a mater of providing less voltage to an LED to get it to fade. The Arduino can’t vary the output voltage on its pins, it can only output 5V. Hence you’ll need to use a technique called Pulse Width Modulation (PWM) to fade LEDs. PWM rapidly turns the output pin high and low over a fixed period of time. The change happens faster than the human eye can see. It’s similar to the way movies work, quickly flashing a number of still images to create the illusion of motion. When you’re rapidly turning the pin HIGH and LOW, it’s as if you were changing the voltage. The percentage of time a pin is HIGH in a period is called duty cycle. When the pin is HIGH for half of the period and LOW for the other half, the duty cycle is 50%. A lower duty cycle gives you a dimmer LED than a higher duty cycle. The Arduino Uno has six pins set aside for PWM (digital pins 3, 5, 6, 9, 10, and 11), they can be identifed by the ~ next to their number on the board.Soluk LED’leri veya renklerini karıştırmaya ne dersiniz? Bunun sadece bir LED’e solmasını sağlamak için daha az voltaj sağlayan bir malzeme olmasını bekleyebilirsiniz. Arduino, pinlerindeki çıkış voltajını değiştiremez, sadece 5V çıkış verebilir. Darbe Genişliği Modülasyonu (PWM) adlı bir teknik kullanmanız gerekecektir.LED’leri solmaya. PWM, çıkış pimini sabit bir süre boyunca hızlı bir şekilde yüksek ve alçaltır. Değişim insan gözünün görebileceğinden daha hızlı gerçekleşir. Filmlerin çalışma biçimine benzer, hareket yanılsaması yaratmak için bir dizi hareketsiz görüntüyü çabucak bitirir. Pimi YÜKSEK ve DÜŞÜK olarak hızla döndürdüğünüz zaman, sanki voltajı değiştiriyormuşsunuz gibi. Bir pimin belirli bir dönemde YÜKSEK olduğu sürenin yüzdesine görev döngüsü denir. Pim, dönemin yarısı için YÜKSEK ve diğer yarısı için DÜŞÜK olduğunda görev döngüsü% 50’dir. Daha düşük görev döngüsü, daha yüksek görev döngüsünden daha kısık bir LED verir. Arduino Uno, PWM için ayrılan altı pime sahiptir (dijital pimler 3, 5, 6, 9, 10 ve 11), karttaki numaralarının yanında ~ ile tanımlanabilirler.

    Bu projedeki girdiler için foto dirençleri kullanacaksınız (fotoseller veya aynı zamanda ışığa bağlı dirençler olarak da bilinen ışık miktarına bağlı olarak dirençlerini değiştiren sensörler). Dirençlerin bir ucunu Arduino’nuza bağlarsanız, pildeki voltajı kontrol ederek dirençteki değişimi ölçebilirsiniz.

    DEVRE

    Breadboard’unuzu bağlayın, böylece her iki tarafta da güç ve toprak elde edin. Üç fotorezistörü ekmek tahtasının üzerine yerleştirin, böylece orta bölmeyi bir taraftan diğerine geçirirler. Her fotorezistörün bir ucunu güç kaynağına takın. Diğer tarafta toprağa 10 kilometrelik bir direnç bağlayın. Bu direnç, fotorezistör ile seri halindedir ve birlikte bir voltaj bölücü oluştururlar. Ohm Kanununa göre buluştukları noktadaki voltaj, dirençlerinin oranıyla orantılı. Fotorezistörün direnci, ışık vurduğunda değiştikçe, bu kavşaktaki voltaj da değişir. Dirençle aynı tarafta, foto dirençleri bağlantı teli ile 0, 1 ve 2 numaralı Analog Giriş pinlerine bağlayın. Üç renkli jeli alın ve her fotorezistörün üzerine bir tane yerleştirin. Kırmızı jeli A0’a bağlı fotorezistörün üzerine yerleştirin, A1’e bağlı olanın üzerinde yeşil ve A2’ye bağlı olanın üzerinde mavi. Bu filtrelerin her biri, kapladığı sensöre yalnızca belirli bir dalga boyunda ışık sağlar. Kırmızı filtre yalnızca kırmızı ışığı, yeşil filtre yalnızca yeşil ışığı ve mavi filtre yalnızca mavi ışığı geçer. Bu, sensörlerinize çarpan ışıktaki bağıl renk seviyelerini tespit etmenizi sağlar. 4 ayaklı LED, ortak bir katot RGB LED’dir.

    LED’in içinde ayrı kırmızı, yeşil ve mavi elemanlar ve bir ortak zemin (katot) vardır. Katod ile Arduino’nun PWM pimlerinden çıkan anotlara (220 ohm’luk dirençlerle anotlara bağlı olan) bir voltaj farkı yaratarak, LED’in üç rengi arasında solmasına neden olursunuz. LED üzerindeki en uzun pimin ne olduğuna dikkat edin, onu breadboard’unuza yerleştirin ve bu pimi toprağa bağlayın. Diğer üç pimi, 220-ohm dirençli serideki 9, 10 ve 11 numaralı dijital pimlere bağlayın. Her LED ucunu doğru PWM pimine bağladığınızdan emin olun.

    KOD

    Giriş ve çıkış için kullandığınız pimler için sabitleri ayarlayın, böylece hangi sensörün LED üzerinde hangi renk ile eşleştiğini takip edebilirsiniz. Veri türü için const int kullanın . Gelen sensör değerleri ve LED’i solmak için kullanacağınız çıkış değerleri için değişkenler ekleyin. İnt datatype’i tüm değişkenler için kullanabilirsiniz . In kurulum () , 9600 bps seri iletişim başlar. Seri monitördeki sensörlerin değerlerini görmek için bunu kullanacaksınız. Ek olarak, LED’in solmasını sağlamak için kullanacağınız eşlenmiş değerleri görebileceksiniz. Ayrıca, LED pinlerini pinMode () ile çıkış olarak tanımlayın . Gelen döngü () ile A0, A1 ve A2 sensör değerleri okumak analogRead ()ve değeri uygun değişkenlerde saklayın. ADC çalışmasını yapmak için bir milisaniye harcadığı için her analog Okuma () arasına küçük bir gecikme () koyun . Sensör değerlerini bir satıra yazdırın. “ \ T ” klavyedeki “sekme” tuşuna basmaya eşdeğerdir. LED’in parlaklığını PWM ile değiştirme işlevine analogWrite () adı verilir.. İki argüman gerekir: yazılacak pin ve 0-255 arasında bir değer. Bu ikinci sayı, Arduino’nun belirtilen pime çıkartacağı görev döngüsünü gösterir. 255 değeri, pimi her zaman YÜKSEK olarak ayarlayarak ekli LED’i olabildiğince parlak hale getirir. 127 değeri, LED’i daha kısık hale getirerek, pimi dönemin yarısı kadar HIGH’a ayarlayacaktır. 0, LED’i ff döndürerek, pimi her zaman LOW olarak ayarlayacaktır. Sensör değerini 0-1023 arasındaki bir değerden analogWrite () için 0-255 arasında bir değere dönüştürmek için, sensör değerini 4’e bölün. Yeni haritalanan değerleri kendi satırlarına yazdırın.BAŞLANGIÇ

    Arduino’nuzu programlayıp kablolu hale getirdikten sonra seri monitörü açın. LED, odanızdaki ışığın baskın rengine bağlı olarak muhtemelen kirli beyaz bir renkte olacaktır. Seri monitördeki sensörlerden gelen değerlere bakın, dengeli bir aydınlatmaya sahip bir ortamdaysanız, sayı muhtemelen oldukça tutarlı olmalıdır. Bulunduğunuz odadaki ışığı kapatın ve sensörlerin değerlerine ne olduğunu görün. Bir el feneri ile, sensörlerin her birini ayrı ayrı aydınlatın ve seri monitörde değerlerin nasıl değiştiğini ve LED’in renginin nasıl değiştiğini görün. Foto dirençler bir jel ile kaplandığında, sadece belirli bir dalga boyunda ışığa tepki verirler. Bu size renklerin her birini bağımsız olarak değiştirme fırsatı verecektir.

    Fotorezistörün çıktısının 0 ila 1023 arasında değişmediğini fark edebilirsiniz. Muhtemelen LED’in solmasının doğrusal olmadığını fark edeceksiniz. LED yarı parlaklıkta olduğunda, daha parlak hale geldiği görülüyor. Çünkü gözlerimiz parlaklığı doğrusal olarak algılamıyor. Işığın parlaklığı, yalnızca analoga yazdığınız seviyeye () değil, aynı zamanda ışığın kullanıcıdan uzaklığına, gözünüzün ışığa olan mesafesine ve ışığın odadaki diğer ışığa göre parlaklığına bağlıdır. .ÖZET Artık RGB LED’i üzerinde kontrol sizde. Artık LED’leri parlaklaştırmak veya kısmak kolaydır. analogWrite () , görev döngüsünü değiştirerek 3, 5, 6, 9, 10 veya 11 pinlerine bağlı PWM bileşenlerini sağlayan işlevdir. Işığı kullanmanın çeşitli yolları vardır. LED’in kayması için delik açılmış bir pinpon topu, hoş bir kullanıcı veya yarı saydam bir yapıştırıcı içerisindeki ışığı kaplamak veya ışığın yüzeyini zımparalamak için yapar.

    Bu konuda Youtube’daki filmlerden birini izleyin – buraya tıklayın