Как расширить количество аналоговых входов и выходов на вашем Arduino?

Интернет-магазин

Новости Arduino

16 декабря 2013г.
Flutter - платформа разработки, основанная на Arduino
01 марта 2013г.
TV-выход на Arduino
08 февраля 2013г.
Raspberry Pi медиацентр своими руками
08 ноября 2012г.
Пополнение в библиотеке - Bionic Arduino на русском языке
04 июля 2012г.
Сонар для слепых на базе Arduino Mini Pro
30 мая 2012г.
Новости Raspberry Pi или шесть мучительных недель
16 мая 2012г.
Подключение датчика движения к Ардуино
14 февраля 2012г.
Arduino Pong - игровая платформа

Контактные данные

Телефон:
(093) 503-26-13
Электронная почта:

 

Главная Библиотека Arduino Как расширить количество аналоговых входов и выходов на вашем Arduino?

Как расширить количество аналоговых входов и выходов на вашем Arduino?

 

Мультиплексор или демультиплексор позволит вам расширить количество входов и выходов на вашем Arduino. 
Микросхема 4051 является 8-канальным аналоговым мультиплексор / демультиплексором, таким образом: 
* Если вы используете 4051 как мультиплексор: Вы можете выбрать любой из 8 различных входов и прочитать его состояние в контролер. 
* Если вы используете 4051 как демультиплексор вы можете выбрать любой из 8 различных выходов и записать туда нужное вам значение.

Кроме того, 4051 может работать с аналоговыми значения, в вашем Arduino, вы можете использовать аналоговые сигналы с напряжением 0-5В и подключить микросхему к аналоговым входам на Arduino.

 

multiplexor_CD4051

Чтобы выбрать нужный вход микросхемы а также режимы работы чтение или запись, мы должны использовать три управляющих сигнала (S0, S1 и S2). Каждый из этих контактов должен быть подключён к одному из цифровых выходов Arduino. Каждый выход имеет номер (S0 = 1; S1 = 2; S2 = 4) и, если установить на одном из этих выходов высокий логический уровень то, число контактных представляет будет передано 4051.

Например: 
* Если на входах микросхемы S0 и S1 установить лог“1» а на S2 лог“0» то выбран вход y3 микросхемы, это выглядит так (1 +2 +0 = 3). 
* Если на входах микросхемы S0 и S2 установить лог“1» а на S1 лог“0» то выбран вход y5 микросхемы, это выглядит так (1 +0 +4 = 5).

Не возможно читать или записывать состояние больше, чем в одного вывода 4051 одновременно. Но вы можете читать и записывать состояние выводом микросхемы достаточно быстро. Не существует необходимости в задержке между выбором, чтением или записью состояния выводов 4051.

4051 used as a multiplexer

* Z ----- общий сигнал ввода или вывода (соединенный с входом/выходом Arduino) 
* E ----- вход разрешения (активный лог «0») (подключен к земле (GND)) 
* Vee --- отрицательное напряжение питания (подключен к земле (GND)) 
* GND --- общий минус (0 V) 
* S0-S2 — выбор входов (подключены к трем цифровым выводам Arduino) 
* y0-Y7 — независимые входы/выходы 
* Vcc --- положительное напряжение питания (5 В)

multiplexor_CD4051

multiplexor_CD4051
Левое изображение выше, например, как использовать 9 мультиплексор читать 64 аналоговых входов только с одним аналоговым входом Arduino. 
Правое изображение выше пример того, как использовать два 4051 (один настроенный как демультиплексор и одного в качестве мультиплексора) в матрице 8x8 для проверки 64 кнопок или других цифровых входов только с одного цифрового входа на Arduino (со второй установки вы может просто две кнопки в то же время, в противном случае вы должны использовать первый (слева) установки).
multiplexor_CD4051

Пример кода:

// Пример для использования 4051 аналоговый мультиплексор / демультиплексор 
// by david c. 

int led = 13 ; // Настраиваем на 13 ноге светодиод 
int r0 = 0 ;    // значение выбрать вывод на 4051 (S0
int r1 = 0 ;    // значение выбрать вывод на 4051 (S1
int r2 = 0 ;    // значение выбрать вывод на 4051 (S2
int row = 0 ; // storeing the bin code      
int count = 0 ; // щётчик 
int bin [ ] = { 000, 1, 10, 11, 100, 101, 110, 111 } ; // Массив двоичных числ определяющих номер выбранного входа/выхода микросхемы 4051, с 1 по 8. 
void setup () { // ИНИЦИАЛИЗАЦИЯ 
pinMode (2, OUTPUT) ; // s0  выход 
pinMode (3, OUTPUT) ; // s1  выход 
pinMode (4, OUTPUT) ; // s2  выход 
digitalWrite (led, HIGH) ; //зажечь светодиод 
beginSerial (9600) ; // скорость обмена по UART 
}      

void loop () {      
for (count = 0 ; count ≤ 7 ; count ++) { // цикл перебора элементов массива с 1 по 8 
row = bin [ count ] ;      
r0 = row & 0x01 ;      
r1 = (row >> 1) & 0x01 ; // 
r2 = (row >> 2) & 0x01 ; // 
digitalWrite (2, r0) ;      
digitalWrite (3, r1) ;      
digitalWrite (4, r2) ;      
Serial.println (bin[count]);      
delay (1000) ;      
}      
}

 

Купить CD4051 в нашем интернет-магазине

Оценка:

как расширить, количество аналоговых входов, multiplexer/demultiplexer CD4051, Arduino

22.09.2011, 20453 просмотра.

Комментарии

Благодарю!
Благодарю!
Оценка:
Толя · 16.11.2011 23:24:23 · ответить · #
Имя

E-mail

Телефон

Тема

Комментарий

Оценка


Контрольные цифры *

Введите число, которое указано выше.

Корзина пуста

Перейдите в каталог, выберите требуемый товар и добавьте его в корзину.

Метки