Страница 1 из 5
Arduino
Добавлено: 01 дек 2015, 15:09
Olej
Arduino - это совсем не "Linux way"
... но:
- это очень интересный полигон для деятельности умелых рук (а не только тех, кто языками треплет по блогам)...
- это целое направление деятельности (увлечений, хобби) взамен той ниши, которую лет 30 назад занимало радиоюбительство...
- ну и для своей реализации (программирования, отладки, тестирования, испытаний, доводки, ...) эта техника требует хост-компьютер ... который почему бы не Linux?
Т.е. это техника
не для Linux, но
зависящая от Linux
Не Arduino для Linux, а Linux для Arduino.
Ну и потом это ... "дёшево и сердито"
Re: Arduino
Добавлено: 01 дек 2015, 15:27
Olej
Ресурсы:
Книга:
Знакомство с Arduino
Она же для скачивания:
Знакомство с Arduino (перевод книги "Getting Started with Arduino")
IDE (интегрированная среда разработки) - это специальная программа, работающая на вашем копьютере, которая позволяет вам писать скетчи для платы Arduino на простом языке по образцу языка Processing.
Processing
Download Processing
Browse Tutorials
Visit the Reference
Сборник статей:
Радиоежегодник. Тема номера: Путеводитель по Arduino
Год: 2015
Издательство: Радиоежегодник
Тема номера: Путеводитель по Arduino
Выпуск: январь, 2015 (34)
Что такое Arduino?
Arduino — аппаратная вычислительная платформа, основными компонентам которой являются простая плата ввода/вывода и среда разработки на языке Wiring (C++).
Arduino
Добавлено: 05 дек 2015, 16:38
Olej
Разновидности плат Arduino, а также про клоны, оригиналы и совместимость
Оригинальные платы.
Сами итальянцы выпускают плату в нескольких основных форм-факторах:
Ardino xxx — стандартный размер, 20 входо-выходов, полная совместимость со всеми шилдами.
ArdinoMega xxx — увеличенный размер, 70 входо-выходов, совместимость не со всеми шилдами.
ArdinoNano xxx — уменьшеный размер, 22 входо-выхода, не совместима с шилдами.
ArdinoMini ххх — ещё меньший размер, 20 входо-выхоов, не совместима с шилдами, не имеет USB.
Re: Arduino
Добавлено: 03 июн 2016, 22:47
Olej
Код: Выделить всё
olej@nvidia /media/olej $ apt search arduino
p arduino - отладочная плата для AVR и библиотеки разр
p arduino-core - Code, examples, and libraries for the Ardu
p arduino-mighty-1284p - Platform files for Arduino to run on ATmeg
p arduino-mk - Программирование Arduino из командной стро
Код: Выделить всё
olej@nvidia /media/olej $ apt show arduino
Пакет: arduino
Новый: да
Состояние: не установлен
Версия: 1:1.0.5+dfsg2-2
Приоритет: необязательный
Раздел: universe/electronics
Сопровождающий: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Архитектура: all
Размер в распакованном виде: 1 727 k
Зависимости: default-jre | java6-runtime, libjna-java, librxtx-java (>=
2.2pre2-3), arduino-core (= 1:1.0.5+dfsg2-2)
Рекомендует: extra-xdg-menus, policykit-1
Описание: отладочная плата для AVR и библиотеки разработки
Arduino — это электронная платформа прототипирования с открытым исходным кодом
на гибком и лёгком в использовании оборудовании и программном обеспечении. Он
будет интересен художникам, дизайнерам, людям увлекающимся электроникой и всем,
кто заинтересован в создании интерактивных объектов и окружений.
Этот пакет устанавливает интегрированную среду разработки, которая позволяет
писать программы, компилировать код и загружать его в отладочную плату Arduino.
Так же будут установлены библиотеки и примеры программ.
Сайт: http://www.arduino.cc
Re: Arduino
Добавлено: 18 май 2017, 22:33
Olej
Дали мне тут поиграться такую простейшую модель Arduino...
Что-то типа такого:
Код: Выделить всё
[olej@dell z211]$ dnf list '*arduino*'
Последняя проверка окончания срока действия метаданных: 10 days, 0:42:46 назад, Mon May 8 21:39:14 2017.
Доступные пакеты
arduino.noarch 1:1.6.4-8.fc23 updates
arduino-core.noarch 1:1.6.4-8.fc23 updates
arduino-doc.noarch 1:1.6.4-8.fc23 updates
eclipse-cdt-arduino.x86_64 1:8.8.1-9.fc23 updates
[olej@dell z2
Тянет оно по установке не слабо - 692 Mb:
Код: Выделить всё
[olej@dell z211]$ sudo dnf install arduino*
[sudo] пароль для olej:
Последняя проверка окончания срока действия метаданных: 0:41:22 назад, Thu May 18 21:45:09 2017.
Зависимости разрешены.
==========================================================================================================================================
Package Архитектура Версия Репозиторий Размер
==========================================================================================================================================
Установка:
apache-commons-codec noarch 1.10-2.fc23 fedora 246 k
apache-commons-compress noarch 1.10-0.2.svn1684406.fc23 fedora 387 k
apache-commons-exec noarch 1.3-3.fc23 fedora 68 k
apache-commons-lang3 noarch 3.4-2.fc23 fedora 416 k
apache-commons-logging noarch 1.2-4.fc23 fedora 86 k
apache-commons-net noarch 3.3-6.fc23 fedora 279 k
arduino noarch 1:1.6.4-8.fc23 updates 1.7 M
arduino-core noarch 1:1.6.4-8.fc23 updates 4.2 M
arduino-doc noarch 1:1.6.4-8.fc23 updates 24 k
astyle-devel x86_64 2.05.1-3.fc23 fedora 20 k
avr-binutils x86_64 1:2.27-1.fc23 updates 1.8 M
avr-gcc x86_64 1:6.2.0-1.fc23 updates 14 M
avr-gcc-c++ x86_64 1:6.2.0-1.fc23 updates 5.8 M
avr-libc noarch 2.0.0-1.fc23 updates 1.5 M
avrdude x86_64 6.1-5.fc23 updates-testing 875 k
bouncycastle noarch 1.52-7.fc23 fedora 3.7 M
bouncycastle-pg noarch 1.52-8.fc23 fedora 334 k
ecj noarch 1:4.5.2-1.fc23 updates 2.1 M
guava noarch 18.0-4.fc23 fedora 1.9 M
jackson-annotations noarch 2.5.0-2.fc23 fedora 44 k
jackson-core noarch 2.5.0-2.fc23 fedora 228 k
jackson-databind noarch 2.5.0-2.fc23 fedora 1.0 M
jackson-module-mrbean noarch 2.5.0-2.fc23 fedora 33 k
jakarta-commons-httpclient noarch 1:3.1-23.fc23 fedora 246 k
jmdns noarch 3.4.1-9.fc23 fedora 212 k
jna x86_64 4.1.0-9.fc23 fedora 215 k
jsch noarch 0.1.53-3.fc23 fedora 266 k
jsemver noarch 0.9.0-2.fc23 fedora 53 k
jssc x86_64 2.8.0-3.fc23 updates 47 k
jzlib noarch 1.1.3-3.fc23 fedora 82 k
libftdi x86_64 1.2-5.fc23 fedora 49 k
objectweb-asm noarch 5.0.3-2.fc23 fedora 581 k
Результат операции
==========================================================================================================================================
Установка 32 Пакеты
Объем загрузки: 42 M
Объем изменений: 692 M
Продолжить? [д/Н]: y
Загрузка пакетов:
(1/32): arduino-doc-1.6.4-8.fc23.noarch.rpm 14 kB/s | 24 kB 00:01
(2/32): jssc-2.8.0-3.fc23.x86_64.rpm 70 kB/s | 47 kB 00:00
(3/32): apache-commons-codec-1.10-2.fc23.noarch.rpm 102 kB/s | 246 kB 00:02
(4/32): apache-commons-compress-1.10-0.2.svn1684406.fc23.noarch.rpm 111 kB/s | 387 kB 00:03
(5/32): apache-commons-exec-1.3-3.fc23.noarch.rpm 73 kB/s | 68 kB 00:00
(6/32): apache-commons-lang3-3.4-2.fc23.noarch.rpm 104 kB/s | 416 kB 00:03
(7/32): apache-commons-logging-1.2-4.fc23.noarch.rpm 90 kB/s | 86 kB 00:00
(8/32): arduino-1.6.4-8.fc23.noarch.rpm 120 kB/s | 1.7 MB 00:14
(9/32): apache-commons-net-3.3-6.fc23.noarch.rpm 107 kB/s | 279 kB 00:02
(10/32): bouncycastle-pg-1.52-8.fc23.noarch.rpm 105 kB/s | 334 kB 00:03
(11/32): jackson-annotations-2.5.0-2.fc23.noarch.rpm 83 kB/s | 44 kB 00:00
(12/32): jackson-databind-2.5.0-2.fc23.noarch.rpm 104 kB/s | 1.0 MB 00:09
(13/32): jackson-module-mrbean-2.5.0-2.fc23.noarch.rpm 56 kB/s | 33 kB 00:00
(14/32): arduino-core-1.6.4-8.fc23.noarch.rpm 138 kB/s | 4.2 MB 00:31
(15/32): jakarta-commons-httpclient-3.1-23.fc23.noarch.rpm 85 kB/s | 246 kB 00:02
(16/32): guava-18.0-4.fc23.noarch.rpm 119 kB/s | 1.9 MB 00:16
(17/32): jna-4.1.0-9.fc23.x86_64.rpm 121 kB/s | 215 kB 00:01
(18/32): jsemver-0.9.0-2.fc23.noarch.rpm 113 kB/s | 53 kB 00:00
(19/32): jsch-0.1.53-3.fc23.noarch.rpm 151 kB/s | 266 kB 00:01
(20/32): jmdns-3.4.1-9.fc23.noarch.rpm 49 kB/s | 212 kB 00:04
(21/32): jackson-core-2.5.0-2.fc23.noarch.rpm 106 kB/s | 228 kB 00:02
(22/32): jzlib-1.1.3-3.fc23.noarch.rpm 179 kB/s | 82 kB 00:00
(23/32): objectweb-asm-5.0.3-2.fc23.noarch.rpm 112 kB/s | 581 kB 00:05
(24/32): libftdi-1.2-5.fc23.x86_64.rpm 156 kB/s | 49 kB 00:00
(25/32): avrdude-6.1-5.fc23.x86_64.rpm 136 kB/s | 875 kB 00:06
(26/32): bouncycastle-1.52-7.fc23.noarch.rpm 121 kB/s | 3.7 MB 00:31
(27/32): avr-libc-2.0.0-1.fc23.noarch.rpm 102 kB/s | 1.5 MB 00:15
(28/32): ecj-4.5.2-1.fc23.noarch.rpm 136 kB/s | 2.1 MB 00:16
(29/32): avr-gcc-c++-6.2.0-1.fc23.x86_64.rpm 111 kB/s | 5.8 MB 00:53
(30/32): astyle-devel-2.05.1-3.fc23.x86_64.rpm 26 kB/s | 20 kB 00:00
(31/32): avr-binutils-2.27-1.fc23.x86_64.rpm 160 kB/s | 1.8 MB 00:11
(32/32): avr-gcc-6.2.0-1.fc23.x86_64.rpm 175 kB/s | 14 MB 01:21
------------------------------------------------------------------------------------------------------------------------------------------
Общий размер 347 kB/s | 42 MB 02:04
Проверка транзакции
Проверка транзакции успешно завершена.
Идет проверка транзакции
Тест транзакции проведен успешно
Выполнение транзакции
Установка : avr-libc-2.0.0-1.fc23.noarch 1/32
Установка : jackson-core-2.5.0-2.fc23.noarch 2/32
Установка : objectweb-asm-5.0.3-2.fc23.noarch 3/32
Установка : jackson-annotations-2.5.0-2.fc23.noarch 4/32
Установка : jackson-databind-2.5.0-2.fc23.noarch 5/32
Установка : apache-commons-logging-1.2-4.fc23.noarch 6/32
Установка : apache-commons-codec-1.10-2.fc23.noarch 7/32
Установка : jakarta-commons-httpclient-1:3.1-23.fc23.noarch 8/32
Установка : jackson-module-mrbean-2.5.0-2.fc23.noarch 9/32
Установка : avr-binutils-1:2.27-1.fc23.x86_64 10/32
Установка : avr-gcc-1:6.2.0-1.fc23.x86_64 11/32
Установка : avr-gcc-c++-1:6.2.0-1.fc23.x86_64 12/32
Установка : astyle-devel-2.05.1-3.fc23.x86_64 13/32
Установка : ecj-1:4.5.2-1.fc23.noarch 14/32
Установка : libftdi-1.2-5.fc23.x86_64 15/32
Установка : avrdude-6.1-5.fc23.x86_64 16/32
Установка : arduino-core-1:1.6.4-8.fc23.noarch 17/32
Установка : arduino-doc-1:1.6.4-8.fc23.noarch 18/32
Установка : jzlib-1.1.3-3.fc23.noarch 19/32
Установка : jsch-0.1.53-3.fc23.noarch 20/32
Установка : bouncycastle-1.52-7.fc23.noarch 21/32
Установка : bouncycastle-pg-1.52-8.fc23.noarch 22/32
Установка : jsemver-0.9.0-2.fc23.noarch 23/32
Установка : jna-4.1.0-9.fc23.x86_64 24/32
Установка : jmdns-3.4.1-9.fc23.noarch 25/32
Установка : guava-18.0-4.fc23.noarch 26/32
Установка : apache-commons-net-3.3-6.fc23.noarch 27/32
Установка : apache-commons-lang3-3.4-2.fc23.noarch 28/32
Установка : apache-commons-exec-1.3-3.fc23.noarch 29/32
Установка : apache-commons-compress-1.10-0.2.svn1684406.fc23.noarch 30/32
Установка : jssc-2.8.0-3.fc23.x86_64 31/32
Установка : arduino-1:1.6.4-8.fc23.noarch 32/32
Проверка : arduino-core-1:1.6.4-8.fc23.noarch 1/32
Проверка : arduino-1:1.6.4-8.fc23.noarch 2/32
Проверка : arduino-doc-1:1.6.4-8.fc23.noarch 3/32
Проверка : jssc-2.8.0-3.fc23.x86_64 4/32
Проверка : apache-commons-codec-1.10-2.fc23.noarch 5/32
Проверка : apache-commons-compress-1.10-0.2.svn1684406.fc23.noarch 6/32
Проверка : apache-commons-exec-1.3-3.fc23.noarch 7/32
Проверка : apache-commons-lang3-3.4-2.fc23.noarch 8/32
Проверка : apache-commons-logging-1.2-4.fc23.noarch 9/32
Проверка : apache-commons-net-3.3-6.fc23.noarch 10/32
Проверка : bouncycastle-pg-1.52-8.fc23.noarch 11/32
Проверка : guava-18.0-4.fc23.noarch 12/32
Проверка : jackson-annotations-2.5.0-2.fc23.noarch 13/32
Проверка : jackson-databind-2.5.0-2.fc23.noarch 14/32
Проверка : jackson-module-mrbean-2.5.0-2.fc23.noarch 15/32
Проверка : jakarta-commons-httpclient-1:3.1-23.fc23.noarch 16/32
Проверка : jmdns-3.4.1-9.fc23.noarch 17/32
Проверка : jna-4.1.0-9.fc23.x86_64 18/32
Проверка : jsch-0.1.53-3.fc23.noarch 19/32
Проверка : jsemver-0.9.0-2.fc23.noarch 20/32
Проверка : objectweb-asm-5.0.3-2.fc23.noarch 21/32
Проверка : bouncycastle-1.52-7.fc23.noarch 22/32
Проверка : jackson-core-2.5.0-2.fc23.noarch 23/32
Проверка : jzlib-1.1.3-3.fc23.noarch 24/32
Проверка : avrdude-6.1-5.fc23.x86_64 25/32
Проверка : libftdi-1.2-5.fc23.x86_64 26/32
Проверка : avr-gcc-1:6.2.0-1.fc23.x86_64 27/32
Проверка : avr-gcc-c++-1:6.2.0-1.fc23.x86_64 28/32
Проверка : avr-libc-2.0.0-1.fc23.noarch 29/32
Проверка : ecj-1:4.5.2-1.fc23.noarch 30/32
Проверка : astyle-devel-2.05.1-3.fc23.x86_64 31/32
Проверка : avr-binutils-1:2.27-1.fc23.x86_64 32/32
Установлено:
apache-commons-codec.noarch 1.10-2.fc23 apache-commons-compress.noarch 1.10-0.2.svn1684406.fc23
apache-commons-exec.noarch 1.3-3.fc23 apache-commons-lang3.noarch 3.4-2.fc23
apache-commons-logging.noarch 1.2-4.fc23 apache-commons-net.noarch 3.3-6.fc23
arduino.noarch 1:1.6.4-8.fc23 arduino-core.noarch 1:1.6.4-8.fc23
arduino-doc.noarch 1:1.6.4-8.fc23 astyle-devel.x86_64 2.05.1-3.fc23
avr-binutils.x86_64 1:2.27-1.fc23 avr-gcc.x86_64 1:6.2.0-1.fc23
avr-gcc-c++.x86_64 1:6.2.0-1.fc23 avr-libc.noarch 2.0.0-1.fc23
avrdude.x86_64 6.1-5.fc23 bouncycastle.noarch 1.52-7.fc23
bouncycastle-pg.noarch 1.52-8.fc23 ecj.noarch 1:4.5.2-1.fc23
guava.noarch 18.0-4.fc23 jackson-annotations.noarch 2.5.0-2.fc23
jackson-core.noarch 2.5.0-2.fc23 jackson-databind.noarch 2.5.0-2.fc23
jackson-module-mrbean.noarch 2.5.0-2.fc23 jakarta-commons-httpclient.noarch 1:3.1-23.fc23
jmdns.noarch 3.4.1-9.fc23 jna.x86_64 4.1.0-9.fc23
jsch.noarch 0.1.53-3.fc23 jsemver.noarch 0.9.0-2.fc23
jssc.x86_64 2.8.0-3.fc23 jzlib.noarch 1.1.3-3.fc23
libftdi.x86_64 1.2-5.fc23 objectweb-asm.noarch 5.0.3-2.fc23
Выполнено!
Но оно и понятно - устанавливается GCC и вся среда разработки для AVR процессоров.
Arduino
Добавлено: 18 май 2017, 22:45
Olej
Olej писал(а):
Тянет оно по установке не слабо - 692 Mb:
После чего в системном меню запуска появляется Arduino IDE
Re: Arduino
Добавлено: 19 май 2017, 00:18
Olej
И вот такая монтажная панель, на которой нужно что-то вот такое сварганить:
Re: Arduino
Добавлено: 23 май 2017, 18:45
Olej
Вообще то,
все программы для Arduino имеют одну и ту же структуру кода:
- функция setup() - которая выполняется однократно при запуске (загрузке извне?) программы в Arduino;
- функция loop() - которая циклически выполняется после этого;
Это всё очень сильно напоминает PLC (программируемые логические контроллеры) для управления технологическими процессами ... только на пЫонЭрском
уровне младших классов средней школы.
И кто бы что бы не говорил-писал! - это всё годится только в качестве
учебного конструктора, для уяснения основ IT - то, для чего именно
только и исключительно и предназначали свою выдумку авторы Arduino. А всё более - это от Лукавого
Что принципиально отличает это изделие от Raspberry Pi и всех подобных одноплатных микроустройств, описываемых в теме:
Детское железо.
Но это достаточно увлекательная развлекуха в свободное от любых занятий время, в качестве хобби!
Re: Arduino
Добавлено: 01 июн 2017, 10:14
Olej
Olej писал(а):Вообще то, все программы для Arduino имеют одну и ту же структуру кода:
...
Это всё очень сильно напоминает PLC (программируемые логические контроллеры) для управления технологическими процессами
Вряд ли Arduino стоит, чтобы, при его простоте и понятности, по поводу него ещё и напрягаться и читать руководства на английском языке ... а то ещё и на итальянском
...
Более чем достаточно есть русскоязычных описаний ... для самых начинающих - можно бегло посмотреть:
Программирование Ардуино
Язык программирования устройств Ардуино основан на C/C++ и скомпонован с библиотекой AVR Libc и позволяет использовать любые ее функции. Вместе с тем он прост в освоении, и на данный момент Arduino — это, пожалуй, самый удобный способ программирования устройств на микроконтроллерах.
Справочник языка Ардуино
Язык Arduino можно разделить на четыре раздела операторы, данные (переменные и константы), функции и библиотеки.
Это справочное интерактивное описание программирования на Arduino на русском языке ... его более чем достаточно.
Оно же (насколько я смог судить - я не сверял, конечно ... похоже
) прикреплено в виде PDF (366 стр.) к сообщению, но это куда менее удобно.
Здесь миллион задач-проектов на Arduino:
Re: Arduino
Добавлено: 01 июн 2017, 10:34
Olej
Olej писал(а):
Язык Arduino можно разделить на четыре раздела операторы, данные (переменные и константы), функции и библиотеки.
Заинтересовало в этом месте:
библиотеки - что такое есть библиотеки для Arduino (AVR процессор!), где находятся (главным образом где находятся их хэдер-файлы .h?), и как они их подключают...
Библиотеки
Как и на многих других платформах, возможности среды программирования Arduino могут быть существенно расширены за счет использования библиотек. Библиотеки расширяют функциональность программ и несут в себе дополнительные функции, например, для работы с аппаратными средствами, функции по обработке данных и т.д. Ряд библиотек устанавливается автоматически вместе со средой разработки, однако вы также можете скачивать или создавать собственные библиотеки.
...
Стандартные библиотеки
EEPROM - чтение и запись в "постоянную" память.
Ethernet - для подсоединения к Интернету через плату расширения Arduino Ethernet.
Firmata - для взаимодействия с приложениями на компьютере по стандартному последовательному протоколу.
GSM - для соединения с сетью GSM/GRPS через GSM-плату расширения.
LiquidCrystal - для работы с жидкокристаллическими дисплеями (LCD).
SD - для чтения и записи данных на SD-карту памяти.
Servo - для управления серводвигателями.
SPI - для взаимодействия с периферийными устройствами по последовательному интерфейсу SPI.
SoftwareSerial - для реализации последовательных интерфейсов на любых цифровых выводах. Начиная с версии Ардуино 1.0, в качестве библиотеки SoftwareSerial используется библиотека NewSoftSerial (автор Mikal Hart).
Stepper - для управления шаговыми двигателями.
TFT - для вывода текста, изображений и графических примитивов на TFT-экране Arduino.
WiFi - для соединения с Интернетом через плату расширения Arduino WiFi.
Wire - библиотека для работы с двухпроводным интерфейсом (TWI/I2C), позволяющим принимать или отправлять данные между сетью устройств или датчиков.
Подключаются они (стандартные) из среды разработки-компиляции-загрузки:
При этом в код программы вписывается, например (см. картинку):
А находятся они здесь (внутри пакета arduino
):
Код: Выделить всё
[root@dell libraries]# pwd
/usr/share/arduino/libraries
[root@dell libraries]# ls
Bridge Ethernet GSM Robot_Control Robot_Motor Servo Stepper TFT
Esplora Firmata LiquidCrystal RobotIRremote SD SpacebrewYun Temboo WiFi
Код: Выделить всё
[root@dell libraries]# pwd
/usr/share/arduino/hardware/arduino/avr/libraries
[root@dell libraries]# ls
EEPROM SoftwareSerial SPI Wire