Как на практике производится перенос проектов Arduino в отдельное устройство?
Я только начал изучать интересную сферу разработки устройств на Arduino, и тут же задался на перспективу - а как потом повторить свои наработки без участия управляющей платы Arduino Uno? Вопрос, наверное, дурацкий, но прошу отнестись с пониманием к новичку. Я лишь полагаю, что программа должна быть перенесена на микроконтроллер, который в свою очередь с обвязкой ему полагаемой размещается на печатной плате и далее уже, соответственно, к определённым ножкам подсоединяются те или иные модули.
Прошу людей понимающих скинуть хороший и максимально прояснённый пример переноса проекта с Arduino на печатную плату. Для начала даже хватит базового включения/выключения светодиода через секунду по циклу через логический высокий и низкий уровень (как я понял, этот практический пример встречается во многих учебниках).
Если интересует мотив, которым я руководствуюсь - это занимательное хобби, в перспективе которого я хотел бы для своих нужд изготавливать несложные устройства, но покупать для каждого по дополнительному комплекту Arduino Uno я не готов, да и считаю это неразумным делом. Лучше уж один раз всё отладить на Uno, зашить программу в микроконтроллер и перенести на отдельную плату.
а мне интересно, неужели заказать печать кастомной платы будет дешевле чем например покупать ардуины по баксу? не обязательно же uno использовать, можно и pro mini например.
хотя если нужно чтобы все было на одной плате то конечно...
Как ни странно, очень часто так и оставляют на Arduino в production.
При маленьких тиражах (например, 5 штук) это выгоднее, чем делать специальную плату, что то там переносить и пр. и пр.
Тут нужно понимать, что Arduino это средство прототипирования, т.е. вы можете быстро и дешево обкатать схемотехнику и алгоритм работы проекта. Далее у вас три пути действия.
1. Самый простой. 1-10 экземпляров устройства. Вы разрабатываете силовой шилд ля вашей платы и тупо втыкаете туда плату.
2. Более сложный. Мелкосерийное производство простых устройств. Вы разрабатываете полную плату на МК. По сути плата Arduino это МК Atmega 328 с минимальной обвязкой, (в схемах часто густо и этого не надо, но надо то чего нет). прошивка заливается в МК по SPI.
3. Самый сложный. Разрабатывается полностью новая плата, возможно с другим МК, разрабатывается новая программа в другой среде программирования на языке СИ или даже ассемблер, но с учетом полученного алгоритма. В связи с массой особенностей стандартные библиотеки Arduino имеют массу ограничений и компилятор создает медленный и очень большой код, не всегда это допустимо. Так же часто густо случается что возможности МК Atmega 328 для разрабатываемого проекта излишни или наоборот недостаточны, т.е. для крупносерийного производства стоит использовать либо более простой либо более сложный МК
Всё, что требуется - это взять микроконтроллер ATmega328P, прошить в него бутлоадер Arduino, запрограммировать FUSE-биты и после этого можно использовать для его программирования Arduino IDE.
Единственное, что может потребоваться - это создать для него специальную конфигурацию, в том случае, если Вы захотите тактировать Ваш микроконтроллер не от кристалла 16 MHz, а например от встроенного осциллятора на 8 MHz. В этом случае нужно будет просто отредактировать файл boards.txt, добавив в него собственную конфигурацию.
На самом деле все обстоит именно так, как вы думаете. Единственное, вам предстоит разобраться с распиновкой голого процессора, и его программированию без arduino загрузчика.