ЦАП
- Войдите на сайт для отправки комментариев
Ср, 22/07/2015 - 11:23
Здравствуйте! Подскажите пожалуйста, как написать скетч цифро-аналогового преобразователя для nano. Имеется 6 цифровых входов на которых будут различные комбинации. Всё это нужно перевести в диапазон 0-255 и выдать на аналоговый выход.
1) считать значения входных пинов и перевести в десятичное значение по формуле:
(pin5*25)+(pin4*24)+(pin3*23)+(pin2*22)+(pin1*21)+(pin0*20)
2) с помощью map привести полученное значение к нужному диапазону и вывести его на аналоговый пин
Спасибо
igormal, на всякий случай: на nano нет аналагового выхода ) Если подразумевается analogWrite(), то это цифровой сигнал (PWM) .
r2r цап
Кстати если цифровые входы идут подряд, например 8...13, то вообще всё уместится в одну строку :)
data= (PINB&0x3f)<<2; // считать значение пинов с 8 по 13 (0...64) и умножить на 4.