Устройство на Ardiuno для контроля пересечения барьера.

Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Ответить
Мучитель микросхем
Сообщения: 486
Зарегистрирован: Пн фев 16, 2026 17:30:02

Сообщение Rapra »

Massaraksh7 писал(а): Пт июн 19, 2026 07:01:31 не является для меня авторитетом в экспертизе кода.
Ну дык... :)) А кто для вас является авторитетом, кроме вас самих? :))
Реклама
Открыл глаза
Аватара пользователя
Сообщения: 73
Зарегистрирован: Ср июн 03, 2026 18:51:39
Откуда: Воронеж

Сообщение Massaraksh7 »

Rapra писал(а): Пт июн 19, 2026 14:35:26 Ну дык... :)) А кто для вас является авторитетом, кроме вас самих? :))
В чём? В электронике - большинство участников форума. В программировании - Вы правы. )))
Реклама
Мучитель микросхем
Сообщения: 486
Зарегистрирован: Пн фев 16, 2026 17:30:02

Сообщение Rapra »

Ну конечно - в программировании у вас уникальный собственный стиль, особенно в именах, которые не соответствуют смыслу, и в степени запутывания кода :)) Это называется "горе от ума"
Мудрый кот
Сообщения: 1743
Зарегистрирован: Вт авг 15, 2017 10:51:13

Сообщение jcxz »

Massaraksh7 писал(а): Пт июн 19, 2026 14:07:13 я, так-то, последние 30 лет на Паскале работаю) программа не затормозится насколько, чтобы потерять работоспособность.
Автор лжёт. :facepalm: Работай он реально хотя-бы пару лет программером, он бы не писал код в стиле чайника. С таким "кодом" его любая контора должна уволить в 5 минут.
Невозможно на работе писать нормально, а дома быдлокодить.
Реклама
Эиком - электронные компоненты и радиодетали
Мучитель микросхем
Сообщения: 486
Зарегистрирован: Пн фев 16, 2026 17:30:02

Сообщение Rapra »

Вот еще момент:
кто-нить может понять, что и почему здесь написано:

Код: Выделить всё

//---Записать цифру в индикатор
void setDig(int n) {
int i,j;  
for (j=7;j<=13;j++)digitalWrite(j,LOW);
for (i=0;i<8;i++)
   {
   if (adata[n][i]==0)break;
   digitalWrite(adata[n][i],HIGH);
   }
}
Какой "авторитет" научил такому? Хрен пойми.

Вообще, издревле, для вывода цифры на семисегментник использовался вот такой подход:

Код: Выделить всё

#define SEG_A (1 << 0)
#define SEG_B (1 << 1)
#define SEG_C (1 << 2)
#define SEG_D (1 << 3)
#define SEG_E (1 << 4)
#define SEG_F (1 << 5)
#define SEG_G (1 << 6)

#define DIG_0 (SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F        )
#define DIG_1 (        SEG_B | SEG_C                                )
#define DIG_2 (SEG_A | SEG_B         | SEG_D | SEG_E         | SEG_G)
#define DIG_3 (SEG_A | SEG_B | SEG_C | SEG_D                 | SEG_G)
#define DIG_4 (        SEG_B | SEG_C                 | SEG_F | SEG_G)
#define DIG_5 (SEG_A         | SEG_C | SEG_D         | SEG_F | SEG_G)
#define DIG_6 (SEG_A         | SEG_C | SEG_D | SEG_E | SEG_F | SEG_G)
#define DIG_7 (SEG_A | SEG_B | SEG_C                                )
#define DIG_8 (SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F | SEG_G)
#define DIG_9 (SEG_A | SEG_B | SEG_C | SEG_D         | SEG_F | SEG_G)

const uint8_t segments[] = {DIG_0, DIG_1, DIG_2, DIG_3, DIG_4,
		DIG_5, DIG_6, DIG_7, DIG_8, DIG_9};

void Print(uint8_t digit)
{
    if(digit < sizeof(segments)) 
        GpioA::WritePort(segments[digit]);
}
Реклама
Это не хвост, это антенна
Сообщения: 1330
Зарегистрирован: Вт ноя 19, 2019 06:10:18

Сообщение tonyk »

Massaraksh7 писал(а):Вот здесь я захожу, выставив перед собой руку.
Покажите лог программы, в котором будут видны состояния, через которые проходит ваш КА.

Кстати, обратите внимание на количество лучей на турникетах в метро.
Реклама
Мучитель микросхем
Сообщения: 486
Зарегистрирован: Пн фев 16, 2026 17:30:02

Сообщение Rapra »

Да у него там просто большой таймаут, поэтому и работает норм. Я ж говорил ранее - есть методы определения габаритов предмета по времени прохождения датчиков. И выставив соответствующий таймаут, можно убрать чувствительность к малогабаритным телам.
Открыл глаза
Аватара пользователя
Сообщения: 73
Зарегистрирован: Ср июн 03, 2026 18:51:39
Откуда: Воронеж

Сообщение Massaraksh7 »

roman.com писал(а): Пт июн 19, 2026 12:47:35 Поэтому все нормальные люди делают усилители с автосмещением.
Перепаял. Внешне ничего не изменилось. Рисунок схемы перезагрузил.
Ответить

Вернуться в «Arduino»