Spisu treści:

Potencjometr cyfrowy MCP41HVX1 dla Arduino: 10 kroków (ze zdjęciami)
Potencjometr cyfrowy MCP41HVX1 dla Arduino: 10 kroków (ze zdjęciami)

Wideo: Potencjometr cyfrowy MCP41HVX1 dla Arduino: 10 kroków (ze zdjęciami)

Wideo: Potencjometr cyfrowy MCP41HVX1 dla Arduino: 10 kroków (ze zdjęciami)
Wideo: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, Listopad
Anonim
Potencjometr cyfrowy MCP41HVX1 dla Arduino
Potencjometr cyfrowy MCP41HVX1 dla Arduino

Rodzina cyfrowych potencjometrów MCP41HVX1 (znanych również jako DigiPots) to urządzenia, które naśladują funkcję potencjometrów analogowych i są sterowane przez SPI. Przykładowym zastosowaniem może być zastąpienie pokrętła głośności w twoim stereo potencjometrem DigiPot sterowanym przez Arduino. Zakłada się, że regulacja głośności w twoim stereo jest potencjometrem, a nie obrotowym enkoderem.

MCP41HVX1 różnią się nieco od pozostałych DigiPots tym, że mają konstrukcję z dzielonymi szynami. Oznacza to, że podczas gdy sam DigiPot może być sterowany napięciem wyjściowym Arduino, sygnał przechodzący przez sieć rezystorów pracuje ze znacznie większym zakresem napięcia (do 36 woltów). Większość DigiPot, które mogą być sterowane napięciem 5 V, jest ograniczona do 5 V w sieci rezystorów, co ogranicza ich użycie do modernizacji istniejącego obwodu, który działa na wyższym napięciu, takim jak to, które można znaleźć w samochodzie lub łodzi.

Rodzina MCP41HVX1 składa się z następujących układów:

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

Chipy 7-bitowe pozwalają na 128 kroków w sieci rezystorów, a chipy 8-bitowe pozwalają na 256 kroków w sieci rezystorów. Oznacza to, że chipy 8-bitowe pozwalają na uzyskanie dwukrotnie większej liczby wartości rezystancji z potencjometru.

Kieszonkowe dzieci

  • Wybierz odpowiedni układ MCP41HVX1 z powyższej listy. Wybrany chip jest oparty na zakresie rezystancji wymaganym dla danego zastosowania. Ta instrukcja jest oparta na wersjach pakietu TSSOP 14 układu, więc podążając za tym przewodnikiem, wybierz dowolny układ z listy z wyjątkiem MCP41HV31-103E/MQ, który jest pakietem QFN. Zaleca się, aby zdobyć kilka dodatkowych żetonów, ponieważ spotkałem się z złym i są niedrogie. Zamówiłem mój w Digi-Key.
  • Wtórny zasilacz prądu stałego o napięciu od 10 do 36 woltów. W moim przykładzie używam 17-woltowego zasilacza ściennego DC z mojego pudełka ze starymi zasilaczami.
  • Topnik lutowniczy
  • Lutownica
  • Lutować
  • Pęseta i/lub wykałaczka
  • TSSOP 14-pinowa tabliczka zaciskowa - Amazon - QLOUNI 40 sztuk płytek PCB Proto SMD na DIP Konwerter płytek adaptera TQFP (32 44 48 64 84 100) SOP SSOP TSSOP 8 10 14 16 20 23 24 28 (Asortyment rozmiarów. Dostępnych wiele dla wielu projektów)
  • Ilość 2-7 nagłówków pinów - Amazon - DEPEPE 30 szt. 40-pinowych męskich i żeńskich nagłówków pinowych 2,54 mm dla Arduino Prototype Shield - (Potrzebne przycięcie do rozmiaru. Dużo w pakiecie dla wielu projektów)
  • Arduino Uno - jeśli go nie masz, sugerowałbym zaopatrzenie się w oficjalną tablicę. Miałem mieszane szczęście z wersjami nieoficjalnymi. Digi-Key - Arduino Uno
  • Multimetr, który może mierzyć rezystancję, a także sprawdzać ciągłość
  • Przewody połączeniowe
  • Deska do krojenia chleba
  • Wysoce zalecane, ale nie absolutnie wymagane, jest lupa bez użycia rąk, ponieważ chipy TSSOP są bardzo małe. Do lutowania i testowania multimetrem potrzebne będą obie ręce. Używam pary 3x lupy Harbor Freight Clip-On na okularach korekcyjnych i wolnostojącej lupy przegubowej. Inne opcje to para niedrogich czytników ze sklepu dyskontowego lub dolara. Możesz nawet nosić czytniki na okularach korekcyjnych lub uzyskać dwie pary czytników (jeden na drugim) w zależności od tego, jak dobry (lub zły) jest twój wzrok. Jeśli podwajasz okulary, uważaj, ponieważ twój zasięg widzenia będzie bardzo ograniczony, więc pamiętaj, aby je zdjąć, zanim zrobisz cokolwiek innego. Zachowaj szczególną ostrożność podczas lutowania.
  • Jeszcze jeden przedmiot, który nie jest wymagany, ale wysoce zalecany, to Pomocne Dłonie Portu Freight. Są to zaciski krokodylkowe przymocowane do metalowej podstawy. Są one dostępne u wielu innych dostawców w Internecie, a także pod różnymi markami. Są one bardzo pomocne podczas lutowania chipa na płytce zaciskowej.

Krok 1: Przylutowanie układu TSSOP do płytki zaciskowej

Image
Image
Przylutowanie układu TSSOP do płytki zaciskowej
Przylutowanie układu TSSOP do płytki zaciskowej
Przylutowanie układu TSSOP do płytki zaciskowej
Przylutowanie układu TSSOP do płytki zaciskowej

Układ TSSOP należy przylutować do płytki zaciskowej, aby można go było używać z płytką stykową lub bezpośrednio ze zworami DuPont. W przypadku prac prototypowych są one zbyt małe, aby można było z nimi pracować bezpośrednio.

Ze względu na ich niewielkie rozmiary, lutowanie układu TSSOP może być najtrudniejszą częścią tego projektu, ale znajomość sztuczki, jak to zrobić, sprawia, że jest to zadanie, które każdy może wykonać. Jest kilka technik, ta poniżej jest tym, co zrobiłem.

Strategia polega na nałożeniu lutowia najpierw na ślady płytki zaciskowej.

  • Nie kładź chipa na tablicę zaciskową, dopóki nie zostaniesz poinstruowany.
  • Pierwszą rzeczą do zrobienia jest nałożenie dużej ilości strumienia na tablicę zaciskową.
  • Następnie za pomocą lutownicy podgrzej trochę lutowia i rozprowadź go na śladach.
  • Umieść trochę więcej topnika na lutowiu, który wypłynął na ślady, a także na spód nóżek chipa.
  • Umieść chip na śladach, w których właśnie umieściłeś lut i topnik. Pęseta lub wykałaczka to dobre narzędzia do precyzyjnego umieszczania wióra w miejscu. Upewnij się, że układ scalony jest prawidłowo ustawiony, tak aby wszystkie szpilki znajdowały się bezpośrednio nad śladami. Wyrównaj pierwszy pin chipa z oznaczeniem pierwszego pinu na tablicy do wyłamywania.
  • Za pomocą lutownicy podgrzej jeden z pinów na końcu chipa (albo pin 1, 7, 8 lub 14), wciskając go w ślad. Lut, który wcześniej zastosowałeś, stopi się i opłynie wokół szpilki.

Obejrzyj wideo w tym kroku, aby zobaczyć demonstrację, jak przylutować układ do płytki zaciskowej. Jedną z sugestii, która różni się od wideo, jest to, że po przylutowaniu pierwszego ogranicznika pinów i ponownym sprawdzeniu wyrównania całego układu, aby upewnić się, że wszystkie piny nadal znajdują się na ścieżkach. Jeśli trochę się nie zgadzasz, w tym momencie łatwo jest to poprawić. Gdy poczujesz się komfortowo, wszystko wygląda dobrze, przylutuj kolejny pin na przeciwległym końcu chipa i ponownie sprawdź wyrównanie. Jeśli to wygląda dobrze, zrób resztę pinów.

Po przylutowaniu wszystkich pinów film sugeruje użycie lupy do weryfikacji połączeń. Lepszą metodą jest użycie multimetru do sprawdzenia ciągłości. Należy umieścić jedną sondę na nóżce szpilki, a drugą na tej części płytki, w której przylutujesz główkę (patrz drugie zdjęcie w tym kroku). Należy również sprawdzić sąsiednie piny, aby upewnić się, że nie są połączone z powodu zwarcia kilku pinów przez lut. Na przykład, jeśli weryfikujesz pin 4, sprawdź także pin 3 i pin 5. Pin 4 powinien wykazywać ciągłość, podczas gdy pin 3 i pin 5 powinny pokazywać otwarty obwód. Jedynym wyjątkiem jest to, że wycieraczka P0W może pokazywać łączność z P0A lub P0B.

PORADY:

  • Jak wspomniano na liście materiałów, posiadanie dostępnego powiększenia, które pozostawia wolne ręce do pracy, będzie bardzo pomocne w tym kroku.
  • Korzystanie z zacisku krokodylkowego, który pomaga trzymać tabliczkę zaciskową, ułatwia lutowanie wszystkiego.
  • Zapisz numer chipa na kawałku taśmy maskującej i przyklej do spodu płytki zaciskowej (patrz trzecie zdjęcie w tej sekcji). Jeśli w przyszłości będziesz musiał zidentyfikować chip, znacznie łatwiej będzie odczytać taśmę maskującą. Moje osobiste doświadczenie jest takie, że mam trochę fluktuacji na chipie i numer całkowicie zniknął, więc wszystko, co mam, to taśma.

Krok 2: Okablowanie

Okablowanie
Okablowanie

Będziesz musiał połączyć Arduino i Digipot, jak pokazano na schemacie elektrycznym. Używane piny są oparte na układzie Arduino Uno. Jeśli używasz innego Arduino, zobacz ostatni krok.

Krok 3: Uzyskanie biblioteki Arduino do sterowania DigiPot

Pobieranie biblioteki Arduino do sterowania DigiPot
Pobieranie biblioteki Arduino do sterowania DigiPot

Aby uprościć programowanie stworzyłem bibliotekę dostępną na Github. Przejdź do github.com/gregsrabian/MCP41HVX1, aby pobrać bibliotekę MCP41HVX1. Będziesz chciał wybrać przycisk "Klonuj", a następnie wybierz "Pobierz Zip". Pamiętaj, aby zapisać plik Zip w lokalizacji, w której wiesz, gdzie się znajduje. Pulpit lub folder pobierania to przydatne lokalizacje. Po zaimportowaniu go do Arduino IDE możesz go usunąć z lokalizacji pobierania.

Krok 4: Importowanie nowej biblioteki do Arduino IDE

Importowanie nowej biblioteki do Arduino IDE
Importowanie nowej biblioteki do Arduino IDE

W Arduino IDE przejdź do „Sketch”, a następnie wybierz „Dołącz bibliotekę”, a następnie wybierz „Dodaj bibliotekę ZIP..”. Pojawi się nowe okno dialogowe, w którym możesz wybrać plik. ZIP pobrany z GitHub.

Krok 5: Przykłady bibliotek

Przykłady bibliotek
Przykłady bibliotek

Po dodaniu nowej biblioteki zauważysz, że jeśli przejdziesz do "Plik", a następnie wybierz "Przykłady", a następnie wybierz "Przykłady z niestandardowych bibliotek", zobaczysz teraz wpis dla MCP41HVX1 na liście. Jeśli najedziesz kursorem na ten wpis, zobaczysz WLAT, Wiper Control i SHDN, które są przykładowymi szkicami. W tym Instructable użyjemy przykładu Wiper Control.

Krok 6: Badanie kodu źródłowego

#include "MCP41HVX1.h" // Zdefiniuj piny używane w Arduino#define WLAT_PIN 8 // Jeśli ustawione na Low "transfer and use"#define SHDN_PIN 9 // Ustaw wysoki, aby włączyć sieć rezystorową#define CS_PIN 10 // Ustaw niski, aby wybrać chip dla SPI // Zdefiniuj niektóre wartości używane przez aplikację testową#define FORWARD true#define REVERSE false#define MAX_WIPER_VALUE 255 // Maksymalna wartość wycieraczki MCP41HVX1 Digipot(CS_PIN, SHDN_PIN, WLAT_PIN);unieważnij konfigurację (){ Serial.początek(9600); Serial.print("Pozycja początkowa = "); Serial.println(Digipot. WiperGetPosition()); // Wyświetl wartość początkową Serial.print("Ustaw pozycję wycieraczki = "); Serial.println(Digipot. WiperSetPosition(0)); // Ustaw pozycję wycieraczki na 0} void loop (){ static bool bDirection = FORWARD; int nWiper = Digipot. WiperGetPosition(); // Pobierz aktualną pozycję wycieraczki // Określ kierunek. if(MAX_WIPER_VALUE == nWiper) { bDirection = REVERSE; } else if(0 == nWiper) { bKierunek = DO PRZODU; } // Przenieś wycieraczkę digipot if(FORWARD == bDirection) { nWiper = Digipot. WiperIncrement(); // Kierunek jest do przodu Serial.print("Przyrost - "); } else { nWiper = Digipot. WiperDecrement(); // Kierunek jest wsteczny Serial.print("Dekrementacja - "); } Serial.print("Pozycja wycieraczki = "); Serial.println(nWycieraczka); opóźnienie(100);}

Krok 7: Zrozumienie kodu źródłowego i uruchomienie szkicu

Image
Image

Ten kod źródłowy jest dostępny w środowisku Arduino IDE po przejściu do menu Przykłady i zlokalizowaniu właśnie zainstalowanego MCP41HVX1 (patrz poprzedni krok). W MCP41HVX1 otwórz przykład "Wiper Control". Najlepiej używać kodu, który jest dołączony do biblioteki, tak jakby były jakieś poprawki błędów, które zostaną zaktualizowane.

Przykład Wiper Control demonstruje następujące interfejsy API z biblioteki MCP41HVX1:

  • Konstruktor MCP41HVX1 (int nCSPin, int nSHDNPin, int nWLATPin)
  • Pobierz pozycję wycieraczki()
  • WiperSetPosition (bajt po wycieraczce)
  • Przyrost wycieraczki()
  • Dekrementacja wycieraczki()

W przykładowym kodzie źródłowym upewnij się, że ustawiłeś MAX_WIPER_VALUE na 127, jeśli używasz 7-bitowego układu. Wartość domyślna to 255, która dotyczy układów 8-bitowych. Jeśli wprowadzisz zmiany w próbce, Arduino IDE zmusi cię do wybrania nowej nazwy dla projektu, ponieważ nie pozwoli ci to zaktualizować przykładowego kodu. To jest oczekiwane zachowanie.

Za każdym razem w pętli wycieraczka będzie się zwiększać o jeden krok lub zmniejszać o jeden krok, w zależności od kierunku, w którym się porusza. Jeśli kierunek jest w górę i dojdzie do MAX_WIPER_VALUE, odwróci kierunek. Jeśli trafi 0, odwróci się ponownie.

Podczas wykonywania szkicu monitor szeregowy jest aktualizowany o bieżącą pozycję wycieraczki.

Aby zobaczyć zmianę rezystancji, musisz użyć multimetru ustawionego na odczyt omów. Umieść sondy miernika na P0B (pin 11) i P0W (pin 12) na digipot, aby zobaczyć zmianę rezystancji podczas działania aplikacji. Zwróć uwagę, że wartość rezystancji nie spadnie do zera, ponieważ w układzie występuje pewien wewnętrzny opór, ale zbliży się do 0 omów. Najprawdopodobniej też nie osiągnie maksymalnej wartości, ale będzie blisko.

Podczas oglądania wideo możesz zobaczyć, jak multimetr pokazuje wzrost oporu, aż osiągnie wartość maksymalną, a następnie zacznie spadać. Układ używany w filmie to MCP41HV51-104E/ST, który jest 8-bitowym układem o maksymalnej wartości 100 kΩ.

Krok 8: Rozwiązywanie problemów

Jeśli coś nie działa zgodnie z oczekiwaniami, oto kilka rzeczy, na które należy zwrócić uwagę.

  • Sprawdź swoje okablowanie. Wszystko musi być poprawnie podłączone. Upewnij się, że używasz pełnego schematu okablowania, jak podano w tej instrukcji. Istnieją alternatywne schematy okablowania przedstawione w README, kodzie źródłowym biblioteki i poniżej w tej instrukcji, ale trzymaj się tego, co udokumentowano powyżej w kroku Okablowanie powyżej.
  • Upewnij się, że każdy pin twojego digitpota jest przylutowany do płytki zaciskowej. Korzystanie z oględzin nie wystarczy. Upewnij się, że sprawdzasz za pomocą funkcji ciągłości multimetru, aby sprawdzić, czy wszystkie piny na digipot są elektrycznie połączone z płytką zaciskową i nie ma krzyżowego połączenia pinów z lutowia, które mogły zmostkować ścieżki.
  • Jeśli monitor szeregowy pokazuje, że pozycja wycieraczek zmienia się po uruchomieniu szkicu, ale wartość rezystancji się nie zmienia, oznacza to, że WLAT lub SHDN nie tworzy prawidłowego połączenia z płytką zaciskową lub zworkami wycieraczek dla WLAT lub SHDN nie są prawidłowo podłączone do Arduino.
  • Upewnij się, że korzystasz z dodatkowego źródła zasilania o napięciu od 10 do 36 woltów.
  • Upewnij się, że zasilacz 10 do 36 V działa, mierząc napięcie za pomocą multimetru.
  • Spróbuj użyć oryginalnego szkicu. Jeśli dokonałeś jakichkolwiek zmian, być może wprowadziłeś błąd.
  • Jeśli żaden z kroków rozwiązywania problemów nie pomógł, wypróbuj inny układ digipot. Mam nadzieję, że kupiłeś kilka i przylutowałeś je w tym samym czasie do tablicy rozdzielczej TSSOP, więc powinna to być tylko kwestia zamiany jednego na drugie. Miałem zły chip, który powodował u mnie sporo frustracji i to była poprawka.

Krok 9: Elementy wewnętrzne i dodatkowe informacje

Alternatywny schemat połączeń
Alternatywny schemat połączeń

Dalsza informacja:

Więcej informacji można znaleźć w arkuszu danych MCP41HVX1.

Pełna dokumentacja dotycząca całej biblioteki MCP41HVX1 jest dostępna w pliku README.md, który jest częścią pobierania biblioteki. Ten plik jest napisany w mark down i można go przeglądać z odpowiednim formatowaniem w Github (spójrz na dół strony) lub za pomocą przeglądarki/edytora mark down.

Komunikacja między Arduino a DigiPot:

Arduino komunikuje się z DigiPot za pomocą SPI. Po wysłaniu przez bibliotekę komendy pozycji wycieraczki, takiej jak WiperIncrement, WiperDecrement lub WiperSetPosition, wywołuje ona WiperGetPosition, aby uzyskać pozycję wycieraczki z układu. Wartość zwrócona z tych poleceń Wiper jest pozycją wycieraczki, jaką widzi chip i może być użyta do sprawdzenia, czy wycieraczka przesunęła się w oczekiwaną lokalizację.

Zaawansowana funkcjonalność (WLAT i SHDN)

Te zaawansowane funkcje nie są pokazane w przykładzie „Kontrola wycieraczek”. W bibliotece dostępne są interfejsy API do kontrolowania WLAT i SHDN. W bibliotece znajdują się również przykładowe szkice WLAT i SHDN (w tym samym miejscu, co szkic Wiper Control).

SHDN (zamykanie)

SHDN służy do wyłączania lub włączania sieci rezystorów. Ustawienie SHDN na niski wyłącza, a wysoki włącza sieć rezystorów. Gdy sieć rezystorów jest wyłączona, P0A (DigiPot pin 13) jest odłączony, a P0B (DigiPot pin 11) jest podłączony do P0W (DigiPot pin 12). Pomiędzy P0B i P0W będzie niewielka rezystancja, więc miernik nie odczyta 0 omów.

Jeśli twoja aplikacja nie ma potrzeby sterowania SHDN, możesz podłączyć ją bezpośrednio do HIGH (patrz alternatywny schemat połączeń). Będziesz musiał użyć prawidłowego konstruktora lub przekazać MCP41HVX1_PIN_NOT_CONFIGURED do konstruktora, aby wskazać, że SHDN jest na stałe. Ważne jest, aby pamiętać, że jeśli postępujesz zgodnie z przykładem, musisz użyć pełnego schematu okablowania (patrz krok Okablowanie powyżej).

WLAT (zatrzask zapisu)

Architektura wewnętrzna to dwa komponenty na jednym chipie. Jednym z elementów jest interfejs SDI i rejestr do przechowywania wartości wycieraczki. Drugim elementem jest sama sieć rezystorów. WLAT łączy ze sobą oba komponenty wewnętrzne.

Gdy WLAT jest ustawiony na LOW, wszelkie informacje o poleceniu ustawienia pozycji wycieraczki są przekazywane bezpośrednio do sieci rezystorów, a pozycja wycieraczki jest aktualizowana.

Jeśli WLAT jest ustawiony na WYSOKI, informacja o położeniu wycieraka przekazywana przez SPI jest przechowywana w wewnętrznym rejestrze, ale nie jest przekazywana do sieci rezystorów i dlatego położenie wycieraczki nie zostanie zaktualizowane. Po ustawieniu WLAT na LOW, wartość jest przesyłana z rejestru do sieci rezystorów.

WLAT jest przydatny, jeśli używasz wielu digipotów, które musisz zsynchronizować. Strategia polega na ustawieniu WLAT na HIGH na wszystkich digipotach, a następnie ustawieniu wartości wycieraczki na wszystkich żetonach. Po wysłaniu wartości wycieraczki do wszystkich digipotów, WLAT można ustawić na LOW na wszystkich urządzeniach jednocześnie, aby wszystkie poruszały wycieraczkami w tym samym czasie.

Jeśli kontrolujesz tylko jeden DigiPot lub masz kilka, ale nie trzeba ich synchronizować, najprawdopodobniej nie będziesz potrzebować tej funkcji i dlatego możesz podłączyć WLAT bezpośrednio do LOW (patrz alternatywny schemat połączeń). Będziesz musiał użyć prawidłowego konstruktora lub przekazać MCP41HVX1_PIN_NOT_CONFIGURED do konstruktora, aby wskazać, że WLAT jest podłączony na stałe. Ważne jest, aby pamiętać, że jeśli postępujesz zgodnie z przykładem, musisz użyć pełnego schematu okablowania (patrz krok Okablowanie powyżej).

Krok 10: Alternatywny schemat połączeń

Okablowanie

Masz możliwość podłączenia WLAT z digpot bezpośrednio do LOW\GND zamiast podłączania do pinu cyfrowego. Jeśli to zrobisz, nie będziesz w stanie kontrolować WLAT. Masz również możliwość podłączenia SHDN bezpośrednio do HIGH zamiast pinu cyfrowego. Jeśli to zrobisz, nie będziesz w stanie kontrolować SHDN.

WLAT i SHDN są niezależne od siebie, dzięki czemu można połączyć jedno i drugie z pinem cyfrowym, połączyć obydwoma przewodami lub połączyć oba z pinami cyfrowymi, aby można było nimi sterować. Zapoznaj się z alternatywnym schematem okablowania dla tych, które chcesz okablować na stałe, i wróć do głównego schematu okablowania w kroku 2, aby uzyskać informacje o okablowaniu sterowanych pinów cyfrowych.

Konstruktorzy

W klasie MCP41HVX są trzy konstruktory. Omówimy dwa z nich. Wszystkie są udokumentowane w pliku README.md, więc jeśli jesteś zainteresowany trzecim konstruktorem, zapoznaj się z dokumentacją.

  • MCP41HVX1(int nCSPin) - użyj tego konstruktora tylko wtedy, gdy zarówno WLAT, jak i SHDN są podłączone na stałe.
  • MCP41HVX1 (int nCSPin, int nSHDNPin, int nWLATPin) - użyj tego konstruktora, jeśli WLAT lub SHDN są podłączone na stałe. Podaj stałą MCP41HVX1_PIN_NOT_CONFIGURED, jeśli styk jest podłączony na stałe lub numer styku, jeśli jest podłączony do styku cyfrowego.

nCSPin musi być podłączony do pinu cyfrowego. Przekazywanie MCP41HVX1_PIN_NOT_CONFIGURED do konstruktora dla nCSPin jest nieprawidłowe.

Co jeśli nie używam Arduino Uno?

Arduino używa SPI do komunikacji z digipot. Piny SPI to specyficzne piny na płycie Arduino. Piny SPI na Uno to:

  • SCK - pin 13 na Uno połączony z pinem 2 na digipot
  • MOSI - pin 11 na Uno połączony z pinem 4 na digipot
  • MISO - pin 12 na Uno połączony z pinem 5 na digipot

Jeśli używasz Arduino, które nie jest Uno, musisz dowiedzieć się, który pin to SCK, MOSI i MISO i podłączyć je do digipot.

Inne szpilki użyte w szkicu to zwykłe szpilki cyfrowe, więc każdy szpilka cyfrowa będzie działać. Będziesz musiał zmodyfikować szkic, aby określić piny, które wybierzesz na płycie Arduino, której używasz. Zwykłe piny cyfrowe to:

  • CS - pin 10 na Uno połączony z pinem 3 na digipot (zaktualizuj CS_PIN w szkicu o nową wartość)
  • WLAT - pin 8 na Uno połączony z pinem 6 na digipot (zaktualizuj WLAT_PIN w szkicu o nową wartość)
  • SHDN - pin 9 na Uno połączony z pinem 7 na digipot (zaktualizuj SHDN_PIN w szkicu o nową wartość)

Zalecana: