İçindekiler:

Arduino için MCP41HVX1 Dijital Potansiyometre: 10 Adım (Resimli)
Arduino için MCP41HVX1 Dijital Potansiyometre: 10 Adım (Resimli)

Video: Arduino için MCP41HVX1 Dijital Potansiyometre: 10 Adım (Resimli)

Video: Arduino için MCP41HVX1 Dijital Potansiyometre: 10 Adım (Resimli)
Video: Arduino ile MCP42100 Dijital Potansiyometre Yapımı (DFROBOT) 2024, Kasım
Anonim
Arduino için MCP41HVX1 Dijital Potansiyometre
Arduino için MCP41HVX1 Dijital Potansiyometre

MCP41HVX1 ailesi dijital potansiyometreler (diğer adıyla DigiPots), bir analog potansiyometrenin işlevini taklit eden ve SPI aracılığıyla kontrol edilen cihazlardır. Örnek bir uygulama, stereonuzdaki ses düğmesini bir Arduino tarafından kontrol edilen bir DigiPot ile değiştirmek olabilir. Bu, stereonuzdaki ses kontrolünün bir döner kodlayıcı değil bir potansiyometre olduğunu varsayar.

MCP41HVX1, bölünmüş ray tasarımına sahip oldukları için diğer DigiPot'lardan biraz farklıdır. Bu, DigiPot'un kendisi bir Arduino'nun çıkış voltajı tarafından kontrol edilebilmesine rağmen, direnç ağından geçen sinyalin çok daha geniş bir voltaj aralığında (36 volta kadar) çalıştığı anlamına gelir. 5 volt ile kontrol edilebilen çoğu DigiPot, direnç ağı boyunca 5 volt ile sınırlıdır ve bu da, bir arabada veya teknede bulacağınız gibi daha yüksek voltajla çalışan mevcut bir devreyi yenilemek için kullanımlarını kısıtlar.

MCP41HVX1 ailesi aşağıdaki yongalardan oluşur:

  • MCP41HV31-104E/ST - 100k ohm (7 bit)
  • MCP41HV31-503E/ST - 50k ohm (7 bit)
  • MCP41HV31-103E/ST - 10k ohm (7 bit)
  • MCP41HV31-502E/ST - 5k ohm (7 bit)
  • MCP41HV31-103E/MQ - 10k ohm (7 bit)
  • MCP41HV51-104E/ST - 100k ohm (8 bit)
  • MCP41HV51-503E/ST - 50k ohm (8 bit)
  • MCP41HV51T-503E/ST - 50k ohm (8 bit)
  • MCP41HV51-103E/ST - 10k ohm (8 bit)
  • MCP41HV51-502E/ST - 5k ohm (8 bit)

7 bit yongalar direnç ağında 128 adıma izin verir ve 8 bit yongalar direnç ağında 256 adıma izin verir. Bu, 8 bitlik yongaların potansiyometreden iki kat daha fazla direnç değerine izin verdiği anlamına gelir.

Gereçler

  • Yukarıdaki listeden uygun MCP41HVX1 yongasını seçin. Seçtiğiniz çip, uygulamanız için gereken direnç aralığına bağlıdır. Bu Eğitilebilir Tablo, çipin TSSOP 14 paket sürümlerine dayanmaktadır, bu nedenle bu kılavuzla birlikte takip etmek için, bir QFN paketi olan MCP41HV31-103E/MQ dışındaki listedeki herhangi bir çipi seçin. Kötü bir taneyle karşılaştığım ve ucuz oldukları için birkaç ekstra cips almam tavsiye edilir. Benimkini Digi-Key'den sipariş ettim.
  • 10 ila 36 volt arası ikincil DC güç kaynağı. Örneğimde, eski güç kaynakları kutumdan 17 voltluk bir duvar siğil DC güç kaynağı kullanıyorum.
  • Lehim akı
  • Havya
  • Lehim
  • Cımbız ve\veya kürdan
  • TSSOP 14 pinli devre kartı - Amazon - QLOUNI 40 adet PCB Proto Kartları SMD'den DIP'ye Adaptör Plakası Dönüştürücü TQFP (32 44 48 64 84 100) SOP SSOP TSSOP 8 10 14 16 20 23 24 28 (Çeşitli boyutlar. Birden fazla proje için çok sayıda mevcuttur)
  • 2 - 7 pin başlığının miktarı - Amazon - DEPEPE Arduino Prototype Shield için 30 Adet 40 Pin 2.54mm Erkek ve Dişi Pin Başlıkları - (Gerekli boyuta kesilir. Birden fazla proje için pakette bol miktarda bulunur)
  • Arduino Uno - Eğer yoksa, resmi bir yönetim kurulu almanızı öneririm. Resmi olmayan sürümlerle şansım karışıktı. Dijital Anahtar - Arduino Uno
  • Direnci ölçebilen ve aynı zamanda sürekliliği kontrol edebilen çoklu sayaç
  • Atlama telleri
  • ekmek tahtası
  • TSSOP yongaları çok küçük olduğu için eller serbest bir büyüteç şiddetle tavsiye edilir, ancak kesinlikle gerekli değildir. Multimetre ile lehimleme ve test için iki elinize de ihtiyacınız olacak. Reçeteli gözlüklerimin üzerinde bir çift Harbour Freight 3x Klipsli Büyüteç ve serbest duran\mafsallı bir büyüteç kullanıyorum. Diğer seçenekler, indirim veya dolar mağazasından bir çift ucuz okuyucudur. Okuyucuları reçeteli gözlüklerinizin üzerine takabilir veya görüşünüzün ne kadar iyi (veya kötü) olduğuna bağlı olarak iki çift okuyucu (biri üst üste) alabilirsiniz. Gözlükleri ikiye katlıyorsanız, görüş alanınız çok sınırlı olacağından dikkatli olun, bu nedenle başka bir şey yapmadan önce onları çıkardığınızdan emin olun. Ayrıca lehimleme yaparken ekstra dikkatli olun.
  • Gerekli olmayan ancak şiddetle tavsiye edilen bir diğer ürün de Liman Taşımacılığı Yardım Elleridir. Metal bir tabana tutturulmuş timsah klipleridir. Bunlar, internetteki diğer birçok satıcıdan farklı marka adları altında da temin edilebilir. Bunlar, çipi koparma panosuna lehimlerken çok faydalıdır.

Adım 1: TSSOP Yongasını Breakout Board'a Lehimleme

Image
Image
TSSOP Chip'i Breakout Board'a Lehimleme
TSSOP Chip'i Breakout Board'a Lehimleme
TSSOP Chip'i Breakout Board'a Lehimleme
TSSOP Chip'i Breakout Board'a Lehimleme

TSSOP yongasının bir devre tahtasıyla veya doğrudan DuPont atlama telleriyle kullanabilmeniz için bir devre kartına lehimlenmesi gerekir. Prototipleme çalışmaları için doğrudan çalışmak için çok küçüktürler.

Küçük boyutları nedeniyle, TSSOP çipini lehimlemek bu projenin en zorlu kısmı olabilir, ancak bunu yapmanın hilesini bilmek onu herkesin başarabileceği bir görev haline getiriyor. Birkaç teknik var, aşağıdaki benim yaptığım şey.

Strateji, lehimi önce koparma panosunun izlerine akıtmaktır.

  • Talimat verilene kadar çipi koparma tahtasına koymayın.
  • Yapılacak ilk şey, koparma tahtasına bol miktarda akı koymaktır.
  • Ardından, havyanızı kullanarak biraz lehim ısıtın ve izlerin üzerine akıtın.
  • Çipin bacaklarının yanı sıra izlerin üzerine akıttığınız lehimin üstüne biraz daha akı koyun.
  • Lehim ve flux yerleştirdiğiniz izlerin üzerine çipi yerleştirin. Cımbız veya kürdan, çipi tam olarak yerine yerleştirmek için iyi araçlardır. Tüm pimlerin doğrudan izlerin üzerinde olması için çipi düzgün şekilde hizaladığınızdan emin olun. Çipin bir pimini, ayırma panosundaki pim bir için işaretle hizalayın.
  • Havyanızı kullanarak çipin ucundaki pimlerden birini (pim 1, 7, 8 veya 14) iz içine bastırarak ısıtın. Daha önce uyguladığınız lehim eriyecek ve pimin etrafından akacaktır.

Çipin devre kartına nasıl lehimleneceğinin bir gösterimini görmek için bu adımdaki videoyu izleyin. Bunun videodan farklı olduğunu düşündüğüm bir öneri, ilk pin stopunu lehimledikten sonra ve tüm pinlerin hala izlerin üzerinde olduğundan emin olmak için tüm çipin hizalanmasını tekrar kontrol etmenizdir. Biraz kapalıysanız, bu noktada düzeltmek kolaydır. Rahat olduğunuzda, her şey yolunda görünüyor, çipin diğer ucuna başka bir pim lehimleyin ve hizalamayı tekrar kontrol edin. Bu iyi görünüyorsa, devam edin ve pimlerin geri kalanını yapın.

Tüm pinleri lehimledikten sonra, video bağlantılarınızı doğrulamak için bir büyüteç kullanmanızı önerir. Daha iyi bir yöntem, sürekliliği kontrol etmek için bir multimetre kullanmaktır. Bir sondayı pimin ayağına, diğer sondayı da kartın başlığı lehimleyeceğiniz kısmına yerleştirmelisiniz (bu adımdaki ikinci resme bakın). Ayrıca, birkaç pimi birbirine kısa devre yapan lehim nedeniyle bağlı olmadıklarından emin olmak için bitişik pimleri de kontrol etmelisiniz. Örneğin pin 4'ü doğrulıyorsanız, pin 3 ve pin 5'i de kontrol edin. Pin 4 süreklilik göstermeli, pin 3 ve pin 5 açık devre göstermelidir. Tek istisna, silecek P0W'nin P0A veya P0B'ye bağlantı gösterebilmesidir.

İPUÇLARI:

  • Malzeme listesinde belirtildiği gibi, ellerinizi çalışmak için serbest bırakan bir miktar büyütmeye sahip olmak bu adımda çok yardımcı olacaktır.
  • Ellerin ayırma panosunu tutmasına yardımcı olan timsah klipsini kullanmak, her şeyi lehimlemeyi biraz daha kolaylaştırır.
  • Çip numarasını bir parça maskeleme bandına yazın ve koparma tahtasının altına yapıştırın (bu bölümdeki üçüncü resme bakın). Gelecekte çipi tanımlamanız gerekirse, maskeleme bandını okumak çok daha kolay olacaktır. Kişisel deneyimim, çipte biraz akı var ve sayı tamamen çıktı, bu yüzden sahip olduğum tek şey kaset.

Adım 2: Kablolama

kablolama
kablolama

Arduino ve Digipot'u bağlantı şemasında gösterildiği gibi bağlamanız gerekecektir. Kullanılan pinler, Arduino Uno'nun düzenine dayanmaktadır. Farklı bir Arduino kullanıyorsanız son adıma bakın.

Adım 3: DigiPot'u Kontrol Etmek için Arduino Kitaplığını Alma

DigiPot'u Kontrol Etmek için Arduino Kitaplığını Alma
DigiPot'u Kontrol Etmek için Arduino Kitaplığını Alma

Programlamayı basitleştirmek için Github'da bulunan bir kitaplık oluşturdum. MCP41HVX1 kitaplığını almak için github.com/gregsrabian/MCP41HVX1 adresine gidin. "Klonla" düğmesini ve ardından "Zip İndir" seçeneğini seçmek isteyeceksiniz. Zip dosyasını nerede olduğunu bildiğiniz bir konuma kaydettiğinizden emin olun. Masaüstü veya indirilenler klasörü kullanışlı konumlardır. Arduino IDE'ye aktardıktan sonra indirme konumundan silebilirsiniz.

Adım 4: Yeni Kitaplığı Arduino IDE'ye Aktarma

Yeni Kütüphaneyi Arduino IDE'ye Aktarma
Yeni Kütüphaneyi Arduino IDE'ye Aktarma

Arduino IDE içinde "Çizim"e gidin, ardından "Kitaplığı Dahil Et"i seçin, ardından "ZIP Kitaplığı Ekle"yi seçin. GitHub'dan indirdiğiniz. ZIP dosyasını seçmenize izin veren yeni bir iletişim kutusu görünecektir.

Adım 5: Kitaplık Örnekleri

Kütüphane Örnekleri
Kütüphane Örnekleri

Yeni kitaplığı ekledikten sonra, "Dosya"ya gidip "Örnekler"i ve ardından "Özel Kitaplıklardan Örnekler"i seçerseniz, şimdi listede MCP41HVX1 için bir giriş göreceğinizi fark edeceksiniz. Bu girişin üzerine geldiğinizde örnek çizimler olan WLAT, Silecek Kontrolü ve SHDN'yi göreceksiniz. Bu Eğitilebilir Tabloda Silecek Kontrolü örneğini kullanacağız.

Adım 6: Kaynak Kodun İncelenmesi

#include "MCP41HVX1.h" // Arduino'da kullanılan pinleri tanımlayın#WLAT_PIN 8'i tanımlayın // Düşük olarak ayarlanmışsa "aktar ve kullan" #define SHDN_PIN 9 // Direnç ağını etkinleştirmek için yüksek ayarla#define CS_PIN 10 // SPI için çip seçmek için düşük olarak ayarlayın // Test uygulaması için kullanılan bazı değerleri tanımlayın#define FORWARD true#define REVERSE false#define MAX_WIPER_VALUE 255 // Maksimum silici değeri MCP41HVX1 Digipot(CS_PIN, SHDN_PIN, WLAT_PIN);void setup (){ Seri.başla(9600); Serial.print("Başlangıç Konumu = "); Serial.println(Digipot. WiperGetPosition()); // Başlangıç değerini göster Serial.print("Silecek Konumunu Ayarla = "); Serial.println(Digipot. WiperSetPosition(0)); // Silici konumunu 0 olarak ayarlayın} void loop (){ static bool bDirection = FORWARD; int nWiper = Digipot. WiperGetPosition(); // Geçerli silecek konumunu al // Yönü belirle. if(MAX_WIPER_VALUE == nSilecek) { bYön = TERS; } else if(0 == nWiper) { bYön = İLERİ; } // Digipot siliciyi hareket ettirin if(FORWARD == bDirection) { nWiper = Digipot. WiperIncrement(); // Yön ileri Serial.print("Artış - "); } else { nWiper = Digipot. WiperDecrement(); // Yön geridir Serial.print("Azalt - "); } Serial.print("Silecek Konumu = "); Serial.println(nWiper); gecikme(100);}

Adım 7: Kaynak Kodu Anlama ve Çizimi Çalıştırma

Image
Image

Bu kaynak kodu Arduino IDE içinde Örnekler menüsüne giderek ve yeni kurduğunuz MCP41HVX1'i bularak kullanılabilir (önceki adıma bakın). MCP41HVX1 içinde "Silecek Kontrolü" örneğini açın. Kütüphanede bulunan kodu, güncellenecek herhangi bir hata düzeltmesi varmış gibi kullanmak en iyisidir.

Silecek Kontrolü örneği, MCP41HVX1 kitaplığından aşağıdaki API'leri gösterir:

  • Yapıcı MCP41HVX1(int nCSPin, int nSHDNPin, int nWLATPin)
  • WiperGetPosition()
  • WiperSetPosition(bayt byWiper)
  • WiperIncrement()
  • WiperDecrement()

7 bitlik bir çip kullanıyorsanız, örnek kaynak kodunda MAX_WIPER_VALUE değerini 127 olarak ayarladığınızdan emin olun. Varsayılan, 8 bit yongalar için olan 255'tir. Örnekte değişiklik yaparsanız, Arduino IDE, örnek kodu güncellemenize izin vermeyeceğinden, proje için yeni bir ad seçmenizi zorlayacaktır. Bu beklenen davranıştır.

Döngü boyunca her seferinde silecek, gittiği yöne bağlı olarak bir adım artacak veya bir adım azalacaktır. Yön yukarıysa ve MAX_WIPER_VALUE değerine ulaşırsa yönü tersine çevirir. 0'a ulaşırsa tekrar tersine döner.

Çizim çalışırken, seri monitör mevcut silecek konumuyla güncellenir.

Direnç değişimini görmek için Ohm okumak için bir multimetre seti kullanmanız gerekecektir. Uygulama çalışırken direnç değişimini görmek için ölçüm problarını P0B (pim 11) ve P0W (pim 12) üzerine yerleştirin. Çipte bir miktar dahili direnç olduğu için direnç değerinin sıfıra kadar gitmeyeceğini, ancak 0 ohm'a yaklaşacağını unutmayın. Büyük olasılıkla maksimum değere de gitmeyecek ama yakın olacak.

Videoyu izlediğinizde multimetrenin direncin maksimum değere ulaşana kadar arttığını ve ardından azalmaya başladığını görebilirsiniz. Videoda kullanılan çip, maksimum 100k ohm değerine sahip 8 bitlik bir çip olan MCP41HV51-104E/ST'dir.

8. Adım: Sorun Giderme

İşler beklendiği gibi çalışmıyorsa, bakılması gereken birkaç şey var.

  • Kablolamanızı doğrulayın. Her şey doğru şekilde bağlanmalıdır. Bu Talimatta belirtildiği gibi tam kablo şemasını kullandığınızdan emin olun. README'de, kitaplık kaynak kodunda ve bu Eğitilebilir Tabloda aşağıda sunulan alternatif kablolama şemaları vardır, ancak yukarıdaki Kablolama adımında yukarıda belgelenenlere sadık kalın.
  • Dijital potunuzdaki her pinin devre kartına lehimlendiğinden emin olun. Görsel inceleme kullanmak yeterince iyi değildir. Digipot üzerindeki tüm pinlerin elektriksel olarak devre kartına bağlı olduğunu ve izler arasında köprülenmiş olabilecek lehim pinlerinin çapraz bağlantısı olmadığını doğrulamak için multimetrenizin süreklilik işlevini kullanarak doğruladığınızdan emin olun.
  • Seri monitör, çizimi çalıştırdığınızda silecek konumunun değiştiğini gösteriyor ancak direnç değeri değişmiyorsa, bu, WLAT veya SHDN'nin, WLAT veya SHDN için devre kartı veya atlama teli sileceklerine uygun bir bağlantı yapmadığının bir göstergesidir. Arduino'ya düzgün bağlanmamış.
  • 10 ila 36 volt arasında DC olan ikincil bir güç kaynağı kullandığınızdan emin olun.
  • Voltajı multimetrenizle ölçerek 10 ila 36 volt güç kaynağının çalıştığından emin olun.
  • Orijinal çizimi kullanmayı deneyin. Herhangi bir değişiklik yaptıysanız, bir hata vermiş olabilirsiniz.
  • Sorun giderme adımlarından hiçbiri başka bir digipot yongasını denemeye yardımcı olmadıysa. Umarım birkaç tane satın aldınız ve onları aynı anda bir TSSOP devre kartına lehimlediniz, bu yüzden sadece birini diğeriyle değiştirmek meselesi olmalı. Beni biraz hayal kırıklığına uğratan kötü bir çipim vardı ve bu düzeltmeydi.

9. Adım: Dahili Bilgiler ve Ek Bilgiler

Alternatif Bağlantı Şeması
Alternatif Bağlantı Şeması

Daha fazla bilgi:

Daha fazla bilgi MCP41HVX1 veri sayfasında bulunabilir.

MCP41HVX1 kitaplığının tamamına ilişkin tam belgeler, kitaplık indirmesinin bir parçası olan README.md dosyasında mevcuttur. Bu dosya aşağı işaretleme ile yazılmıştır ve Github içinde (sayfanın en altına bakın) uygun biçimlendirme ile veya bir işaretleme görüntüleyici\düzenleyici ile görüntülenebilir.

Arduino ve DigiPot arasındaki iletişim:

Arduino, SPI kullanarak DigiPot ile iletişim kurar. Kitaplık, WiperIncrement, WiperDecrement veya WiperSetPosition gibi bir silici konum komutu gönderdikten sonra, çipten silici konumunu almak için WiperGetPosition'ı çağırır. Bu Silecek komutlarından döndürülen değer, sileceğin çipin gördüğü konumudur ve sileceğin beklenen konuma hareket ettiğini doğrulamak için kullanılabilir.

Gelişmiş İşlevsellik (WLAT ve SHDN)

Bu gelişmiş işlevler "Silecek Kontrolü" örneğinde gösterilmemiştir. WLAT & SHDN'yi kontrol etmek için kütüphanede API'ler mevcuttur. Kitaplıkta ayrıca WLAT ve SHDN örnek çizimleri (Silecek Kontrolü çizimi ile aynı konumda) bulunmaktadır.

SHDN (Kapatma)

SHDN, direnç ağını devre dışı bırakmak veya etkinleştirmek için kullanılır. SHDN'yi düşük devre dışı bırakır ve yüksek olarak ayarlamak, direnç ağını etkinleştirir. Direnç ağı devre dışı bırakıldığında P0A (DigiPot pim 13) bağlantısı kesilir ve P0B (DigiPot pim 11) P0W'ye (DigiPot pim 12) bağlanır. P0B ve P0W arasında az miktarda direnç olacağı için sayacınız 0 ohm okumayacaktır.

Uygulamanızın SHDN'yi kontrol etmesine gerek yoksa, onu doğrudan YÜKSEK'e bağlayabilirsiniz (alternatif kablo şemasına bakın). SHDN'nin kablolu olduğunu belirtmek için doğru oluşturucuyu kullanmanız veya MCP41HVX1_PIN_NOT_CONFIGURED'i yapıcıya iletmeniz gerekecektir. Örneği takip ediyorsanız, tam kablo şemasını kullanmanız gerektiğini unutmayın (yukarıdaki Kablolama adımına bakın).

WLAT (Yazma Mandalı)

İç mimari, tek bir çip üzerinde iki bileşendir. Bileşenlerden biri SDI arabirimi ve silecek değerini tutan kayıttır. Diğer bileşen, direnç ağının kendisidir. WLAT, her iki dahili bileşeni birbirine bağlar.

WLAT DÜŞÜK olarak ayarlandığında, ayarlanmış herhangi bir silecek konumu komut bilgisi doğrudan direnç ağına iletilir ve silecek konumu güncellenir.

WLAT YÜKSEK olarak ayarlanırsa, SPI'den geçen silecek konumu bilgisi dahili bir kayıtta tutulur ancak direnç ağına iletilmez ve bu nedenle silecek konumu güncellenmez. WLAT DÜŞÜK olarak ayarlandığında, değer kayıttan direnç ağına aktarılır.

WLAT, senkronize halde tutmanız gereken birden fazla digipot kullanıyorsanız kullanışlıdır. Strateji, tüm hanelerde WLAT'ı YÜKSEK olarak ayarlamak ve ardından tüm çiplerde silici değerini ayarlamaktır. Silici değeri tüm digipot'lara gönderildiğinde, WLAT tüm cihazlarda aynı anda DÜŞÜK olarak ayarlanabilir, böylece hepsi aynı anda silecekleri hareket ettirebilir.

Yalnızca bir DigiPot'u kontrol ediyorsanız veya birden fazlasına sahipseniz ancak bunların senkronize tutulması gerekmiyorsa, büyük olasılıkla bu işlevselliğe ihtiyacınız olmayacak ve bu nedenle WLAT'ı doğrudan DÜŞÜK'e bağlayabilirsiniz (alternatif kablo şemasına bakın). WLAT'ın kablolu olduğunu belirtmek için doğru kurucuyu kullanmanız veya MCP41HVX1_PIN_NOT_CONFIGURED'i kurucuya iletmeniz gerekecektir. Örneği takip ediyorsanız, tam kablo şemasını kullanmanız gerektiğini unutmayın (yukarıdaki Kablolama adımına bakın).

Adım 10: Alternatif Kablolama Şeması

kablolama

Dijital bir pime bağlanmak yerine, WLAT'ı digpot'tan doğrudan LOW\GND'ye bağlama seçeneğiniz vardır. Bunu yaparsanız, WLAT'ı kontrol edemezsiniz. Ayrıca SHDN'yi dijital pin yerine doğrudan HIGH'a bağlama seçeneğiniz de vardır. Bunu yaparsanız SHDN'yi kontrol edemezsiniz.

WLAT ve SHDN birbirinden bağımsızdır, böylece bir tanesini sabit kablo ile diğerini dijital bir pime, her ikisini de sabit kabloyla veya her ikisini de kontrol edilebilmeleri için dijital pimlere bağlayabilirsiniz. Kablolama yapmak istediğiniz kablolar için alternatif kablo şemasına bakın ve kontrol edilebilir dijital pinlere kablolama için 2. adımdaki ana kablo şemasına bakın.

yapıcılar

MCP41HVX sınıfında üç kurucu vardır. Bunlardan ikisini tartışacağız. Hepsi README.md dosyasında belgelenmiştir, bu nedenle üçüncü kurucuyla ilgileniyorsanız lütfen belgelere bakın.

  • MCP41HVX1(int nCSPin) - bu oluşturucuyu yalnızca hem WLAT hem de SHDN kabloluysa kullanın.
  • MCP41HVX1(int nCSPin, int nSHDNPin, int nWLATPin) - WLAT veya SHDN kablolu ise bu oluşturucuyu kullanın. Pin kablolu ise MCP41HVX1_PIN_NOT_CONFIGURED sabitini veya dijital bir pine bağlıysa pin numarasını girin.

nCSPin bir dijital pime bağlanmalıdır. nCSPin için yapıcıya MCP41HVX1_PIN_NOT_CONFIGURED iletmek geçersiz.

Ya Arduino Uno Kullanmıyorsam?

Arduino, digipot ile iletişim kurmak için SPI kullanır. SPI pinleri Arduino kartındaki özel pinlerdir. Uno'daki SPI pinleri:

  • SCK - Uno'daki pim 13, digipot'taki pim 2'ye bağlı
  • MOSI - Uno'daki pin 11, digipot'taki pin 4'e bağlı
  • MISO - Uno'daki pin 12, digipot'taki pin 5'e bağlı

Uno olmayan bir Arduino kullanıyorsanız, hangi pinin SCK, MOSI ve MISO olduğunu bulmanız ve bunları digipot'a bağlamanız gerekecektir.

Çizimde kullanılan diğer pinler normal dijital pinlerdir, bu nedenle herhangi bir dijital pin çalışacaktır. Kullanmakta olduğunuz Arduino kartında seçtiğiniz pinleri belirtmek için çizimi değiştirmeniz gerekecektir. Normal dijital pinler şunlardır:

  • CS - Digipot'taki pim 3'e bağlı Uno'daki pim 10 (çizimdeki CS_PIN'i yeni değerle güncelleyin)
  • WLAT - Uno'daki pim 8, digipot'taki pim 6'ya bağlı (çizimdeki WLAT_PIN'i yeni değerle güncelleyin)
  • SHDN - digipot'taki pim 7'ye bağlı Uno'daki pim 9 (çizimdeki SHDN_PIN'i yeni değerle güncelleyin)

Önerilen: