Menü English Ukrainian Rusça Ana Sayfa

Hobiler ve profesyoneller için ücretsiz teknik kütüphane Ücretsiz teknik kütüphane


RADYO ELEKTRONİK VE ELEKTRİK MÜHENDİSLİĞİ ANSİKLOPEDİSİ
Ücretsiz kütüphane / Radyo-elektronik ve elektrikli cihazların şemaları

Arduino. Analog giriş/çıkış işlemleri, sesle çalışma. Radyo elektroniği ve elektrik mühendisliği ansiklopedisi

Ücretsiz teknik kütüphane

Radyo elektroniği ve elektrik mühendisliği ansiklopedisi / Radyo amatör tasarımcısı

makale yorumları makale yorumları

Dijital giriş-çıkış işlemleri çok çeşitli sorunların çözülmesine izin verse de, Arduino kartının mikro denetleyicisinde yerleşik bir analog-dijital dönüştürücünün (ADC) varlığı ve darbe genişliği modülasyonunu kullanarak analog sinyallerin çıktısını alma yeteneği ( PWM), nesneyi kontrol sinyaliyle orantılı olarak etkileyen analog sensörler ve her türlü aktüatörle çalışmayı sağlar.

Açıkça söylemek gerekirse, çıkış modunda tüm Arduino bağlantı noktası hatları yalnızca iki duruma sahip ayrık sinyalleri iletebilir. Ancak mikro denetleyici bu durumları çok hızlı bir şekilde değiştirip dikdörtgen darbeler üretebilir. Bu darbeler atalet özelliklerine sahip herhangi bir cihaza uygulanırsa, kendisine sağlanan voltaj sabitmiş gibi, darbenin ortalama değerine eşitmiş gibi davranmaya başlayacak ve yüksek ve düşük arasındaki atlamalarda değil, düzgün bir şekilde değişecektir. mantıksal seviyeler.

PWM modunda, port sabit frekansta ve değişken görev döngüsünde bir darbe sinyali üretir (bu, darbe tekrarlama süresinin bunların süresine oranıdır). Çoğu zaman, görev döngüsü yerine, ters değeriyle çalışırlar - görev döngüsü, 0'dan (darbe yok) %100'e (darbeler takip edilir, birleştirilir, duraklama olmadan) değiştirilebilir. Bu nedenle, herhangi bir anda çıkış voltajı yüksek veya düşük mantık seviyesine karşılık gelse de ortalama değeri görev döngüsüyle orantılıdır. Bu çıkışa normal bir multimetre bağlarsanız bu değeri gösterecektir (tabii ki darbe frekansı yeterince yüksekse).

Arduino UNO'da D3, D5, D6, D9, D10 ve D11 çıkışları PWM modunda çalışabilir. Genellikle pano üzerinde "~" işaretleri veya "PWM" kısaltmalarıyla işaretlenirler. Diğer modifikasyonların Arduino kartlarının az ya da çok bu tür çıktılara sahip olabileceği unutulmamalıdır.

En basit durumda PWM, bir LED'in parlaklığını kontrol etmek için kullanılabilir. Bu cihaz pratik olarak ataletsizdir, ancak insan görüşü, bir dizi hızlı LED yanıp sönmesinin, doldurma faktörüne bağlı olarak parlaklıkla sürekli bir parıltı olarak algılanmasına yetecek kadar atalete sahiptir.

PWM üretebilen ayrık çıkışlar, varsayılan olarak bu modu kullanacak şekilde yapılandırılmıştır; dolayısıyla bunları bu modda çalıştırmak için pinMode() işlevini çağırmaya gerek yoktur. Bir PWM sinyalinin görev döngüsünü ayarlamak için standart bir analogWrite(N, M) fonksiyonu vardır; burada N, pin numarasıdır ve M, gerekli görev döngüsüyle orantılı bir sayıdır. 0 ila 255 aralığında olmalıdır; 0, sıfır görev döngüsüne (çıkışta sabit düşük seviye), 255 - 100% görev döngüsüne (çıkışta sabit yüksek seviye) karşılık gelir. Belirli M değerlerinde çıkış voltajının zamanlama diyagramları ve buna göre kısa devre görev döngüsü, Şekil 1'de gösterilmektedir. XNUMX.

Arduino. Analog I/O İşlemleri, Ses İşlemleri
Pirinç. 1. Çıkış voltajının zamanlama şemaları

Örneğin, tabloda verileni düşünün. D1 dijital çıkışına bağlı LED'in parlaklığını kademeli olarak artıran ve ardından kademeli olarak azaltan 9 program. Arduino IDE ile birlikte gelen standart example3.AnalogFading'i temel alır. Darbe görev döngüsü değerlerinin numaralandırılması burada daha önce [1]'de tartışılan for döngüsü operatörleri kullanılarak uygulanır.

Tablo 1.

Arduino. Analog I/O İşlemleri, Ses İşlemleri

Arduino'daki harici cihazlardan analog sinyaller almak için, varsayılan olarak bunun için gereken duruma ayarlanan A0-A5 girişleri tasarlanmıştır, bu nedenle ek bir başlatma gerekmez. Arduino UNO'da yerleşik olan ADC, 10 bitlik ikili kodlar üretir ve 0 ila +5 V aralığındaki giriş voltajını 0 ila 1023 (210-1) arasında bir tam sayıya dönüştürür.

Dönüştürme sonucunu okumak için analogRead(N) fonksiyonunu kullanın; burada N, analog girişin numarasıdır.

Çıkış voltajı ölçülen değerle orantılı olan Arduino analog girişlerine çeşitli sensörler bağlayabilirsiniz (değişken dirençler, termistörler, fotodirençler vb.). Ancak analog girişe yalnızca 0 ila +5 V arası voltajın verilebileceği unutulmamalıdır.Sensörün çıkış voltajı farklı bir aralıktaysa veya negatif polaritedeyse, sinyal öncelikle belirtilen aralıkta yerleştirilmelidir. menzil. Analog giriş 10 kHz'den daha düşük bir hızda yoklanır [2] ve bu, hızla değişen bazı sinyalleri analiz etmek için yeterli olmayabilir.

Analog girişlerin varlığı, Arduino'yu 0 ila +5 V arasındaki DC voltajını ölçen ve ölçüm sonucunu bilgisayara ileten basit bir dijital voltmetreye dönüştürmenize olanak tanır. Bunun için tabloda verilen programı Arduino’ya yüklemeniz yeterli. 2.

Tablo 2

Arduino. Analog I/O İşlemleri, Ses İşlemleri

Programda referans ADC voltajı Uref'in (milivolt olarak) ve ADC çıkış kodunun Ku voltajına dönüşüm faktörünün sabit olarak belirtildiğini lütfen unutmayın. Katsayının değeri, verilen referans voltajının 1023'e bölünmesiyle hesaplanır. Katsayı genellikle kesirlidir, dolayısıyla Ki sabiti float (kayan nokta sayısı) türündedir. Uref sabiti, katsayıyı doğru bir şekilde hesaplamak için aynı tiptedir. Formülün sağ tarafı yalnızca sabitleri içerdiğinden, katsayı program yürütülürken mikrodenetleyici tarafından değil, çeviri aşamasında derleyicinin kendisi tarafından hesaplanır.

Tüm bunlar, Arduino kartının Uref pinindeki referans voltajının tam değerini bir multimetre ile ölçerek ve bunu Uref sabitine atayarak programa yazarak voltmetrenin doğruluğunu artırmanıza olanak tanır. Analogdan dijitale dönüşümün doğruluğunu artırmanın diğer yollarını [3, 4]'te okuyabilirsiniz.

Söz konusu program çalışırken, kart üzerindeki TX LED'i yanıp sönerek seri port üzerinden bilgi aktarımının sinyalini verir. Bilgisayar hiçbir şeyi geri göndermediğinden RX LED'i yanmıyor. Yerleşik Arduino IDE terminali, alınan bilgileri (Şekil 2) - 3332 galvanik pilin voltajının ölçülmesinin sonuçlarını görüntüler.

Arduino. Analog I/O İşlemleri, Ses İşlemleri
Pirinç. 2. Program penceresi

Arduino sadece ışık değil aynı zamanda ses sinyalleri de sağlayabilir. Bunu yapmak için, çıkışlarından birine bir piezo ses yayıcı, örneğin ZP-1 bağlamanız gerekir (Şekil 3).

Arduino. Analog I/O İşlemleri, Ses İşlemleri
Pirinç. 3. Piezo ses yayıcı bağlama

Sesle çalışmak için özel bir işlev sağlanmıştır: tone(N, F, T), burada N, üzerinde dikdörtgen darbelerin üretileceği pin numarasıdır; F - ses frekansı, Hz; T - ses süresi, ms. Son parametre isteğe bağlıdır. Onun yokluğunda ses sürekli olacaktır. Kapatmak için noTone(N) işlevi sağlanmıştır.

Elbette piezoseramik ses yayıcıya yüksek kaliteli bir oynatma cihazı denemez ve mikro denetleyici tarafından üretilen sinyal dikdörtgen bir şekle sahiptir, ancak bu işlevlerin kullanımı basit melodileri çalmanıza olanak tanır. Bir örnek tabloda verilmiştir. 3. Bu, Arduino IDE'de bulunan 02.Digital oneMelody programının biraz değiştirilmiş bir örneğidir. Bir melodinin her notasının frekansını manuel olarak ayarlamak sakıncalı olduğundan, pitches.h dosyası #include yönergesi kullanılarak programın başlığına eklenir. Bu işlem, bu dosyanın tam metninin programa dahil edilmesine eşdeğerdir. Bu durumda çalınabilecek notaların adlarının ve frekanslarının bir listesini içerir.

Tablo 3

Arduino. Analog I/O İşlemleri, Ses İşlemleri

Ses yayıcı D8 çıkışına bağlanmalıdır.

Bir program için melodi, aynı türden öğelerin numaralandırılmış bir listesi olan bir dizide uygun şekilde birleştirilen aynı türdeki sabitlerin (frekans değerleri) bir dizisidir. Bir diziyi bildirirken ya tüm elemanlarını listelemeli ya da toplam sayısını belirtmelisiniz. Lütfen dizi elemanlarının numaralandırılmasının her zaman sıfırdan başladığını unutmayın.

Söz konusu örnekte iki dizi kullanılmıştır: int melodi[] melodi notalarının adlarını içerir, int nota Süreler[] - milisaniye cinsinden süreleri. Bir dizi öğesine atıfta bulunmak için, adını köşeli parantez içine alınmış bir seri numarasıyla belirtin. Bir melodideki nota sayısını kolayca değiştirebilmek için, mikrokontrolör belleğinde argümanının (değişken veya bunların dizisi) kapladığı bayt sayısını döndüren sizeof(V) işlevleri kullanılarak hesaplanır. Bu durumda melodi dizisi 16 bayt kaplar ve int elemanlarının uzunluğu iki bayttır. Bu nedenle Note değişkeni 8 değerini alır ve bu, for döngüsünün gövdesinin notaları birer birer çalarak kaç kez tekrarlanacağını gösterir.

Melodi[] dizisine birden fazla nota eklerseniz Nota değeri buna göre değişecektir. Bu notların sürelerini içeren noteDurations[] dizisini eklemeyi hatırlamanız yeterlidir.

Melodi yalnızca bir kez yürütüldüğünden gerekli tüm işlemler setup() fonksiyonunun içine yerleştirilir.

Yeniden çalıştırmak için Arduino kartında bulunan RESET butonuna basarak mikrodenetleyiciyi orijinal durumuna sıfırlamanız gerekir.

Makalede tartışılan Arduino programları ftp://ftp.radio.ru/pub/2016/09/aninout.zip adresinden indirilebilir.

Edebiyat

  1. Lekomtsev D. Arduino. Dijital giriş/çıkış işlemleri. - Radyo, 2016, Sayı 8, s. 51-54.
  2. Arduino ile analog ölçümler. - URL: robotosha.ru/arduino/analog-measurements-arduino.html.
  3. Arduino Dil Referansı. Analog G/Ç - analogReferans(). - URL: arduino.cc/en/Reference/AnalogReference.
  4. analogReference() işlevi. - URL: arduino.ru/Reference/AnalogReference.

Yazar: D. Lekomtsev

Diğer makalelere bakın bölüm Radyo amatör tasarımcısı.

Oku ve yaz yararlı bu makaleye yapılan yorumlar.

<< Geri

En son bilim ve teknoloji haberleri, yeni elektronikler:

Optik Sinyalleri Kontrol Etmenin ve Yönetmenin Yeni Bir Yolu 05.05.2024

Modern bilim ve teknoloji dünyası hızla gelişiyor ve her gün bize çeşitli alanlarda yeni ufuklar açan yeni yöntem ve teknolojiler ortaya çıkıyor. Bu tür yeniliklerden biri, Alman bilim adamlarının, fotonik alanında önemli ilerlemelere yol açabilecek optik sinyalleri kontrol etmenin yeni bir yolunu geliştirmesidir. Son araştırmalar, Alman bilim adamlarının erimiş silika dalga kılavuzunun içinde ayarlanabilir bir dalga plakası oluşturmasına olanak sağladı. Sıvı kristal katmanın kullanımına dayanan bu yöntem, bir dalga kılavuzundan geçen ışığın polarizasyonunu etkili bir şekilde değiştirmeye olanak tanır. Bu teknolojik atılım, büyük hacimli verileri işleyebilen kompakt ve verimli fotonik cihazların geliştirilmesi için yeni umutlar açıyor. Yeni yöntemle sağlanan elektro-optik polarizasyon kontrolü, yeni bir entegre fotonik cihaz sınıfının temelini oluşturabilir. Bu, büyük fırsatların önünü açıyor ... >>

Primium Seneca klavye 05.05.2024

Klavyeler günlük bilgisayar işlerimizin ayrılmaz bir parçasıdır. Ancak kullanıcıların karşılaştığı temel sorunlardan biri, özellikle premium modellerde gürültüdür. Ancak Norbauer & Co'nun yeni Seneca klavyesiyle bu durum değişebilir. Seneca sadece bir klavye değil, ideal cihazı yaratmak için beş yıllık geliştirme çalışmasının sonucudur. Bu klavyenin akustik özelliklerinden mekanik özelliklerine kadar her yönü dikkatle düşünülmüş ve dengelenmiştir. Seneca'nın en önemli özelliklerinden biri, birçok klavyede yaygın olan gürültü sorununu çözen sessiz dengeleyicileridir. Ayrıca klavye çeşitli tuş genişliklerini destekleyerek her kullanıcı için kolaylık sağlar. Seneca henüz satışa sunulmasa da yaz sonunda piyasaya sürülmesi planlanıyor. Norbauer & Co'nun Seneca'sı klavye tasarımında yeni standartları temsil ediyor. O ... >>

Dünyanın en yüksek astronomi gözlemevi açıldı 04.05.2024

Uzayı ve onun gizemlerini keşfetmek, dünyanın her yerindeki gökbilimcilerin dikkatini çeken bir görevdir. Şehrin ışık kirliliğinden uzak, yüksek dağların temiz havasında yıldızlar ve gezegenler sırlarını daha net bir şekilde açığa çıkarıyor. Dünyanın en yüksek astronomi gözlemevi olan Tokyo Üniversitesi Atacama Gözlemevi'nin açılışıyla astronomi tarihinde yeni bir sayfa açılıyor. Deniz seviyesinden 5640 metre yükseklikte bulunan Atacama Gözlemevi, uzay araştırmalarında gökbilimcilere yeni fırsatlar sunuyor. Bu site, yer tabanlı bir teleskop için en yüksek konum haline geldi ve araştırmacılara Evrendeki kızılötesi dalgaları incelemek için benzersiz bir araç sağladı. Yüksek rakımlı konum daha açık gökyüzü ve atmosferden daha az müdahale sağlasa da, yüksek bir dağa gözlemevi inşa etmek çok büyük zorluklar ve zorluklar doğurur. Ancak zorluklara rağmen yeni gözlemevi gökbilimcilere geniş araştırma olanakları sunuyor. ... >>

Arşivden rastgele haberler

Odysseus Ithaca'da yaşamıyordu 09.03.2006

Son üç bin yıldır, Odysseus - Ithaca'nın doğum yerinin tam yeri bir sır olarak kaldı.

Bu isimde bir Yunan adası var ama hiçbir özelliği Homeros'un tanımlarına uymuyor. Bu, birçok tarihçinin Odysseus'un eve dönüş hikayesinin tamamının sadece şiirsel bir kurgu olduğuna inanmasına neden oldu.

Ancak son zamanlarda Homer'in eserlerine düşkün İngiliz işadamı Robert Beatlestone, inandığı gibi Odysseus sarayının bulunduğu yeri buldu. Odyssey'de bulunan bu göstergeler için Beatlestone'un yanı sıra coğrafi, arkeolojik veriler ve uydu fotoğrafları kullanılmıştır.

Amatör bir arkeologa göre saray, Kefalonya adasının batı kıyısında, modern Ithaca'ya en yakın, Paliki köyü yakınlarında bulunuyordu. Görünüşe göre, bu Kefalonya parçası bir zamanlar bağımsız bir adaydı, ancak büyük bir depremden sonra adayı Kefalonya'dan ayıran dar boğaz dolduruldu.

Diğer ilginç haberler:

▪ Sonsuz pil şarjı için nanoelektrik yakıt

▪ Robot elektrikli süpürge Samsung POWERbot VR7000

▪ Amazon Kindle DX e-kitap

▪ Stres tehlikeli değil, ona verilen tepki

▪ Kelimeler ve onların duygusal renkleri

Bilim ve teknolojinin haber akışı, yeni elektronik

 

Ücretsiz Teknik Kitaplığın ilginç malzemeleri:

▪ sitenin bölümü Kişisel ulaşım: kara, su, hava. Makale seçimi

▪ makale Video çekiminin bir bileşeni olarak aydınlatma. video sanatı

▪ makale Hangi şehirde yaşayanların neredeyse tamamı aynı evde yaşıyor? ayrıntılı cevap

▪ makale İlmiği sıkma. Seyahat ipuçları

▪ makale EPU ARKTUR-006-STEREO için yükseltici-düzeltici. Radyo elektroniği ve elektrik mühendisliği ansiklopedisi

▪ makale Alan etkili transistörler KP150 - KP640. Radyo elektroniği ve elektrik mühendisliği ansiklopedisi

Bu makaleye yorumunuzu bırakın:

Adı:


E-posta isteğe bağlı):


Yorum:





Bu sayfanın tüm dilleri

Ana sayfa | Kütüphane | Makaleler | Site haritası | Site incelemeleri

www.diagram.com.ua

www.diagram.com.ua
2000-2024