Примеры программ для PCDuino, разработанные на C++ или Python можно найти на этой странице: https://learn.sparkfun.com/tutorials/programming-the-pcduino/introduction.
AVRDUDESHELL. Запуск программы по ОС Linux (wine)
Для запуска программы AVRDUDESHELL (начиная с версии 01.09.2015) под управлением ОС Linux (wine) необходимо выполнить следующие действия:
1. Включить учетную запись root:
sudo su
2. Установить wine:
apt-get install wine
3. Установить утилиту avrdude:
apt-get install avrdude
4. Найти физическое размещение файлов утилиты avrdude, воспользовавшись командой whereis avrdude:
5. Дать разрешение на доступ к утилите avrdude:
chmod +s /usr/bin/avrdude
6. Скачать последнюю версию программы AVRDUDESHELL.
7. Распаковать архив программы AVRDUDESHELL в папку диска "c:\" программы wine, например в: "/.wine/drive_c/Application/AVRDUDESHELL/". Там же создать папку для размещения симлинков на программу avrdude, например avrdudelinux. Структура папок должна получится примерно следующей:
8. В папке avrdudelinux создать симлинки на файлы avrdude и avrdude.conf.
9. Запустить программу AVRDUDESHELL:
в параметрах программы на вкладке "Файлы и папки" назначить "Папку утилиты AVRDUDE для программирования чипов" - в нашем случае это папка avrdudelinux (см. п. 7).
Попробовать прочитать фьюзы:
Записать фьюзы:
Прочитать EEPROM и дизассемблировать:
10. Для удобства запуска можно разместить ярлык программы на рабочем столе, создав файл с любым именем и расширением ".desktop", например "avrdudeshell.desktop" со следующим содержанием:
[Desktop Entry]
Version=1.0
Type=Application
Name=AVRDUDESHELL
Comment=Программировать Atmega
Exec=wine avrdudeshell.exe
Icon=
Path=/home/alexander/.wine/dosdevices/c:/Application/AVRDUDESHELL
Terminal=false
StartupNotify=true
1. Включить учетную запись root:
sudo su
2. Установить wine:
apt-get install wine
3. Установить утилиту avrdude:
apt-get install avrdude
4. Найти физическое размещение файлов утилиты avrdude, воспользовавшись командой whereis avrdude:
5. Дать разрешение на доступ к утилите avrdude:
chmod +s /usr/bin/avrdude
6. Скачать последнюю версию программы AVRDUDESHELL.
7. Распаковать архив программы AVRDUDESHELL в папку диска "c:\" программы wine, например в: "/.wine/drive_c/Application/AVRDUDESHELL/". Там же создать папку для размещения симлинков на программу avrdude, например avrdudelinux. Структура папок должна получится примерно следующей:
8. В папке avrdudelinux создать симлинки на файлы avrdude и avrdude.conf.
9. Запустить программу AVRDUDESHELL:
в параметрах программы на вкладке "Файлы и папки" назначить "Папку утилиты AVRDUDE для программирования чипов" - в нашем случае это папка avrdudelinux (см. п. 7).
Попробовать прочитать фьюзы:
Записать фьюзы:
Прочитать EEPROM и дизассемблировать:
10. Для удобства запуска можно разместить ярлык программы на рабочем столе, создав файл с любым именем и расширением ".desktop", например "avrdudeshell.desktop" со следующим содержанием:
[Desktop Entry]
Version=1.0
Type=Application
Name=AVRDUDESHELL
Comment=Программировать Atmega
Exec=wine avrdudeshell.exe
Icon=
Path=/home/alexander/.wine/dosdevices/c:/Application/AVRDUDESHELL
Terminal=false
StartupNotify=true
PCDUINO. Первая программа на FreePascal
Для того что бы опробовать FreePascal и научиться основам работы в консольной IDE, напишем первую программу. Пока ничего сложного - программа выведет на экран фразу "FIRST PROG".
Запускаем FreePascal:
Создаем новый проект File -> New:
Сохраняем проект File -> Save (F2):
Вводим код проекта:
Запускаем проект Run -> Run (Ctrl + F9):
Результат:
Запускаем FreePascal:
Создаем новый проект File -> New:
Сохраняем проект File -> Save (F2):
Вводим код проекта:
program firstprog; begin writeln('FIRST PROG'); end.
Запускаем проект Run -> Run (Ctrl + F9):
Результат:
PCDUINO. Выбор средства разработки
PCDuino - отладочная плата - микрокомпьютер с предустановленной операционной системой Linux - поэтому программирование может выполняться на любом языке программирования, который поддерживает эта платформа, например C, C++, FreePascal, Lazarus, Python и т.д.
Использование терминального режима для программирования PCDuino резко ограничиввает выбор IDE. Фактически я рассматривал два языка программирования: С (С++) в связке с редактором mcedit и FreePascal с собственной, достаточно продвинутой IDE. Выбор был сделан в пользу FreePascal из-за IDE.
Установка FreePascal для устройств на базе микропроцессоров ARM выполняется из специального дистрибутива, который можно скачать на сайте разработчика.
Скачиваем дистрибутив:
wget -P /home/ubuntu/Download/ ftp://gd.tuwien.ac.at/languages/pascal/fpc/dist/2.6.4/arm-linux/fpc-2.6.4.arm-linux.tar
Запускаем mc, заходим в скаченный архив как в папку, нажимаем F5 для распаковки.
Для установки запускаем скипт install.sh:
sh install.sh
На вопросы по параметрам установки IDE отвечаем поумолчанию.
Запускается FreePascal файлом fp из каталога bin.
Использование терминального режима для программирования PCDuino резко ограничиввает выбор IDE. Фактически я рассматривал два языка программирования: С (С++) в связке с редактором mcedit и FreePascal с собственной, достаточно продвинутой IDE. Выбор был сделан в пользу FreePascal из-за IDE.
Установка FreePascal для устройств на базе микропроцессоров ARM выполняется из специального дистрибутива, который можно скачать на сайте разработчика.
Скачиваем дистрибутив:
wget -P /home/ubuntu/Download/ ftp://gd.tuwien.ac.at/languages/pascal/fpc/dist/2.6.4/arm-linux/fpc-2.6.4.arm-linux.tar
Запускаем mc, заходим в скаченный архив как в папку, нажимаем F5 для распаковки.
Для установки запускаем скипт install.sh:
sh install.sh
На вопросы по параметрам установки IDE отвечаем поумолчанию.
Запускается FreePascal файлом fp из каталога bin.
PCDUINO. Подготовка к запуску и настройка
PCDuino - отличная отладочная плата - это вы поймете сразу же после первого включения - возможность разработки и отладки программного обеспечения на целевом устройстве много чего значит, а использование графического интерфейса и рабочего стола LXDE делает этот процесс еще более удобным и приятным.
Но есть одно "но". Если у вас нет второго комплекта "монитор, клавиатура, мышь", то использование всех преимуществ полноценного миникомпьютера может быть сведено на "нет" необходимостью постоянного переподключения периферии.
Для себя решение этой проблемы я нашел в протоколе SSH - протоколе удаленного управления операционной системой.
Тетерь, используя терминальный клиент, можно подключаться к отладочной плате и разрабатывать программы с любого ПК в доме.
Если у вас похожие проблемы - приступим к настройке PCDuino.
Подключаем монитор, клавиатуру, мышь, сетевой провод и провод питания к плате. Включаем:
Открываем терминал, проверяем подключение к Internet:
ping ya.ru
Прочитаем текущий IP адрес платы:
ifconfig
Проверим, видим ли мы PCDuino с другого ПК. Для чего пропингуем адрес платы с соседнего компьютера:
ping 192.168.100.3
Все хорошо? Тогда возвращаемся к PCDuinо и устанавливаем терминальный файловый менеджер:
sudo apt-get install mc
После установки - запускаем его:
mc
Создадим структуру папок (кнопка F7 в mc):
/home/ubuntu/settings/network
Создадим симлинки на сетевые настройки платы - на файлы:
/etc/hosts
/etc/network/interfaces
/etc/samba/smb.conf
Выходим из mc (кнопка F10), и запускаем его под root-ом:
sudo mc
Назначаем статический IP адрес для PCDuino: находим и правим файл /etc/network/interfaces (кнопка F4). Разумеется, параметры сетевой конфигурации у вас будут свои:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
# auto eth0
# iface eth0 inet dhcp
# My static network
iface eth0 inet static
address 192.168.100.56
netmask 255.255.255.0
gateway 192.168.100.1
dns-nameservers 82.209.195.12 193.232.248.2
auto eth0
Сохраняем файл (кнопка F2) и выключаем PCDuino. Отключаем монитор, клавиатуру и мышь. Перезапускаем плату.
Через минуту пробуем подключиться по SSH (пароль: "ubuntu") из Linux:
ssh -p 22 ubuntu@192.169.100.56
Или Windows, через PuTTY:
Но есть одно "но". Если у вас нет второго комплекта "монитор, клавиатура, мышь", то использование всех преимуществ полноценного миникомпьютера может быть сведено на "нет" необходимостью постоянного переподключения периферии.
Для себя решение этой проблемы я нашел в протоколе SSH - протоколе удаленного управления операционной системой.
Тетерь, используя терминальный клиент, можно подключаться к отладочной плате и разрабатывать программы с любого ПК в доме.
Если у вас похожие проблемы - приступим к настройке PCDuino.
Подключаем монитор, клавиатуру, мышь, сетевой провод и провод питания к плате. Включаем:
Открываем терминал, проверяем подключение к Internet:
ping ya.ru
Прочитаем текущий IP адрес платы:
ifconfig
Проверим, видим ли мы PCDuino с другого ПК. Для чего пропингуем адрес платы с соседнего компьютера:
ping 192.168.100.3
Все хорошо? Тогда возвращаемся к PCDuinо и устанавливаем терминальный файловый менеджер:
sudo apt-get install mc
После установки - запускаем его:
mc
Создадим структуру папок (кнопка F7 в mc):
/home/ubuntu/settings/network
Создадим симлинки на сетевые настройки платы - на файлы:
Выходим из mc (кнопка F10), и запускаем его под root-ом:
sudo mc
Назначаем статический IP адрес для PCDuino: находим и правим файл /etc/network/interfaces (кнопка F4). Разумеется, параметры сетевой конфигурации у вас будут свои:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
# auto eth0
# iface eth0 inet dhcp
# My static network
iface eth0 inet static
address 192.168.100.56
netmask 255.255.255.0
gateway 192.168.100.1
dns-nameservers 82.209.195.12 193.232.248.2
auto eth0
Сохраняем файл (кнопка F2) и выключаем PCDuino. Отключаем монитор, клавиатуру и мышь. Перезапускаем плату.
Через минуту пробуем подключиться по SSH (пароль: "ubuntu") из Linux:
ssh -p 22 ubuntu@192.169.100.56
Или Windows, через PuTTY:
PCDUINO. Краткий обзор
Уже как полтолра года назад в известном китайском интернет магазине я приобрел отладочную плату PCDuino, и вот пришло время ее опробовать в деле, но для начала предлагаю вам ознакомиться с кратким описанием этого устройства.
Сей девайс является полнофункциональным мини компьютером с предустановленной операционной системой Linux (адаптированной версией Lubuntu). Железо представляет собой следующую конфигурацию:
Процессор: 1GHz ARM Cortex A8
Графический процессор: OpenGL ES2.0, OpenVG 1.1 Mali 400 core
ОЗУ: 1GB
Встроенная энергонезависимая память: 2GB
Возможность подключения SD карты: до 32GB
Видео выход: HDMI
Поддерживаемые операционные системы: Linux, Android
USB: 2 шт.
USB OTG: 1 шт.
Сетевой интерфейс: RJ45
Питание: 5В, 2А
Для связи с внешними устройствами имеет достаточно обширную периферию, а именно:
14 цифровых портов
UART
PWM
ADC
SPI
I2C
Поскольку PCDuino это мини ПК, разработка программного обеспечения может выполняться на любом языке программирования, разумеется, в рамках поддерживаемых установленной операционной системой, например C, C++, FreePascal, Lazarus, Python и т.д.
Стоит отметить, что проект PCDUINO активно развивается и в настоящий момент существует достаточное количество перефирийных устройств, совместимых с данной платформой, а сама отладочная плата существует в нескольких ревизиях: от Lite (самой простенькой) до pcDuino3B (с поддержкой SATA и встроенными WiFi).
Получить более подробную информацию можно с сайта производителя: pcduino.com
Сей девайс является полнофункциональным мини компьютером с предустановленной операционной системой Linux (адаптированной версией Lubuntu). Железо представляет собой следующую конфигурацию:
Для связи с внешними устройствами имеет достаточно обширную периферию, а именно:
Поскольку PCDuino это мини ПК, разработка программного обеспечения может выполняться на любом языке программирования, разумеется, в рамках поддерживаемых установленной операционной системой, например C, C++, FreePascal, Lazarus, Python и т.д.
Стоит отметить, что проект PCDUINO активно развивается и в настоящий момент существует достаточное количество перефирийных устройств, совместимых с данной платформой, а сама отладочная плата существует в нескольких ревизиях: от Lite (самой простенькой) до pcDuino3B (с поддержкой SATA и встроенными WiFi).
Получить более подробную информацию можно с сайта производителя: pcduino.com
Девайсы. Прототип зарядного устройства VERTER для автомобильного аккумулятора
Это зарядное устройство является прототипом для более совершенного девайса и предназначено для автоматической зарядки свинцово-кислотных автомобильных аккумуляторов постоянным током 6А или 3А. Устройство реализовывает такие функции как заряд, разряд, тренировка, десульфация и расчет емкости аккумулятора. Предусмотрено подключение к ПК для снятия зарядных кривых. Подробное описание работы устройства см. тут.
Силовая часть собрана по схеме:
В качестве трансформатора Tr1 использован советский ТС-180-2 от старого черно-белого телевизора. Трансформатор был перемотан - собран из двух аналогичных для получения на выходе 24В 5А.
Выпрямительные диоды VDS2 силовой части любые, с максимальным прямым током до 10А, например КД213А или Д242А. Я использовал КД213А установленные на радиатор.
Нагрузочное сопротивление R15 - две 12-и вольтовые автомобильные лампы.
Стабилизатор постоянного тока построен на LM317 (аналог КР14ЕН12А) и мощных n-p-n транзисторах 2SC5570, изъятых из строчной развертки ЭЛТ мониторов. В качестве транзисторов можно (лучше?) использовать транзисторы TIP35. КРЕН и транзисторы укреплены на общем радиаторе размером 5х4х14 см. Крепление выполняется с помощью винтов М3 через слюдяной изолятор с применением термопроводящей пасты. Для дополнительного охлаждения радиатор обдувается 12-и вольтовым вентилятором от компьютерного блока питания.
Низкоомные сопротивления R14, R12 изготовлены из вольфрамовой проволоки диаметром около 0,15 мм смотанной в жгут из 8 жил. Сопротивление подбиралось опытным путем. В качестве нагрузки источника тока КРАТКОВРЕМЕННО подключался мультиметр, настроенный на измерение постоянного тока 20А.
Схема цифровой части:
Питается схема через импульсные стабилизаторы IC1 и IC3 LM2576ADJ: 12В для питания реле, 5В для работы цифровой части. Используя другую низковольтную обмотку трансформатора, питание схемы можно построить и на линейных стабилизаторах типа 7812 (12В) и 7805 (5В), укрепленных на небольших радиаторах. Для этого в схеме предусмотрен отдельный выпрямительный диодный мост VDS1.
Реле К1-К4 - 12-и вольтовые для управления нагрузкой до 10A.
Схему можно упростить, если исключить резервное реле K1 и светодиоды HL1-HL4, а вместо двух управляющих транзисторов (КТ315, КТ940) использовать один составной, например BC517.
Печатная плата цифровой части разработана в программе Sprint-Layout 5.0 и изготовлена по технологии ЛУТ.
Корпус - обрезанный задний кожух от ЭЛТ монитора. Дно - фанера толщиной 4 мм (но надо толще, т.к девай получился достаточно тяжелым):
Эмуляция работы устройства в Proteus:
Прошивка микроконтроллера выполняется на плате через разъем v4 программатором USBASP в следующей последовательности: сначала, на пониженной частоте программируются фьюзы (файл fuseprog.bat), за тем програматтор переводится в режим программирования на "нормальной" скорости и запускается bat-файл progprog.bat.
Посмотреть подробное описание работы устройства
Скачать архив зарядного устройства VERTER одним файлом.
Архив содержит:
Схему силовой части зарядного устройства VERTER.
Схему цифровой части зарядного устройства VERTER.
Печатную плату цифровой части зарядного устройства VERTER в формате *.lay.
Проект Proteus для эмуляции работы зарядного устройства VERTER.
Файлы *.hex и *.eep для прошивки микроконтроллера.
Программу avrdude для быстрого программирования микроконтроллера.
PS. Почему VERTER? Потому что понимает как "правильно" заряжать аккумулятор и похоже на голову робота.
Силовая часть собрана по схеме:
В качестве трансформатора Tr1 использован советский ТС-180-2 от старого черно-белого телевизора. Трансформатор был перемотан - собран из двух аналогичных для получения на выходе 24В 5А.
Выпрямительные диоды VDS2 силовой части любые, с максимальным прямым током до 10А, например КД213А или Д242А. Я использовал КД213А установленные на радиатор.
Нагрузочное сопротивление R15 - две 12-и вольтовые автомобильные лампы.
Стабилизатор постоянного тока построен на LM317 (аналог КР14ЕН12А) и мощных n-p-n транзисторах 2SC5570, изъятых из строчной развертки ЭЛТ мониторов. В качестве транзисторов можно (лучше?) использовать транзисторы TIP35. КРЕН и транзисторы укреплены на общем радиаторе размером 5х4х14 см. Крепление выполняется с помощью винтов М3 через слюдяной изолятор с применением термопроводящей пасты. Для дополнительного охлаждения радиатор обдувается 12-и вольтовым вентилятором от компьютерного блока питания.
Низкоомные сопротивления R14, R12 изготовлены из вольфрамовой проволоки диаметром около 0,15 мм смотанной в жгут из 8 жил. Сопротивление подбиралось опытным путем. В качестве нагрузки источника тока КРАТКОВРЕМЕННО подключался мультиметр, настроенный на измерение постоянного тока 20А.
Схема цифровой части:
Питается схема через импульсные стабилизаторы IC1 и IC3 LM2576ADJ: 12В для питания реле, 5В для работы цифровой части. Используя другую низковольтную обмотку трансформатора, питание схемы можно построить и на линейных стабилизаторах типа 7812 (12В) и 7805 (5В), укрепленных на небольших радиаторах. Для этого в схеме предусмотрен отдельный выпрямительный диодный мост VDS1.
Реле К1-К4 - 12-и вольтовые для управления нагрузкой до 10A.
Схему можно упростить, если исключить резервное реле K1 и светодиоды HL1-HL4, а вместо двух управляющих транзисторов (КТ315, КТ940) использовать один составной, например BC517.
Печатная плата цифровой части разработана в программе Sprint-Layout 5.0 и изготовлена по технологии ЛУТ.
Корпус - обрезанный задний кожух от ЭЛТ монитора. Дно - фанера толщиной 4 мм (но надо толще, т.к девай получился достаточно тяжелым):
Эмуляция работы устройства в Proteus:
Прошивка микроконтроллера выполняется на плате через разъем v4 программатором USBASP в следующей последовательности: сначала, на пониженной частоте программируются фьюзы (файл fuseprog.bat), за тем програматтор переводится в режим программирования на "нормальной" скорости и запускается bat-файл progprog.bat.
Посмотреть подробное описание работы устройства
Скачать архив зарядного устройства VERTER одним файлом.
Архив содержит:
PS. Почему VERTER? Потому что понимает как "правильно" заряжать аккумулятор и похоже на голову робота.
Подписаться на:
Сообщения (Atom)