Студень в головах - вот что самое страшное. А он, как я наблюдаю, захватывает всё больше черепных коробок. Возраст - дело такое, мой мне уже позволяет получать пенсию. Железки нынче не такие и дорогие, если подойти к покупке с правильной позиции. Так что - было бы желание. Ищите и обрящите.
"Чистовичек" для автодозатора кормушки с учетом замечаний по функционалу и теоретической возможности переноса на LGT-"про-мини" viewtopic.php?p=4731749#p4731749 в качестве основы полне пригоден. Размещение выводов не догма - меняется схема, меням и соответствующие данные в программе.
Собственно то вариант будильника с минимально возможным управлением. Аналогия устройства на пикушке в статье, но из "подручных средств набора адурино".
приятно, что наконец то кто то додумался вывести кучу земель и питалова... теперь половину мелких тестов/отладок можно без breadboard-а делать, забыв про глюки неконтакта
Это как бы "стандартный вариант" разводки выводов для МК (в данном случае вместо отдельного МК стоит "DIP микросборка")... Для прикладной платы на основе таких микросборок правила то те же, что и для обычных микросхем в DIP корпусах (шины "земли", питания и сигналов). Единственно чего не забываем - при питании от внешнего источника +5 ставить защитный диод параллельно штатной ЕНки (той, что на платке нанке или про-мини, LGT установлена). Но в данном случае у платки питание от внешнего +6/ +9 по линии Vin (защита не обязательна) - да еще и жирнющий стабилизатор на +3 вольта на кросс-плате...
DRAM изобрели. Она тоже на кондерах. И тоже нужна регенерация Есть модуль памяти на феррите, называется "ДОЗУ", вроде бы от советского кассового аппарата. Этажерка из плат. Лютая аналоговая часть, куча микросхем в "желтых" корпусах, марки которых даже Нефедов не знает, и "зеленых" кондеров. Сама ферритовая "плетенка"по сравнению с блоком крошечная, примерно бит на 100.
я вот смотрю на все эти библиотеки... и не могу понять... зачем они вообще нужны ? если надо что-то подключить к мк... ну напиши функцию и скопируй в свой код... да и всё. зачем такие сложности с библиотеками вообще... лучше бы выкладывали примеры кода... было бы больше пользы...
Иногда и "чужие" библиотеки полезны в проектах (ежли чего простенького да быстрее надо или "одноразово"). Не всегда полное изучение железа оправдано, иногда достаточно чуток подправленной под себя библиотеки (СИшный ассемблер да детализацию аппаратных модулей довольно накладно изучать в полном объеме ) Да и по исходникам полазить/почитать полезно. Плюс начинающим более удачный/простой вариант подсказать - по теме ардуино редко чего полезного узнать можно. Вот народ и "ломится в открытую дверь" (на сегодня уже такое мало оправдано, не то, что лет пять раньше). Примеры кода соответствуют самоделкам. А я уж и так для себя понаделал - девать некуда (разве что в бутыля консервировать - но они ж /самоделки/ не съедобны ) Иногда в других темах чуток добавляю по адуринкам... К примеру последнее воть тут было (мучили регистр ИР10) viewtopic.php?f=22&t=199293 но... чисто теоретически - оттого и ... плюс таки склероз чуток достал в вопросах "рассыпухи".
вообще вопрос бы по ссылке... https://iarduino.ru/file/ по ссылке представлены библиотеки разных устройств... всякие так называемые "Shield": -датчиков температуры DS18XXX... -для цветных TFT дисплеев... -датчиков давления и температуры BMP180... -Bluetooth_HC05 для работы с Trema Bluetooth модулем HC-05... -для работы с OLED дисплеями... и т.д.
а не проще просто написать функцию для каждого устройства и при необходимости просто скопировать эту функцию в свой код... чем писать целую отдельную библиотеку для каждого устройства ?
Так ссыль то по причине наличия библиотеки со сканером устройств на шине I2C - вполне себе работоспособного и довольно интересного варианта. (смотри viewtopic.php?f=66&t=199291) Помимо прочего там (по ссылке) и весьма оригинальное решение для контроля источника питания для адуринок на основе атмеги 328Р... Любой источник данных интерес может представлять, ежли с умом просматривать. Касательно библиотеки для регистра - может и потребуется в некоторых случаях... Возьмите тот же вариант "подгружаемых исполняемых модулей" на единой базовой платформе, где подобный регистр является частью периферии, используемой как основной, иак и подгружаемой программами. Но в моем случае имело место просто напоминание о внимании к диаграммам работы да порой склерозе по привыканию к "стандартным решениям" на базе "периферии с мозгами" (там заметно больше "стандартизированных" решений, а при работе с примитивной рассыпухой надо стары конспекты порой доставать ).
а не проще просто написать функцию для каждого устройства и при необходимости просто скопировать эту функцию в свой код... чем писать целую отдельную библиотеку для каждого устройства ?
Не проще, поскольку, как правило, для устройства необходимо иметь несколько функций (с разным функционалом) и помимо функций также некоторые глобальные переменные и константы, которые были-бы также доступны коду пользователя. Помнить какие функции и переменные для данного устройства нужно скопировать в свой проект, мягко говоря, неудобно. Таким образом, придём к единому мультифайловому программному объекту под названием "библиотека" или "класс" в терминах ООП, как это сделано в Ардуино.
Конечно, весь код работы с устройством можно запихнуть и в одну функцию, и вообще весь код приложения МК в main(). Это ламерский подход, который делает код практически нечитаемым, сложным для развития и переноса под новый проект и т.п.
ООП как правило пишется под ОС. А там много писать. Поэтому лучше использовать библиотеку.
Но мы говорим про Ардуино на простом МК. И простых устройствах для МК.
Например ЖК экран. Для ЖК экрана достаточно всего то несколько функций... -инициализация. -перемещение курсора (не обязательно). -вывод данных на экран. -вкл/выкл экран. Все)) На самом деле возможностей экрана как правило больше... Но на практике ими никто не пользуется. Тогда зачем писать целую библиотеку если можно написать несколько простых функций... Скопировать в любой проект и пользоваться себе на здоровье)).
Аналогично с другими устройствами.
Итого:
lcd_init(127); // яркость экрана - 0...255. lcd_on(1); //1- on, 0 - off. lcd_data(String); // вывод данных (текста) на экран.
Все)) Этих функций достаточно для простых поделок на Ардуино. Термометры... Тахометры... Вольтметры... и т.д. А кому мало могут дописать дополнительные функции. Но как правило никому не надо.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения