Двоичный считыватель с arduino мигает 8 светодиодами
Im пытается вставить двоичную сырую последовательность (01010100, 01101000, 01100001) в Arduino. Я хотел бы заставить 8-светодиодную группу мигать в цикле, показывая со светом каждую 8-групповую двоичную последовательность, когда: 0=light off и 1=light on.
Можно ли сделать эту операцию с Arduino-uno ?
@Le Cras, 👍0
Обсуждение1 ответ
▲ 1
Вы просто добавляете число в двоичном виде с помощью B например B01100100 которое равно 100 в десятичной системе счисления
byte sequence[] = {
B10000000,
B01000000,
B00100000,
B00010000,
B00001000,
B00000100,
B00000010,
B00000001
}
И чтобы проверить n-й бит справа в числе, которое вы делаете
boolean bit_set = number & (1 << (n - 1)) != 0;
,
@gre_gor
Смотрите также:
- Несколько условий оператора if
- Светодиоды: разница между общим анодом и общим катодом
- Остановить мигание светодиодов
- Интеграция 2 кнопок для включения и выключения светодиода.
- Управление цифровой адресной светодиодной лентой RGB 12 В с помощью Arduino
- Код Arduino для управления 4 светодиодами с 4 кнопок
- Нужен ли подтягивающий/понижающий резистор для цепи светодиода кнопки?
- Мигните светодиодом 5 раз с помощью цикла for
я не думаю, что двоичные файлы поддерживаются в arduino, но вы можете использовать побитовые операторы с десятичными значениями этих двоичных файлов, @razzak
Вы должны быть в состоянии сделать то, о чем просите, однако ваш вопрос не очень ясен. Вы спрашиваете, как бы вы включили/выключили светодиоды на основе двоичного значения переменной или как бы вы получили необработанную последовательность в Arduino/исходный код? Или и то и другое? Как вы хотите получить эту последовательность в Arduino? Должен ли он быть предварительно написан в исходном коде, сохранен на каком-либо внешнем устройстве (например, SD-карте), введен пользователем с какого-либо другого оборудования (например, клавиатуры) или передан (по беспроводной связи или через последовательное соединение)?, @Mick Waites
@razzak: Двоичный код, не поддерживаемый Arduino, - это самое глупое утверждение, которое я когда-либо слышал об этой платформе. Почти все, что находится внутри Arduino, является двоичным. Десятичное число используется только для ввода-вывода, и только потому, что нам, людям, оно нравится больше, чем двоичное., @Edgar Bonet
@EdgarBonet я говорил об использовании двоичных литералов, а не операций на уровне процессора, вы не можете сделать
int x = 01001001;
в arduino. Однако вы можете использовать двоичную [специальную нотацию (форматер)](http://www.arduino.cc/en/Reference/IntegerConstants) как `int x = B01001001;", который не является фактическим двоичным, а скорее предопределенным десятичным, как это делается "#define B01001001 73"., @razzakЗатем, в своем первоначальном комментарии, вы не смогли прояснить, о чем вы говорили. Обозначение “B”, _ в реальной практике _ не сильно отличается от “0x” для hex. Или даже десятичное число, которое, в конце концов, всего лишь обозначение: вам на самом деле все равно, интерпретируется ли оно препроцессором или самим компилятором., @Edgar Bonet