Mundarija:

Arduino uchun MCP41HVX1 raqamli potentsiometr: 10 qadam (rasmlar bilan)
Arduino uchun MCP41HVX1 raqamli potentsiometr: 10 qadam (rasmlar bilan)

Video: Arduino uchun MCP41HVX1 raqamli potentsiometr: 10 qadam (rasmlar bilan)

Video: Arduino uchun MCP41HVX1 raqamli potentsiometr: 10 qadam (rasmlar bilan)
Video: Lesson 10: Using Potentiometer reading voltage, Analog and Digital 2024, Iyul
Anonim
Arduino uchun MCP41HVX1 raqamli potentsiometr
Arduino uchun MCP41HVX1 raqamli potentsiometr

MCP41HVX1 raqamli potentsiometrlar oilasi (aka DigiPots) analog potentsiometr funktsiyasini taqlid qiluvchi va SPI orqali boshqariladigan qurilmalardir. Misol tariqasida, stereo ovoz balandligi tugmachasini Arduino tomonidan boshqariladigan DigiPot bilan almashtirish mumkin. Bu shuni anglatadiki, sizning stereo ovoz balandligini boshqarish potentsiometr bo'lib, aylanuvchi kodlovchi emas.

MCP41HVX1 boshqa DigiPotlardan bir oz farq qiladi, chunki ular bo'linadigan temir yo'l dizayniga ega. Bu shuni anglatadiki, DigiPotning o'zi Arduino chiqish voltaji bilan boshqarilishi mumkin bo'lsa -da, qarshilik tarmog'i orqali uzatiladigan signal ancha katta diapazonda ishlaydi (36 voltgacha). 5 volt bilan boshqariladigan DigiPotlarning aksariyati qarshilik tarmog'ida 5 volt bilan chegaralanadi, bu esa ularni yuqori voltajda ishlaydigan, masalan, mashina yoki qayiqda topiladigan narsalarni qayta jihozlash uchun ishlatishni cheklaydi.

MCP41HVX1 oilasi quyidagi chiplardan tashkil topgan:

  • 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 bitli chiplar qarshilik tarmog'ida 128 ta qadam, 8 bitli chiplar esa qarshilik tarmog'ida 256 ta qadam qo'yishga imkon beradi. Bu shuni anglatadiki, 8 bitli chiplar potansiyometrdan ikki barobar ko'proq qarshilik qiymatiga ruxsat beradi.

Ta'minotlar

  • Yuqoridagi ro'yxatdan mos keladigan MCP41HVX1 chipini tanlang. Siz tanlagan chip sizning dasturingiz uchun zarur bo'lgan qarshilik diapazoniga asoslangan. Bu ko'rsatma chipning TSSOP 14 paketli versiyalariga asoslangan, shuning uchun ushbu qo'llanma bilan birga QFN to'plami bo'lgan MCP41HV31-103E/MQ dan tashqari ro'yxatdagi har qanday chipni tanlang. Bir nechta qo'shimcha chiplarni olish tavsiya etiladi, chunki men yomoniga duch keldim va ular arzon. Men o'zimga Digi-Keydan buyurtma berdim.
  • Ikkilamchi doimiy quvvat manbai - 10 dan 36 voltgacha. Mening misolimda eski quvvat manbalari qutisidan 17 voltli devorli siğilli shahar quvvat manbai ishlatiladi.
  • Lehim oqimi
  • Lehimlash temir
  • Lehim
  • Cımbız va / yoki tish pichog'i
  • TSSOP 14 -pinli taxtali - Amazon - QLOUNI 40pcs PCB prototiplari SMD -dan DIP -ga adapterli plastinka konvertori TQFP (32 44 48 64 84 100) SOP SSOP TSSOP 8 10 14 16 20 23 24 28.
  • 2 - 7 pinli sarlavhalar sonini aniqlang - Amazon - DEPEPE 30 dona 40 pinli 2,54 mm o'lchamli erkak va ayol pinli sarlavhalar - Arduino prototip qalqoni uchun.
  • Arduino Uno - agar sizda yo'q bo'lsa, men rasmiy taxtani olishni taklif qilaman. Menga norasmiy versiyalar bilan omad kulib boqdi. Digi -Key - Arduino Uno
  • Qarshilikni o'lchaydigan va uzluksizligini tekshiradigan ko'p metrli
  • Jumper simlari
  • Non paneli
  • TSSOP chiplari juda kichik bo'lgani uchun, qo'llarsiz kattalashtirish tavsiya etiladi, lekin umuman talab qilinmaydi. Ko'p metrli lehim va sinov uchun sizga ikkala qo'l kerak bo'ladi. Men retsept bo'yicha ko'zoynaklarim ustidan bir juft Harbor Freight 3x Clip-On kattalashtirgichidan foydalanaman. Boshqa variantlar - chegirma yoki dollar do'konidagi arzon kitobxonlar. Vizyoningiz qanchalik yaxshi (yoki yomon) bo'lishiga qarab, siz o'quvchilarni retsept bo'yicha ko'zoynak taqishingiz yoki ikki juft o'quvchini (birining ustidan) olishingiz mumkin. Agar siz ko'zoynakni ikki baravar ko'paytirmoqchi bo'lsangiz, ehtiyot bo'ling, chunki ko'rish doirasi juda cheklangan bo'ladi, shuning uchun boshqa hech narsa qilishdan oldin ularni echib oling. Lehimlashda ham juda ehtiyot bo'ling.
  • Kerak bo'lmagan, lekin juda tavsiya qilinadigan yana bir narsa - bu Harbour Freight Hands Hands. Ular metall tayanchga biriktirilgan alligator qisqichlari. Bu Internetdagi boshqa ko'plab sotuvchilardan, shuningdek, turli markalar ostida mavjud. Bu chipni kesish taxtasiga lehimlashda juda foydali.

1 -qadam: TSSOP chipini kesish taxtasiga lehimlash

Image
Image
TSSOP chipini tanaffus taxtasiga lehimlash
TSSOP chipini tanaffus taxtasiga lehimlash
TSSOP chipini tanaffus taxtasiga lehimlash
TSSOP chipini tanaffus taxtasiga lehimlash

TSSOP chipini kesish taxtasiga lehimlash kerak, shunda siz uni non paneli yoki to'g'ridan -to'g'ri DuPont o'tish moslamalari bilan ishlatishingiz mumkin. Prototip ishi uchun ular juda kichik, ular bilan to'g'ridan -to'g'ri ishlash mumkin.

Kichik o'lchamlari tufayli, TSSOP chipini lehimlash bu loyihaning eng qiyin qismi bo'lishi mumkin, lekin buning hiyla -nayrangini bilish har kim bajarishi mumkin bo'lgan vazifadir. Bir nechta texnikalar bor, quyida men qilgan ish.

Strategiya - bu birinchi navbatda lehimni sindirish taxtasining izlariga tushirishdir.

  • Ko'rsatma berilgunga qadar chipni buzuvchi taxtaga qo'ymang.
  • Birinchi qilish kerak bo'lgan narsa - bu taxtaga katta miqdorda oqim qo'yish.
  • Keyin, lehimlantiruvchi temirdan foydalanib, bir oz lehimni qizdiring va uni izlarga tushiring.
  • Chiziq izlari, shuningdek chipning oyoqlari ostidan oqib chiqqan lehimning tepasiga yana bir oz oqim qo'ying.
  • Chipni faqat lehim va oqim qo'ygan izlar ustiga qo'ying. Cımbız yoki tish pichog'i, chipni joyiga to'g'ri o'rnatish uchun yaxshi asboblarni yaratadi. Chipni to'g'ri hizalaganingizga ishonch hosil qiling, shunda barcha pinlar izlar ustida bo'ladi. Chipning bir pinini chiqish taxtasida bitta pin uchun belgi bilan tekislang.
  • Lehimlash temiridan foydalanib, chipning uchidagi (1, 7, 8 yoki 14 -gachasi) pinlardan birining iziga bosing. Siz ilgari qo'llagan lehim eriydi va pin atrofida oqadi.

Chipni sindirish taxtasiga qanday lehimlash ko'rsatilishini ko'rish uchun ushbu bosqichdagi videoni tomosha qiling. Videodan farq qiladigan taklifim shundaki, siz birinchi pinni lehimlaganingizdan so'ng, butun pinning izlari tepasida ekanligiga ishonch hosil qilish uchun butun chipning hizalanishini tekshiring. Agar siz biroz o'chirilgan bo'lsangiz, bu vaqtda tuzatish oson. Qulay bo'lganingizda, hamma narsa yaxshi ko'rinadi, chipning qarama -qarshi tomoniga boshqa pinni lehimlang va hizalamani yana tekshiring. Agar bu yaxshi ko'rinadigan bo'lsa, davom eting va qolgan pinlarni bajaring.

Barcha pimlarni lehimlaganingizdan so'ng, videoda ulanishlarni tekshirish uchun kattalashtiruvchi oynadan foydalanish tavsiya etiladi. Eng yaxshi usul - uzluksizlikni tekshirish uchun multimetrdan foydalanish. Siz bitta probni pimning oyog'iga, ikkinchisini esa taxtaning boshini lehimlaydigan qismiga qo'yishingiz kerak (bu bosqichdagi ikkinchi rasmga qarang). Lehim bir nechta pimlarni bir -biriga bog'lab qo'yganligi sababli ulanmaganligiga ishonch hosil qilish uchun qo'shni pimlarni tekshirish kerak. Masalan, agar siz 4 -pinni tekshirayotgan bo'lsangiz, 3 -pin va 5 -pinni ham tekshiring. 4 -pin uzluksiz, 3 -pin va 5 -pin ochiq sxemani ko'rsatishi kerak. Faqatgina istisno, P0W tozalagichi P0A yoki P0B ga ulanishni ko'rsatishi mumkin.

MASLAHAT:

  • Materiallar ro'yxatida aytib o'tilganidek, sizning qo'llaringizni bo'sh qoldiradigan ba'zi kattalashtirishlar bu qadamda juda foydali bo'ladi.
  • Alligator qisqichidan foydalanib, qo'llarni kesish taxtasini ushlab turish hamma narsani lehimlashni osonlashtiradi.
  • Chip raqamini niqob lentasiga yozing va yoriq taxtasining pastki qismiga yopishtiring (bu qismdagi uchinchi rasmga qarang). Agar kelajakda chipni aniqlash kerak bo'lsa, niqob tasmasini o'qish ancha oson bo'ladi. Mening shaxsiy tajribam shundan iboratki, men chipda ozgina oqimga ega bo'ldim va raqam butunlay o'chib ketdi, shuning uchun menda faqat lenta bor.

2 -qadam: simlarni ulash

Ulanish
Ulanish

Arduino va Digipot -ni ulash sxemasida ko'rsatilgandek ulashingiz kerak bo'ladi. Amaldagi pinlar Arduino Uno sxemasiga asoslangan. Agar siz boshqa Arduino -dan foydalanayotgan bo'lsangiz, oxirgi qadamni ko'ring.

3 -qadam: DigiPot -ni boshqarish uchun Arduino kutubxonasini olish

DigiPot -ni boshqarish uchun Arduino kutubxonasini olish
DigiPot -ni boshqarish uchun Arduino kutubxonasini olish

Dasturlashni soddalashtirish uchun men Github -da mavjud kutubxona yaratdim. MCP41HVX1 kutubxonasini olish uchun github.com/gregsrabian/MCP41HVX1 ga o'ting. Siz "Clone" tugmachasini, so'ngra "Zipni yuklab olish" ni tanlashni xohlaysiz. Zip faylini qaerda ekanligini bilgan joyga saqlaganingizga ishonch hosil qiling. Ish stoli yoki yuklamalar papkasi qulay joylardir. Siz uni Arduino IDE -ga import qilganingizdan so'ng, uni yuklab olish joyidan o'chirib tashlashingiz mumkin.

4 -qadam: Yangi kutubxonani Arduino IDE -ga import qilish

Yangi kutubxonani Arduino IDE -ga import qilish
Yangi kutubxonani Arduino IDE -ga import qilish

Arduino IDE -da "Sketch" ga o'ting, so'ng "Kutubxonani qo'shish" -ni tanlang, so'ng "ZIP kutubxonasini qo'shish.." -ni tanlang. GitHub -dan yuklab olingan. ZIP faylini tanlash imkonini beruvchi yangi dialog oynasi paydo bo'ladi.

5 -qadam: Kutubxonaga misollar

Kutubxonaga misollar
Kutubxonaga misollar

Yangi kutubxonani qo'shgandan so'ng, agar siz "Fayl" ga kirsangiz, "Misollar" ni tanlab, "Maxsus kutubxonalardan misollar" ni tanlasangiz, ro'yxatda MCP41HVX1 yozuvini ko'rasiz. Agar siz bu yozuvning ustiga chiqsangiz, siz WLAT, Wiper Control va SHDN ni ko'rasiz. Bu yo'riqnomada biz Wiper Control misolidan foydalanamiz.

6 -qadam: Manba kodini o'rganish

#"MCP41HVX1.h" ni qo'shing // Arduino -da ishlatiladigan pinlarni aniqlang#WLAT_PIN 8 ni belgilang // "Pastga" o'rnatilgan bo'lsa "uzatish va" #define SHDN_PIN 9 // Rezistor tarmog'ini yoqish uchun yuqori sozlang#CS_PIN 10 ni belgilang // SPI uchun chipni tanlash uchun past darajaga qo'ying // Sinov ilovasi uchun ishlatiladigan ba'zi qiymatlarni aniqlang#FORWARD rostini aniqlang#REVERSE false ni aniqlang#MAX_WIPER_VALUE 255 ni belgilang // Maksimal o'chirgichning qiymati MCP41HVX1 Digipot (CS_PIN, SHDN_PIN, WLAT_PIN); void setup () { Serial.begin (9600); Serial.print ("Boshlang'ich pozitsiyasi ="); Serial.println (Digipot. WiperGetPosition ()); // Serial.print boshlang'ich qiymatini ko'rsatish ("O'chirish joyini o'rnatish ="); Serial.println (Digipot. WiperSetPosition (0)); // O'chirish joyini 0} void loop () {static bool bDirection = FORWARD; int nWiper = Digipot. WiperGetPosition (); // Tozalash moslamasining joriy holatini oling // Yo'nalishni aniqlang. agar (MAX_WIPER_VALUE == nWiper) {bDirection = REVERSE; } if if (0 == nWiper) {bDirection = FORWARD; } // Digipot o'chirgichini harakatlantiring, agar (FORWARD == bDirection) {nWiper = Digipot. WiperIncrement (); // Yo'nalish oldinga siljiydi Serial.print ("Ortishi -"); } boshqa {nWiper = Digipot. WiperDecrement (); // Yo'nalish orqaga ketmoqda Serial.print ("Kamaytirish -"); } Serial.print ("O'chirish joyi ="); Serial.println (nWiper); kechikish (100);}

7 -qadam: Manba kodini tushunish va eskizni ishga tushirish

Image
Image

Bu manba kodini Arduino IDE ichida Misollar menyusiga o'tish va siz o'rnatgan MCP41HVX1 ni topish orqali olish mumkin (oldingi bosqichga qarang). MCP41HVX1 ichida "O'chirish nazorati" misolini oching. Kutubxonaga kiritilgan kodni ishlatgan ma'qul, agar u erda xatoliklar tuzatilsa, u yangilanadi.

Wiper Control misolida MCP41HVX1 kutubxonasidagi quyidagi APIlar ko'rsatilgan:

  • Konstruktor MCP41HVX1 (int nCSPin, int nSHDNPin, int nWLATPin)
  • WiperGetPosition ()
  • WiperSetPosition (byWiper)
  • Artib artish ()
  • WiperDecrement ()

Namuna manba kodida, agar siz 7 bitli chipdan foydalanayotgan bo'lsangiz, MAX_WIPER_VALUE ni 127 ga sozlang. Standart - 255, bu 8 bitli chiplar uchun. Agar siz namunaga o'zgartirishlar kiritsangiz, Arduino IDE sizni loyihaning yangi nomini tanlashga majbur qiladi, chunki u misol kodini yangilashga ruxsat bermaydi. Bu kutilgan xatti -harakatlar.

Har safar pastadirda, tozalagich ketayotgan yo'nalishga qarab bir qadam yoki bir qadam kamayadi. Agar yo'nalish yuqoriga ko'tarilsa va u MAX_WIPER_VALUE ga tushsa, u yo'nalishni teskari yo'naltiradi. Agar u 0 ga urilsa, u yana teskari bo'ladi.

Eskiz ishlayotganda ketma -ket monitor o'chirgichning hozirgi holati bilan yangilanadi.

Qarshilik o'zgarishini ko'rish uchun siz Ohm o'qish uchun multimetrdan foydalanishingiz kerak bo'ladi. Hisoblagich zondlarini P0B (pin 11) va P0W (pin 12) digipotga qo'ying, dastur ishlayotganda qarshilik o'zgarishini ko'ring. E'tibor bering, qarshilik qiymati nolga tushmaydi, chunki chip ichida ichki qarshilik mavjud, lekin u 0 ohmga yaqinlashadi. Bu, ehtimol, maksimal qiymatga ham bormaydi, lekin yaqin bo'ladi.

Videoni ko'rayotganda, multimetrda qarshilik maksimal qiymatga yetguncha kuchayib borayotganini ko'rasiz, keyin esa pasayishni boshlaydi. Videoda ishlatiladigan chip-bu MCP41HV51-104E/ST, bu 8 bitli, maksimal qiymati 100k ohm.

8 -qadam: Muammolarni bartaraf etish

Agar narsalar kutilganidek ishlamasa, bu erda bir nechta narsalarni ko'rib chiqish kerak.

  • Kabelni tekshiring. Hamma narsa to'g'ri ulangan bo'lishi kerak. Ushbu yo'riqnomada ko'rsatilgandek, ulanish sxemasidan to'liq foydalanayotganingizga ishonch hosil qiling. README -da, kutubxonaning manba kodida va quyida qo'llanmada muqobil ulanish sxemalari mavjud, lekin yuqoridagi simlarni ulash bosqichida yuqorida ko'rsatilganlarga amal qiling.
  • Raqamli idishingizdagi har bir pin kesish taxtasiga lehimlanganligiga ishonch hosil qiling. Vizual tekshiruvdan foydalanish etarli darajada yaxshi emas. Multimetrning uzluksizligi funktsiyasidan foydalanib, digipotdagi barcha pimlarning kesish taxtasiga elektr bilan ulanganligini va izlar o'rtasida ko'prik bo'lishi mumkin bo'lgan lehim pimlarining o'zaro bog'liqligi yo'qligini tekshirganingizga ishonch hosil qiling.
  • Agar ketma -ket monitor eskizni ishga tushirganda tozalagichning pozitsiyasi o'zgarayotganini ko'rsatsa, lekin qarshilik qiymati o'zgarmasa, bu WLAT yoki SHDN uzilish taxtasiga yoki WLAT yoki SHDN o'tish moslamalariga to'g'ri ulanmaganligini ko'rsatadi. ular Arduino -ga to'g'ri ulanmagan.
  • 10 dan 36 voltgacha bo'lgan doimiy quvvat manbai bo'lganingizga ishonch hosil qiling.
  • Multimetr yordamida kuchlanishni o'lchash orqali 10 dan 36 voltgacha bo'lgan quvvat manbai ishlayotganiga ishonch hosil qiling.
  • Asl eskizni ishlatishga harakat qiling. Agar siz biron bir o'zgartirish kiritgan bo'lsangiz, xato kiritgan bo'lishingiz mumkin.
  • Agar muammolarni bartaraf etish choralarining hech biri boshqa digipot chipini sinab ko'rishga yordam bermagan bo'lsa. Umid qilamanki, siz bir nechta mahsulotni sotib oldingiz va ularni bir vaqtning o'zida TSSOP taxtasiga lehimladingiz, shuning uchun bu boshqasini almashtirish masalasi bo'lishi kerak. Menda yomon chip bor edi, bu meni juda xafa qildi va bu tuzatish edi.

9 -qadam: Ichki va qo'shimcha ma'lumotlar

Muqobil simlar sxemasi
Muqobil simlar sxemasi

Qo'shimcha ma'lumotlar:

Qo'shimcha ma'lumotni MCP41HVX1 ma'lumotlar varag'ida topishingiz mumkin.

MCP41HVX1 kutubxonasi haqidagi to'liq hujjatlar kutubxonani yuklab olish qismi bo'lgan README.md faylida mavjud. Bu fayl pastga belgi bilan yozilgan va uni Github -da to'g'ri formatlash orqali ko'rish mumkin (sahifaning pastki qismiga qarang) yoki tomoshabin / tahrirchi belgisi bilan.

Arduino va DigiPot o'rtasidagi aloqa:

Arduino DigiPot bilan SPI yordamida aloqa o'rnatadi. Kutubxona WiperIncrement, WiperDecrement yoki WiperSetPosition kabi o'chirish moslamasi buyrug'ini yuborganidan so'ng, chipdan o'chirish joyini olish uchun WiperGetPosition -ni chaqiradi. Bu Wiper buyruqlaridan qaytarilgan qiymat - bu chip ko'rgandek tozalagichning o'rni va uni tozalash moslamasi kutilgan joyga ko'chganligini tekshirish uchun ishlatish mumkin.

Kengaytirilgan funksionallik (WLAT & SHDN)

Bu ilg'or funktsiyalar "O'chirish nazorati" misolida ko'rsatilmagan. Kutubxonada WLAT va SHDNni boshqarish uchun API mavjud. Shuningdek, kutubxona bilan WLAT va SHDN namunali eskizlari (O'chirish moslamasi eskizi bilan bir joyda) mavjud.

SHDN (O'chirish)

SHDN qarshilik tarmog'ini o'chirish yoki yoqish uchun ishlatiladi. SHDN -ni past o'chirish va yuqori darajaga o'rnatish qarshilik tarmog'ini yoqadi. Rezistor tarmog'i o'chirilganda P0A (DigiPot pin 13) uziladi va P0B (DigiPot pin 11) P0W ga ulanadi (DigiPot pin 12). P0B va P0W o'rtasida ozgina qarshilik bo'ladi, shuning uchun hisoblagichingiz 0 ohmni o'qimaydi.

Agar sizning ilovangiz SHDN -ni boshqarishga hojat bo'lmasa, uni to'g'ridan -to'g'ri HIGH -ga ulashingiz mumkin (muqobil ulanish sxemasiga qarang). SHDN qattiq simli ekanligini ko'rsatish uchun sizga to'g'ri konstruktordan foydalanish yoki konstruktorga MCP41HVX1_PIN_NOT_CONFIGURED orqali o'tish kerak bo'ladi. Shuni ta'kidlash kerakki, agar siz misolni kuzatayotgan bo'lsangiz, siz simlarni ulash sxemasini to'liq ishlatishingiz kerak (yuqoridagi simlarni ulash bosqichiga qarang).

WLAT (yozish latch)

Ichki arxitektura bitta chipdagi ikkita komponentdan iborat. Komponentlardan biri - SDI interfeysi va o'chirgich qiymatini ushlab turuvchi registr. Boshqa komponent - bu qarshilik tarmog'ining o'zi. WLAT ikkala ichki komponentni birlashtiradi.

WLAT "LOW" ga o'rnatilganda, o'chirish moslamasining har qanday o'rnatilgan buyrug'i to'g'ridan -to'g'ri rezistor tarmog'iga uzatiladi va o'chirish joyi yangilanadi.

Agar WLAT "YUQORI" ga o'rnatilgan bo'lsa, SPI orqali uzatuvchi o'rni to'g'risidagi ma'lumotlar ichki registrda saqlanadi, lekin rezistorlar tarmog'iga o'tkazilmaydi, shuning uchun o'chirish joyi yangilanmaydi. WLAT LOW ga o'rnatilgandan so'ng, qiymat registordan rezistorlar tarmog'iga o'tkaziladi.

Agar siz sinxronlashtirishni davom ettirishingiz kerak bo'lgan bir nechta digipotlardan foydalansangiz, WLAT foydalidir. Strategiya - bu barcha digipotlarda WLAT -ni YUQORI qilib, so'ngra barcha chiplarda o'chirgich qiymatini o'rnatish. O'chirgichning qiymati barcha digipotlarga yuborilgandan so'ng, WLAT -ni barcha qurilmalarda bir vaqtning o'zida LOW -ga o'rnatish mumkin, shunda ular bir vaqtning o'zida tozalagichlarni siljitadilar.

Agar siz faqat bitta DigiPot -ni boshqarayotgan bo'lsangiz yoki bir nechta qurilmangiz bo'lsa -da, lekin ularni sinxronlashtirishga hojat bo'lmasa, sizga bu funksiya kerak bo'lmaydi va shuning uchun WLAT -ni LOW -ga to'g'ridan -to'g'ri ulashingiz mumkin (muqobil ulanish sxemasiga qarang). To'g'ri konstruktordan foydalanish yoki WLAT qattiq simli ekanligini ko'rsatish uchun konstruktorga MCP41HVX1_PIN_NOT_CONFIGURED orqali o'tish kerak bo'ladi. Shuni ta'kidlash kerakki, agar siz misolni kuzatayotgan bo'lsangiz, siz simlarni ulash sxemasini to'liq ishlatishingiz kerak (yuqoridagi simlarni ulash bosqichiga qarang).

10 -qadam: muqobil simlar diagrammasi

Ulanish

Sizda raqamli pin bilan bog'lanish o'rniga WLAT -ni digpotdan to'g'ridan -to'g'ri LOW / GND ga ulash imkoniyati mavjud. Agar shunday qilsangiz, siz WLAT -ni nazorat qila olmaysiz. Sizda SHDN -ni raqamli pin o'rniga to'g'ridan -to'g'ri HIGH -ga ulash imkoniyati mavjud. Agar shunday qilsangiz, SHDN -ni nazorat qila olmaysiz.

WLAT va SHDN bir -biridan mustaqildir, shuning uchun siz bittasini qattiq sim bilan, ikkinchisini esa raqamli pinga, ikkalasini ham qattiq simga ulashingiz yoki ikkalasini raqamli pinlarga ulashingiz mumkin, shunda ularni boshqarish mumkin. Qattiq sim o'tkazmoqchi bo'lganlar uchun muqobil simlar sxemasiga murojaat qiling va boshqariladigan raqamli pinlarga simlarni ulash uchun 2 -bosqichdagi asosiy ulanish sxemasiga qarang.

Konstruktorlar

MCP41HVX sinfida uchta konstruktor bor. Biz ulardan ikkitasini muhokama qilamiz. Ularning barchasi README.md faylida hujjatlashtirilgan, shuning uchun agar uchinchi konstruktorga qiziqsangiz, iltimos, hujjatlarga murojaat qiling.

  • MCP41HVX1 (int nCSPin) - bu konstruktordan faqat WLAT va SHDN qattiq simli bo'lgan taqdirda foydalaning.
  • MCP41HVX1 (int nCSPin, int nSHDNPin, int nWLATPin) - WLAT yoki SHDN qattiq simli bo'lsa, ushbu konstruktordan foydalaning. Agar pin qattiq simli bo'lsa yoki doimiy raqamli pin bilan ulangan bo'lsa, PIN kodini doimiy MCP41HVX1_PIN_NOT_CONFIGURED kiriting.

nCSPin raqamli pinga ulangan bo'lishi kerak. NCSPin uchun konstruktorga MCP41HVX1_PIN_NOT_CONFIGUREDni berish noto'g'ri.

Agar Arduino Uno -dan foydalanmasam nima bo'ladi?

Arduino, diapot bilan bog'lanish uchun SPIdan foydalanadi. SPI pinlari Arduino kartasidagi maxsus pinlardir. Uno -dagi SPI pinlari:

  • SCK - Uno -dagi 13 -pin digipotdagi 2 -pin bilan bog'langan
  • MOSI - Uno -dagi 11 -pin digipotdagi 4 -pin bilan bog'langan
  • MISO - Uno -dagi 12 -pin digipotdagi 5 -pin bilan bog'langan

Agar siz Undu bo'lmagan Arduino -dan foydalanayotgan bo'lsangiz, qaysi pin SCK, MOSI va MISO ekanligini aniqlab, ularni digipotga ulashingiz kerak bo'ladi.

Eskizda ishlatiladigan boshqa pinlar oddiy raqamli pinlardir, shuning uchun har qanday raqamli pin ishlaydi. Siz foydalanadigan Arduino kartasida tanlangan pinlarni aniqlash uchun eskizni o'zgartirishingiz kerak bo'ladi. Oddiy raqamli pinlar:

  • CS - Uno -dagi 10 -pin digipotdagi 3 -pinga ulangan (eskizda CS_PIN -ni yangi qiymat bilan yangilang)
  • WLAT - Uno -dagi 8 -pin digipot 6 -piniga ulangan (eskizda WLAT_PIN -ni yangi qiymat bilan yangilang)
  • SHDN - Uno -dagi 9 -pin digipotdagi 7 -pin bilan bog'langan (eskizda SHDN_PIN -ni yangi qiymat bilan yangilang)

Tavsiya: