Mündəricat:

Arduino üçün MCP41HVX1 Rəqəmsal Potensiometr: 10 Addım (Şəkillərlə birlikdə)
Arduino üçün MCP41HVX1 Rəqəmsal Potensiometr: 10 Addım (Şəkillərlə birlikdə)

Video: Arduino üçün MCP41HVX1 Rəqəmsal Potensiometr: 10 Addım (Şəkillərlə birlikdə)

Video: Arduino üçün MCP41HVX1 Rəqəmsal Potensiometr: 10 Addım (Şəkillərlə birlikdə)
Video: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, Noyabr
Anonim
Arduino üçün MCP41HVX1 Rəqəmsal Potansiyometr
Arduino üçün MCP41HVX1 Rəqəmsal Potansiyometr

MCP41HVX1 rəqəmsal potansiyometr ailəsi (aka DigiPots), analoq potensiometr funksiyasını təqlid edən və SPI vasitəsilə idarə olunan qurğulardır. Nümunə bir tətbiq, stereodakı səs düyməsini bir Arduino tərəfindən idarə olunan bir DigiPot ilə əvəz etmək olar. Bu, stereo cihazınızdakı səs nəzarətinin fırlanan bir kodlayıcı deyil, potensialiometr olduğunu güman edir.

MCP41HVX1, digər DigiPotlardan bir az fərqlidir ki, split ray dizaynına malikdir. Bu o deməkdir ki, DigiPotun özü bir Arduinonun çıxış gərginliyi ilə idarə oluna bilsə də, rezistor şəbəkəsindən keçən siqnal daha böyük bir gərginlik diapazonu ilə işləyir (36 volta qədər). 5 volt ilə idarə oluna bilən əksər DigiPotlar, rezistor şəbəkəsindəki 5 voltla məhdudlaşır ki, bu da avtomobildə və ya gəmidə tapa biləcəyiniz şeylər kimi daha yüksək gərginliklə işləyən mövcud bir dövrəni yenidən qurmaq üçün istifadəsini məhdudlaşdırır.

MCP41HVX1 ailəsi aşağıdakı çiplərdən ibarətdir:

  • 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 çiplər müqavimət şəbəkəsində 128 addım, 8 bit çiplər isə müqavimət şəbəkəsində 256 addıma imkan verir. Bu o deməkdir ki, 8 bitlik çiplər potensiometrdən iki dəfə çox müqavimət dəyərinə imkan verir.

Təchizat

  • Yuxarıdakı siyahıdan uyğun MCP41HVX1 çipini seçin. Seçdiyiniz çip tətbiqiniz üçün lazım olan müqavimət aralığına əsaslanır. Bu Təlimat, çipin TSSOP 14 paket versiyalarına əsaslanır, buna görə də bu təlimatla birlikdə QFN paketi olan MCP41HV31-103E/MQ istisna olmaqla siyahıdan hər hansı bir çipi seçin. Pis bir şeylə qarşılaşdığım üçün bir neçə əlavə fiş almaq məsləhət görülür və ucuzdur. Digi-Key-dən özümə sifariş verdim.
  • 10 -dan 36 volta qədər olan ikincil DC enerji təchizatı. Mənim nümunəmdə, köhnə enerji təchizatı qutusundan 17 volt divar siğili DC enerji təchizatı istifadə edirəm.
  • Lehim axını
  • Lehimleme dəmir
  • Lehim
  • Cımbız və / və ya diş çubuğu
  • TSSOP 14 pinli kəsmə lövhəsi - Amazon - QLOUNI 40 ədəd PCB Proto Kartları SMD -dən DIP -ə qədər Adaptor Plaka Dönüştürücü TQFP (32 44 48 64 84 100) SOP SSOP TSSOP 8 10 14 16 20 23 24 28 (Ölçü çeşidi. Bir çox layihə üçün çox mövcuddur)
  • 2 - 7 pinli başlıqların sayını - Amazon - DEPEPE 30 ədəd 40 Pin 2.54mm Arduino Prototip Qalxanı üçün Kişi və Dişi Pin Başlıqları - (Ölçüsünə uyğun olaraq kəsin. Çoxlu layihələr üçün paketdə bol miqdarda)
  • Arduino Uno - Əgər yoxdursa, rəsmi lövhə almağı təklif edərdim. Qeyri -rəsmi versiyalarla şansım qarışdı. Digi -Key - Arduino Uno
  • Müqaviməti ölçə bilən və davamlılığı yoxlaya bilən çox sayğac
  • Jumper telləri
  • Çörək lövhəsi
  • TSSOP çipləri çox kiçik olduğu üçün çox tövsiyə olunan, lakin mütləq tələb olunmayan əllərsiz böyüdücüdür. Multimetre ilə lehimləmə və sınaq üçün hər iki ələ ehtiyacınız olacaq. Reçeteli eynəyimin üstündə bir cüt Harbor Freight 3x Clip-On Büyüteç və sərbəst duran / oynaqlı büyüteçdən istifadə edirəm. Digər seçimlər, endirimdən və ya dollar mağazasından bir neçə ucuz oxucu. Görmə qabiliyyətinizin nə qədər yaxşı (və ya pis) olduğuna görə oxucuları reseptli eynəklərinizə taxa və ya iki cüt oxucu (bir -birinin üstündən) ala bilərsiniz. Eynəkləri ikiqat artırırsınızsa, diqqətli olun, çünki görmə dairəniz çox məhdud olacaq, buna görə başqa bir şey etməzdən əvvəl onları çıxardığınızdan əmin olun. Lehim edərkən də çox diqqətli olun.
  • Tələb olunmayan, lakin çox tövsiyə olunan başqa bir maddə isə Harbor Freight Helps Hands. Metal bir bazaya bərkidilmiş timsah klipləridir. Bunlar internetdəki bir çox digər satıcıdan və fərqli marka adları ilə mövcuddur. Çipi qırılma taxtasına lehimləyərkən bunlar çox faydalıdır.

Addım 1: TSSOP çipini bir qırılma taxtasına lehimləmək

Image
Image
TSSOP çipini bir qırılma taxtasına lehimləmək
TSSOP çipini bir qırılma taxtasına lehimləmək
TSSOP çipini bir qırılma taxtasına lehimləmək
TSSOP çipini bir qırılma taxtasına lehimləmək

TSSOP çipini bir çörək taxtası ilə və ya birbaşa DuPont atlayıcıları ilə istifadə edə biləcəyiniz üçün bir qırılma taxtasına lehimlənməlidir. Prototipləşdirmə işləri üçün birbaşa işləmək üçün çox kiçikdirlər.

Kiçik ölçülərinə görə TSSOP çipinin lehimlənməsi bu layihənin ən çətin hissəsi ola bilər, ancaq bunu etmək üçün hiylə bilmək hər kəsin bacardığı bir vəzifə halına gətirir. Bir neçə texnika var, aşağıda gördüyüm işdir.

Strategiya, lehimi əvvəlcə qırılma lövhəsinin izlərinə axıtmaqdır.

  • Təlimat verilənə qədər çipi qırılma lövhəsinə taxmayın.
  • Ediləcək ilk şey, qırılma lövhəsinə bol miqdarda axın qoymaqdır.
  • Sonra, lehimləmə dəmirinizdən istifadə edərək bir az lehim qızdırın və izlərə tökün.
  • Çipin ayaqlarının altına olduğu kimi izlərə axdığınız lehimin üstünə bir az daha çox axın qoyun.
  • Çipi yalnız lehim və axını qoyduğunuz izlərin üstünə qoyun. Cımbız və ya diş çubuğu, çipi yerinə dəqiq bir şəkildə yerləşdirmək üçün yaxşı alətlər yaradır. Çipi düzgün bir şəkildə hizaladığınızdan əmin olun ki, bütün sancaqlar birbaşa izlərin üstündə olsun. Çipdən birinin pinini qırılma lövhəsindəki bir pin işarəsi ilə hizalayın.
  • Lehimləmə dəmirindən istifadə edərək çipin ucundakı sancaqlardan birini (ya pin 1, 7, 8 və ya 14) izə basaraq qızdırın. Daha əvvəl tətbiq etdiyiniz lehim əriyəcək və pin ətrafında axacaq.

Çipin qırılma lövhəsinə necə lehimlənəcəyini göstərmək üçün bu addımdakı videoya baxın. Videodan fərqli bir təklifim budur ki, ilk pin dayanağını lehimlədikdən sonra bütün pinlərin hələ də izlərin üstündə olduğundan əmin olmaq üçün bütün çipin hizalanmasını yoxlayın. Bir az uzaqlaşsanız, bu anda düzəltmək asandır. Rahat olduqdan sonra hər şey yaxşı görünür, çipin əks ucunda başqa bir pimi lehimləyin və hizalanmasını yenidən yoxlayın. Bu yaxşı görünürsə, irəliləyin və qalan sancaqları edin.

Bütün pinləri lehimlədikdən sonra, video əlaqələrinizi yoxlamaq üçün böyüdücü şüşədən istifadə etməyi təklif edir. Davamlılığı yoxlamaq üçün multimetrdən istifadə etmək daha yaxşı bir yoldur. Bir probu pimin ayağına, digərini isə lövhənin başlığını lehimləyəcəyiniz yerə qoymalısınız (bu addımdakı ikinci şəklə baxın). Bir neçə sancağı bir -birinə bağlayan lehim səbəbiylə bağlanmadığından əmin olmaq üçün bitişik sancaqları da yoxlamalısınız. Məsələn, pin 4 -ü yoxlayırsınızsa, pin 3 və pin 5 -i də yoxlayın. Pin 4 -də davamlılıq, pin 3 -də və pin 5 -də açıq bir dövrə göstərilməlidir. Yeganə istisna P0W silecekinin P0A və ya P0B ilə əlaqə göstərə bilməsidir.

İPUÇLARI:

  • Materiallar siyahısında qeyd edildiyi kimi, əllərinizi işləməyə sərbəst buraxan bəzi böyüdücülər bu addımda çox faydalı olacaq.
  • Timsah klipindən istifadə edərək əllərin qırılma taxtasını tutmasına kömək etmək lehimləmə işini bir qədər asanlaşdırır.
  • Çip nömrəsini bir maska lentinə yazın və qırılma lövhəsinin altına yapışdırın (bu hissədəki üçüncü şəklə baxın). Gələcəkdə çipi təyin etməlisinizsə, maskeləmə lentini oxumaq daha asan olacaq. Şəxsi təcrübəm budur ki, çipdə bir az axın var və nömrə tamamilə çıxdı, buna görə əlimdəki bütün şey kasetdir.

Addım 2: Kabel çəkmə

Kablolama
Kablolama

Arduino və Digipot -u bağlama sxemində göstərildiyi kimi bağlamalısınız. İstifadə olunan sancaqlar bir Arduino Uno planına əsaslanır. Fərqli bir Arduino istifadə edirsinizsə, son addıma baxın.

Addım 3: DigiPotu idarə etmək üçün Arduino Kitabxanasını əldə edin

DigiPotu idarə etmək üçün Arduino Kitabxanasını əldə edin
DigiPotu idarə etmək üçün Arduino Kitabxanasını əldə edin

Proqramlaşdırmanı asanlaşdırmaq üçün Github -da mövcud olan bir kitabxana yaratdım. MCP41HVX1 kitabxanasını əldə etmək üçün github.com/gregsrabian/MCP41HVX1 ünvanına daxil olun. "Klonlaşdır" düyməsini və sonra "Zipi Yüklə" ni seçmək istəyəcəksiniz. Zip faylını harada olduğunu bildiyiniz bir yerə saxladığınızdan əmin olun. Masaüstü və ya yükləmə qovluğu lazımlı yerlərdir. Arduino IDE -yə daxil etdikdən sonra yükləmə yerindən silə bilərsiniz.

Addım 4: Yeni Kitabxananı Arduino IDE -yə idxal edin

Yeni Kitabxananın Arduino IDE -yə idxalı
Yeni Kitabxananın Arduino IDE -yə idxalı

Arduino IDE -də "Sketch" ə gedin, sonra "Kitabxana daxil et" seçin, sonra "Poçt Kitabxanası əlavə et.." seçin. GitHub -dan yüklədiyiniz. ZIP faylını seçməyinizə imkan verən yeni bir informasiya qutusu görünəcək.

Addım 5: Kitabxana nümunələri

Kitabxana nümunələri
Kitabxana nümunələri

Yeni kitabxananı əlavə etdikdən sonra "Fayl" a girdiyiniz təqdirdə "Nümunələr" və sonra "Xüsusi Kitabxanalardan Nümunələr" seçsəniz, indi siyahıda MCP41HVX1 üçün bir giriş görəcəksiniz. Bu girişin üzərinə keçsəniz, nümunə eskizlər olan WLAT, Wiper Control və SHDN görəcəksiniz. Bu Təlimat kitabında Silecek İdarəetmə nümunəsindən istifadə edəcəyik.

Addım 6: Mənbə Kodunu araşdırın

#"MCP41HVX1.h" daxil edin // Arduino -da istifadə olunan sancaqları təyin edin#WLAT_PIN 8 -i təyin edin // "Aşağı" olaraq təyin olunarsa "köçürün və" #define SHDN_PIN 9 istifadə edin // Rezistor şəbəkəsini aktivləşdirmək üçün yüksək təyin edin#CS_PIN 10 təyin edin // SPI üçün çip seçmək üçün aşağı səviyyəyə qoyun // Test tətbiqində istifadə olunan bəzi dəyərləri təyin edin#İLƏ doğru doğru təyin edin#TƏRSİYYƏ yanlış təyin edin#MAX_WIPER_VALUE 255 təyin edin // Maksimum silecek dəyərli MCP41HVX1 Digipot (CS_PIN, SHDN_PIN, WLAT_PIN); void setup () { Serial.begin (9600); Serial.print ("Başlanğıc Vəziyyəti ="); Serial.println (Digipot. WiperGetPosition ()); // Serial.print ilkin dəyərini göstərin ("Silecek mövqeyini təyin edin"); Serial.println (Digipot. WiperSetPosition (0)); // Silecek mövqeyini 0} void loop () {static bool bDirection = FORWARD; int nWiper = Digipot. WiperGetPosition (); // Mövcud silecek mövqeyini əldə edin // İstiqamət təyin edin. əgər (MAX_WIPER_VALUE == nTəmizləyici) {bDirection = REVERSE; } başqa if (0 == nSilecek) {bDirection = İLƏ; } // Digipot silecekini hərəkət etdirin, əgər (FORWARD == bDirection) {nWiper = Digipot. WiperIncrement (); // İstiqamət irəlidir Serial.print ("Artım -"); } başqa {nWiper = Digipot. WiperDecrement (); // İstiqamət geridir Serial.print ("Azalma -"); } Serial.print ("Silecek mövqeyi ="); Serial.println (nWiper); gecikmə (100);}

Addım 7: Mənbə Kodunu Anlamaq və Eskizi Çalıştırmaq

Image
Image

Bu mənbə kodu, Nümunələr menyusuna gedərək və yeni qurduğunuz MCP41HVX1 -i tapmaqla Arduino IDE -də mövcuddur (əvvəlki addıma baxın). MCP41HVX1 daxilində "Silecek Nəzarəti" nümunəsini açın. Kitabxanaya daxil olan kodu istifadə etmək ən yaxşısıdır, sanki hər hansı bir səhv düzəlişi varsa, yenilənəcəkdir.

Silecek Nəzarəti nümunəsi, MCP41HVX1 kitabxanasından aşağıdakı API -ləri göstərir:

  • Konstruktor MCP41HVX1 (int nCSPin, int nSHDNPin, int nWLATPin)
  • WiperGetPosition ()
  • WiperSetPosition (bayt byWiper)
  • Silecek Artırma ()
  • SilecekDecrement ()

Nümunə mənbə kodunda, 7 bitlik bir çip istifadə edirsinizsə MAX_WIPER_VALUE -u 127 olaraq təyin etməyinizə əmin olun. Varsayılan 8 bit fiş üçün 255 -dir. Nümunədə dəyişiklik etsəniz, Arduino IDE, nümunə kodunu yeniləməyinizə icazə verməyəcəyi üçün layihə üçün yeni bir ad seçməyə məcbur edəcək. Bu gözlənilən davranışdır.

Hər dəfə döngədə silecek, getdiyi istiqamətdən asılı olaraq bir addım və ya bir addım azalacaq. İstiqamət yuxarıdırsa və MAX_WIPER_VALUE -ə çatırsa, istiqaməti tərsinə çevirəcək. 0 -a düşərsə, geri dönər.

Eskiz işləyərkən serial monitor cari silecek mövqeyi ilə yenilənir.

Müqavimətin dəyişməsini görmək üçün Ohm oxumaq üçün bir multimetr dəsti istifadə etməlisiniz. Tətbiq işləyərkən müqavimətin dəyişdiyini görmək üçün sayğac problarını digipotdakı P0B (pin 11) və P0W (pin 12) üzərinə qoyun. Çipin içərisində bəzi daxili müqavimət olduğu üçün müqavimət dəyərinin sıfıra enməyəcəyini unutmayın, ancaq 0 ohm -a yaxınlaşacaq. Çox güman ki, maksimum dəyərə də getməyəcək, ancaq yaxın olacaq.

Videonu izlədikdə, multimetrin maksimum dəyərə çatana qədər artan müqavimət göstərdiyini və sonra azalmağa başladığını görə bilərsiniz. Videoda istifadə olunan çip MCP41HV51-104E/ST-dir və 8 bitlik 100k ohm maksimum dəyərə malikdir.

Addım 8: Problemlərin aradan qaldırılması

İşlər gözlənildiyi kimi getmirsə, burada baxmaq lazım olan bir neçə şey var.

  • Kablolarınızı yoxlayın. Hər şey düzgün bağlanmalıdır. Bu Təlimatda göstərildiyi kimi tam bir əlaqə sxemindən istifadə etdiyinizə əmin olun. README -də, kitabxananın mənbə kodunda və aşağıda bu Təlimat kitabında təqdim olunan alternativ naqillərin diaqramları mövcuddur, lakin yuxarıdakı Kablolama addımında yuxarıda sənədləşdirilənlərə riayət edin.
  • Rəqəmsal potunuzdakı hər pinin qırılma lövhəsinə lehimləndiyinə əmin olun. Vizual yoxlamadan istifadə etmək kifayət qədər yaxşı deyil. Digipotdakı bütün sancaqların elektrik kəsmə lövhəsinə elektriklə bağlı olduğunu və izlər arasında körpü ola bilən lehimdən sancaqlar arasında heç bir çarpaz əlaqə olmadığını yoxlamaq üçün multimetrenizin davamlılıq funksiyasından istifadə edərək doğruladığınızdan əmin olun.
  • Əgər seriyalı monitor eskizi işlədərkən silecek mövqeyinin dəyişdiyini göstərirsə, müqavimət dəyəri dəyişmirsə, bu WLAT və ya SHDN -in qırılma lövhəsinə və ya WLAT və ya SHDN üçün keçid sileceklərinə düzgün bağlantı qurmadığının göstəricisidir. Arduino ilə düzgün əlaqəsi yoxdur.
  • 10 ilə 36 volt arasında DC olan ikincil bir enerji təchizatı istifadə etdiyinizə əmin olun.
  • Multimetrinizlə gərginliyi ölçməklə 10 ilə 36 voltluq enerji təchizatının işlədiyinə əmin olun.
  • Orijinal eskizdən istifadə etməyə çalışın. Hər hansı bir dəyişiklik etsəniz, bir səhv təqdim edə bilərsiniz.
  • Problem həll etmə addımlarının heç biri başqa bir digipot çipini sınamağa kömək etmədisə. Ümid edirik ki, bir neçə satın aldınız və eyni zamanda bir TSSOP qırılma lövhəsinə lehimlədiniz, buna görə birini digərinə dəyişdirmək məsələsi olmalıdır. Məni bir az məyus edən pis bir çipim var idi və bu düzəliş idi.

Addım 9: Daxili və Əlavə Məlumatlar

Alternativ naqillərin diaqramı
Alternativ naqillərin diaqramı

Əlavə məlumat:

Əlavə məlumatı MCP41HVX1 məlumat cədvəlində tapa bilərsiniz.

Bütün MCP41HVX1 kitabxanası haqqında tam sənədlər kitabxana yüklənməsinin bir hissəsi olan README.md faylında mövcuddur. Bu fayl aşağı işarələnmiş şəkildə yazılmışdır və Github daxilində (səhifənin aşağı hissəsinə baxın) və ya aşağıya baxan / redaktorla düzgün formatla baxıla bilər.

Arduino ilə DigiPot arasındakı əlaqə:

Arduino, SPI istifadə edərək DigiPot ilə əlaqə qurur. Kitabxana WiperIncrement, WiperDecrement və ya WiperSetPosition kimi bir silecek mövqeyi əmri göndərdikdən sonra çipdən silecek mövqeyini əldə etmək üçün WiperGetPosition çağırır. Bu Silecek əmrlərindən geri alınan dəyər, çipin gördüyü kimi silicinin mövqeyidir və silicinin gözlənilən yerə köçdüyünü yoxlamaq üçün istifadə edilə bilər.

Ətraflı İşlevsellik (WLAT & SHDN)

Bu inkişaf etmiş funksiyalar "Silecek Nəzarəti" nümunəsində göstərilmir. Kitabxanada WLAT və SHDN -ni idarə etmək üçün API mövcuddur. Kitabxana ilə birlikdə WLAT və SHDN nümunə eskizləri də var (Silecek İdarəetmə eskizi ilə eyni yerdə).

SHDN (Kapat)

SHDN, rezistor şəbəkəsini söndürmək və ya aktivləşdirmək üçün istifadə olunur. SHDN -ni aşağı əlil və yüksək olaraq təyin etmək rezistor şəbəkəsini aktivləşdirir. Rezistor şəbəkəsi söndürüldükdə P0A (DigiPot pin 13) ayrılır və P0B (DigiPot pin 11) P0W -yə (DigiPot pin 12) qoşulur. P0B və P0W arasında az miqdarda müqavimət olacaq, beləliklə sayğacınız 0 ohm oxumayacaq.

Tətbiqinizin SHDN -ni idarə etməyə ehtiyacı yoxdursa, onu birbaşa YÜKSƏ bağlaya bilərsiniz (alternativ kabel sxeminə baxın). Doğru konstruktordan istifadə etməli və ya SHDN -nin möhkəm bağlandığını göstərmək üçün konstruktora MCP41HVX1_PIN_NOT_CONFIGURED keçməlisiniz. Nümunə ilə birlikdə təqib etdiyiniz təqdirdə, bütün tel sxemini istifadə etməli olduğunuzu qeyd etmək vacibdir (yuxarıdakı Kablolama addımına baxın).

WLAT (Yazı Kilidi)

Daxili memarlıq bir çipdə iki komponentdən ibarətdir. Komponentlərdən biri SDI interfeysi və silecek dəyərini saxlamaq üçün qeyddir. Digər komponent, rezistor şəbəkəsinin özüdür. WLAT hər iki daxili komponenti birləşdirir.

WLAT LOW olaraq təyin edildikdə, hər hansı bir silecek mövqeyi əmr məlumatı birbaşa rezistor şəbəkəsinə ötürülür və silecek mövqeyi yenilənir.

WLAT YÜKSƏK olaraq təyin edilərsə, SPI vasitəsilə verilən silecek mövqeyi məlumatı daxili reyestrdə saxlanılır, lakin rezistor şəbəkəsinə ötürülmür və buna görə də silecek mövqeyi yenilənməyəcək. WLAT LOW olaraq təyin edildikdə, dəyər reyestrdən rezistor şəbəkəsinə köçürülür.

WLAT, sinxronizasiya etməyiniz lazım olan bir çox digipot istifadə edirsinizsə faydalıdır. Strategiya, bütün digipotlarda WLAT -ı YÜKSEK olaraq təyin etmək və sonra bütün çiplərdəki silecek dəyərini təyin etməkdir. Silecek dəyəri bütün digipotlara göndərildikdən sonra WLAT, bütün cihazlarda eyni vaxtda LOW olaraq təyin edilə bilər ki, hamısı silecekləri eyni anda hərəkət etdirsin.

Yalnız bir DigiPot -a nəzarət edirsinizsə və ya birdən çox cihazınız varsa, lakin onların sinxronizasiyada saxlanılmasına ehtiyac yoxdursa, çox güman ki, bu funksiyaya ehtiyacınız olmayacaq və buna görə də WLAT -ı LOW -a birbaşa bağlaya bilərsiniz (alternativ kabel sxeminə baxın). Doğru konstruktordan istifadə etməli və ya WLAT -ın möhkəm bağlandığını göstərmək üçün konstruktora MCP41HVX1_PIN_NOT_CONFIGURED keçməlisiniz. Nümunə ilə birlikdə təqib etdiyiniz təqdirdə tam kabel sxemindən istifadə etməli olduğunuzu qeyd etmək vacibdir (yuxarıdakı Kablolama addımına baxın).

Addım 10: Alternativ Kablolama Şeması

Kablolama

WLAT -ı rəqəmsal bir pin bağlamaq əvəzinə digpotdan birbaşa LOW / GND -ə bağlamaq seçiminiz var. Bunu etsəniz, WLAT -ı idarə edə bilməyəcəksiniz. Ayrıca, rəqəmsal pin yerinə SHDN -i birbaşa HIGH -a bağlamaq seçiminiz var. Bunu etsəniz, SHDN -ni idarə edə bilməyəcəksiniz.

WLAT və SHDN bir -birindən müstəqildir, buna görə birini idarə etmək üçün digərini rəqəmsal pinə, hər ikisini sərt telə bağlaya və ya hər ikisini rəqəmsal pinlərə bağlaya bilərsiniz. Sərt tel çəkmək istədikləriniz üçün alternativ kabel sxeminə baxın və nəzarət edilə bilən rəqəmsal sancaqlar üçün 2 -ci addımdakı əsas tel sxeminə baxın.

Konstruktorlar

MCP41HVX sinifində üç konstruktor var. Onlardan ikisini müzakirə edəcəyik. Hamısı README.md sənədində sənədləşdirilmişdir, buna görə üçüncü konstruktorla maraqlanırsınızsa, sənədlərə baxın.

  • MCP41HVX1 (int nCSPin) - bu konstruktordan yalnız WLAT və SHDN -in sərt telli olduğu halda istifadə edin.
  • MCP41HVX1 (int nCSPin, int nSHDNPin, int nWLATPin) - Ya WLAT, ya da SHDN sərt tellidirsə, bu konstruktordan istifadə edin. Pimi möhkəm bağladıqda daimi MCP41HVX1_PIN_NOT_CONFIGURED və ya rəqəmsal pinə qoşulduqda pin nömrəsini daxil edin.

nCSPin rəqəmsal bir pinə bağlanmalıdır. MCP41HVX1_PIN_NOT_CONFIGURED -in nCSPin üçün konstruktora keçməsi etibarsızdır.

Bir Arduino Uno istifadə etmirəmsə nə etməli?

Arduino, digipotla əlaqə yaratmaq üçün SPI istifadə edir. SPI pinləri, Arduino lövhəsindəki xüsusi sancaqlardır. Uno üzərindəki SPI pinləri bunlardır:

  • SCK - Uno -dakı pin 13, digipotdakı pin 2 -yə bağlıdır
  • MOSI - Uno üzərindəki pin 11, digipotdakı pin 4 -ə bağlıdır
  • MISO - Uno üzərindəki pin 12, digipotdakı pin 5 -ə bağlıdır

Uno olmayan bir Arduino istifadə edirsinizsə, hansı pinin SCK, MOSI və MISO olduğunu anlamalı və bunları digipota bağlamalısınız.

Eskizdə istifadə olunan digər sancaqlar adi rəqəmsal pinlərdir, buna görə hər hansı bir rəqəmsal pin işləyəcəkdir. İstifadə etdiyiniz Arduino lövhəsində seçdiyiniz sancaqları təyin etmək üçün eskizi dəyişdirməlisiniz. Daimi rəqəmsal pinlər bunlardır:

  • CS - Digo -dakı 3 -cü pinlə əlaqəli Uno -da pin 10 (eskizdə CS_PIN -i yeni dəyərlə yeniləyin)
  • WLAT - Digo -dakı 6 -cı pinlə əlaqəli Uno -da 8 -ci pin (eskizdə WLAT_PIN -i yeni dəyərlə yeniləyin)
  • SHDN - Uno -dakı pin 9, digipotdakı 7 -ci pinlə əlaqəlidir (eskizdə SHDN_PIN -i yeni dəyərlə yeniləyin)

Tövsiyə: