Comments 53
Для теста возьмём пример из библиотеки LiquidCrystal.h — «Hello World».
Вся суть «статьи»: берем готовое железо, берем готовый софт, пара бессознательных кликов мышкой — и можно писать статью!
Остается один вопрос: вы ее зачем писали?
Лучшие схемы создаются во fritzing.
Если ваша цель — привлечь внимание, то есть чтобы на вас показывали пальцем как на идиота, не способного читать и чертить нормальные схемы.
Диагноз «идиотия» очень трудно ставится. Для этого нужен психиатр соответствующий квалификации.
Может при диагностике оказаться, что психически неполноценным человеком может оказаться комментатор.
Хейтер — это тоже психологическая болезнь.
Диагноз «идиотия» очень трудно ставится. Для этого нужен психиатр соответствующий квалификации.И вы решили таким способом автоматизировать сию сложную задачу? Если взрослый человек (старше 16 лет) малюет «схемы» в fritzing и считает себя гуру разработчиком, можно сразу вызывать санитаров.
Хейтер — это тоже психологическая болезнь.Угу. Это не статья ущербная, это вокруг одни хейтеры.
Почему статьи должны публиковать только гуру по вашему мнению? Это какие то стериотипы закомплексованности?
Я думаю, статьи может писать любой человек, если испытывает к этому потребность. А другие люди могут читать, а могут и игнорировать. Демократия и свобода слова.
А выливать свой гнев и какие-то мнения, определённые на устаревших стериотипах это особенность индивидуума.
Выже не знаете зачем я статьи пишу. Может я провожу эксперимент касательно психологии личности с корреляцией на их профессию и заложенным стериотипам.
Выже не знаете зачем я статьи пишу.
Тоже мне бином Ньютона ;)
Блогер, продвигающий свой канал. Это видно по остальным статьям ;)
как можете заметить из статьи. Нигде нет слова «Гуру», «профессионал» и подобные высокопарные слова.я вижу тэг «туториал». Знаете что он означает или при его простановке руководствовались тем же соображением, что и при написании «пишу что хочу»?
Я думаю, статьи может писать любой человек, если испытывает к этому потребность.Если испытываете непреодолимое желание выкладывать подобные «достижения», для этого существуют сервисы личных блогов. Не надо загаживать уважаемую общественную площадку подобным мусором.
А выливать свой гнев и какие-то мненияНе надо проецировать свои комплексы на окружающих. Вы вывалили на всеобщее обозрение
Понятно
"Рассмотрим процесс подключения дисплея 1602. У него шестнадцать выводов."
Больше ничем этот дисплей не примечателен, похоже.
Зачем эта статья? Информации о дисплеях и Ардуино вагон, можно ведь сделать подборку из чего то полезного. А так это не тянет ни на учебный материал, ни на справочник. Я сделаль.
Потому что ардуина. У них везде в примерах работы с контроллером HD44780 4bit режим.
/*
Display pin MCU pin
DB4 PD5
DB5 PD4
DB6 PD3
DB7 PD2
*/
— это надо быть истинным ардуинщиком в самом плохом смысле этого слова. Создается ощущение, что никто из них ни разу не удосужился заглянуть в datasheet, чтобы узнать, что выводы однокристаллки не самостоятельные «пины», а организованы в порты.Возможно, при разводке проводников кому то из Древних так показалось удобнее. А остальные перепечатывают это решение не задумываясь.
Когда мне дают задание на разработку какого-то контроллера (до схемы дело еще не дошло, просто известно, что будут задействованы модули/интерфейсы различного назначения), то я закупаю эти модули в виде отдельных плат, и, если с каким-то модулем я не работал, то проверяю его на ардуинке, используя встроенную или кем то созданную библиотеку. Если модуль работает как нужно, значит он исправен (если не работает, то возможно библиотека с ошибками или действительно сам модуль неисправен).
Далее, разбираюсь с ним в плане программирования и пишу прошивку.
Я к чему.
Если бы вы в одной статье описали максимально возможное кол-во модулей и библиотек для работы с ними (встроенные/сторонние) в ардуинке, то лично я положил бы статью в закладки.
"с ардуинского языка на нормальный."
С С++ на какой? ;)
PORTB |= 1<< BIT_6 — такие конструкции будут сильно лучше?
fgrep -r digitalWrite arduino-1.8.8/libraries/LiquidCrystal/src/LiquidCrystal.cpp | wc -l
10
fgrep -r delayMicroseconds arduino-1.8.8/libraries/LiquidCrystal/src/LiquidCrystal.cpp | wc -l
11
Смекаете?
Ему и логике я верю больше, чем вашим фантазиям.
delayMicroseconds(4500); // wait more than 4.1ms
, чем от оптимизации в 5 микросекунд.
А учитывая, что мы обсуждаем не HD44780, а ардуинские модули, простор для творчества просто невероятный.
И ещё ардуиновкие библиотеки делаются совместимыми с разными платформами — отсюда и ардуиновское API, избыточное, но работоспособное везде.
Так то я против оптимизации ничего не имею ;)
Просто тема-то началась именно с того чтобы на Ардуине тестить, а потом переводить на нормальный язык. Ну и подгонять под задачу, очевидно.
"на Ардуине тестить, а потом переводить на нормальный язык."
Двойная работа.
Уж точно это быстрее и проще, чем методом тыка определять какие команды из даташита нужны для инициализации, а какие для экзотического случая. А потом обнаружить что модуль бракованный.
Разработчики Ардуины ориентировались на простоту и универсальность. Поэтому их система (плата и язык) хороша для начального тестирования, но плоха для серьезного использования.
Разница между демо-кодом от производителя с рисованием его логотипа и реальным использованием с выводом осмысленного текста?
Или замена попиксельного вывода на DMA? Ну, тот же ili9341 у меня разгонялся до >10 кадров в секунду параллельно с расчетом трехмерки. Ардуинская версия такое не потянет точно.
Уровень хабра всетаки казался мне несколько выше.
Раз уж статья для новичков, то почему бы не сделать с переходником I2C? Питание, земля, пины А4 и А5, всё, зачем этот бред с заниманием половины портов ардуины?
Я даже специально пришёл посмотреть дату статьи. Но нет, в 2021 году писать по теме, которая развжевана во всем интернете гораздо лучше, чем у автора… это что-то сверх понимания. Кстати, эти дисплеи тянут за собой забавный легаси со времен процессоров x51 — по сути они должны всей шиной цепляться на шину общения МК с периферией и лишь вопрос выбора устройства решается иначе. Автору советую раскуривать схемы кассовых аппаратов всяких середины 2000х, весьма познавательно.
А можно ещё пояснить, зачем одновременно макетка беспаечная и мгтф? Если это просто пример на потестить, не проще было запаять в индикатор гребёнку из штырей, воткнуть ее в макетку, ну а дальше проводами со штырьками соединять с ардуиной? А ещё проще запаять не гребёнку, а ответную часть (гнезда в ряд, типа PBS) и прямо их с ардуиной проводками?
Дисплей 1602 подключение к arduino