Wiem już, jak zwiększyć liczbę pinów cyfrowych na Arduino za pomocą multipleksera.
Chcę zwiększyć liczbę posiadanych analogowych kanałów wejściowych. Jednym z rozwiązań jest dodanie kolejnego Arduino jako niewolnika.
Jak zwiększyć liczbę analogowych kanałów wejściowych? (Zakładam, że w grę wchodzą niektóre MUXing i ADC). Jeśli napisanie w odpowiedzi jest zbyt skomplikowane, ogólny zarys obwodu / kodu również byłby odpowiedni.
Jestem również otwarty na zasłanianie sugestii, choć wolałbym, gdyby istniało niezbyt trudne rozwiązanie sprzętowe.
Odpowiedzi:
Jeśli znasz już układy cyfrowego multipleksera, dobra wiadomość! Mogą być również używane do sygnałów analogowych.
http://playground.arduino.cc/Learning/4051
Podstawowa przesłanka jest dokładnie taka jak w przypadku cyfrowego multipleksowania sygnału. Używasz układu 4051 jako „zmieniacza linii” i odczytujesz sygnał z dowolnego pasa, na który chcesz przełączyć układ. 4051 wykorzystuje 3 piny cyfrowe i 1 dodatkowy pin analogowy (lub cyfrowy) na arduino, aby utworzyć do 8 linii wejściowych. Niektóre multipleksery można łączyć w łańcuchy, więc możesz dość łatwo dodać 8 dodatkowych sygnałów bez konieczności ciągłego odbierania ich od samego arduino.
Jest to dokładnie tak jak technika, którą już znasz dla sygnałów cyfrowych, po prostu podłącz kanał, z którego czytasz, do analogowego styku zamiast cyfrowego, a następnie przełączaj się między stanami binarnymi i odczytuj wartości analogowe.
Zrobiłem dla ciebie animowany gif.
źródło
Warto pamiętać, że sam układ ATmega Arduino korzysta z analogowego MUX. Układy oparte na Uno (ATmega328) mają tylko jeden ADC. 6 wejść analogowych to tak naprawdę MUX, który łączy się z tym jednym ADC.
Dlatego możesz jednocześnie odczytywać tylko 1 wejście analogowe.
Podczas rozszerzania wejść analogowych może być konieczne rozważenie, ile czasu zajmuje wykonanie tego całego MUXingu i czy dodatkowe aplikacje ADC są potrzebne w twojej aplikacji.
źródło
Zastanów się: dodaj ATtiny 85 z komunikacją szeregową z Arduino, używa 2 pinów dla Rx, Tx i masz jeszcze 3 piny, które mogą być używane jako analogowe. W tym momencie możesz opracować własny protokół, ATtiny może przetwarzać algorytm i wysyłać przetworzone informacje do Arduino, jest to również bardzo tanie, sam próbowałem, jest to fajna architektura.
Dobry dzień
źródło