Марсоход на ардуино своими руками

Обновлено: 06.07.2024

Собсвенно вопрос к разработчика проекта марсоход, а именно желают ли они превратить ФПГА платформу в нечто схожее с ардуино проектом и получить стольже головокружительный успех, или всеже есть свои какието причины сложности и тд и тп что недают проекту набрать схожую а может и весьма большую популярность хотелось бы услышать мнения как основателей проекта так и прочих разработчиков ФПГА ну и просто любителей :)

Я думаю Arduino именно простой средой разработки и выигрывает.

Николай, если есть общее видение и возможность по нему накидать ТЗ, то хотя бы в рамках форума (лучше конечно консолидироваться на GoogleCode конечно же) то например я готов помочь в претворение ваших планов. В силу возможностей и попунктно это могло бы быть реализованo разными людьми. Не задумывались об этом Николай?

digitalinvitro пишет: Николай, если есть общее видение и возможность по нему накидать ТЗ, то хотя бы в рамках форума (лучше конечно консолидироваться на GoogleCode конечно же) то например я готов помочь в претворение ваших планов. В силу возможностей и попунктно это могло бы быть реализованo разными людьми. Не задумывались об этом Николай?

у меня два вопроса и одно предложение

1. Правильно ли я понимаю, что внутреннее устройство и формат sof-файла (или как там его) открыты достаточно для формирования их своими средствами, а не софтом от Altera?

2. Правильно ли я понимаю, что у Altera в составе Quartus, есть некий консольный компилятор, проприетарный, который формирует sof (или как там его) файл учитывая аппаратные нюансы той или иной ПЛИС Altera? Если да, то что может быть исходным файлом для этого компилятора?

из этих вопросов в случае положительного ответа может сразу родиться третий - существует ли уже готовая, альтернативная квартусу, среда разработки, которая сама или с "прикрученным" (локально, а не в облаке) консольным компилятором от Altera может собрать проект? Типа Eclipse для софтверной разработки.

Сделать в добавок к "почти пустому проекту" для Марсоход 2, проект, включающий avr soft core c bootloader-ом - который бы мог принимать scratch по USB (допустим через второй порт FTDI) из немодифицированной среды Arduiono, а не как у papilio.cc/ Пускай даже проекты для Arduino будут требовать какой-то незначительной модификации, типа устранения из них этапа настройки назначения выводов, так как это надо будет делать средствами квартуса. Ну или пусть эти команды уходят "в никуда".

Так что речь не обязательно должна быть о "Marsohod vs Arduino" - гораздо полезнее Marsohod+Arduino

Chaosorg пишет: 2. Правильно ли я понимаю, что у Altera в составе Quartus, есть некий консольный компилятор, проприетарный, который формирует sof (или как там его) файл учитывая аппаратные нюансы той или иной ПЛИС Altera? Если да, то что может быть исходным файлом для этого компилятора?

В пакете есть консольные программы quartus_map, quartus_fit, quartus_asm, которые и делают sof из HDL-исходников. Аппаратные нюансы и выводы задаются в файле qsf.

существует ли уже готовая, альтернативная квартусу, среда разработки, которая сама или с "прикрученным" (локально, а не в облаке) консольным компилятором от Altera может собрать проект?

А у графических языков полный разнобой и никаких стандартов? Как Вы думаете, сам квартус транслирует свои bdf (или как их там) в текстовые HDL языки или нет? Ведь вроде исторически первыми появились графические системы разработки. Неужели никакого стандарта? У AutoCAD же есть dwg, кажется.

Вроде как сам Кватрус все транслирует в закрытый бинарный формат, но может принимать сторонний netlist в стандартном текстовом формате (edif и тп). Схематик же - нынче не один, и не два, а сорок шагов назад.

Я бы не отказался от GUI приложения, чтобы можно было выбрать прошивку и залить её во флешку из "Шилда разъёмов".
Т.е. вместо того, чтобы повторять описанные в этой статье операции , выбрать прошивку на диске и одним шелчком залить её во флешку.

Кстати, неплохо было бы чтобы у проектов были свои страницы, а вместе с исходным HDL кодом (или даже без него) на страницах были доступны sof-файлы. Вот, к примеру ZX Spectrum - поностальгировал бы с удовольствием, но только с готовой прошивкой.

alman пишет: Я бы не отказался от GUI приложения, чтобы можно было выбрать прошивку и залить её во флешку из "Шилда разъёмов".
Т.е. вместо того, чтобы повторять описанные в этой статье операции , выбрать прошивку на диске и одним шелчком залить её во флешку.

The following example shows a command that programs a device:

quartus_pgm –c byteblasterII –m jtag –o bpv;design.pof

что и требовалось доказать :)

еще хотел спросить - сам сейчас пользуюсь verilog-ом просто потому, что на нем был написан первый интересующий меня пример при знакомстве с ПЛИС. А каково мнение опытных людей в плане сравнения этих двух языков в смысле их пригодности к низкоуровневому стилю и пригодности на роль языка, в который должны транслироваться какие-то проекты из самодельных языков, включая графические? Чем выше уровень, тем больше ограничений. На каком из языков можно написать даже бредовую схему, практически напрямую и однозначно управляя синтезатором? :)

Если у вас есть тяга к технологиям (или ребёнок с такой тягой), рассмотрите Arduino. Эта штука озадачит вас и ребёнка на много часов, а на выходе получатся удивительные проекты.

10 интересных вещей, которые можно сделать на Arduino

Что за Arduino

Или можно подключить к Arduino датчик углекислого газа. Arduino можно научить считывать показания датчика каждые пять минут и, когда уровень углекислого газа превышает норму, запищать, замигать лампочкой или с помощью серии моторчиков открыть окно.

К Arduino есть много плат расширения и датчиков. Сферы применения платы почти безграничны: автоматизация, системы безопасности, умный дом, музыка, робототехника и многое другое. Вот что можно делать на этой умной итальянской плате и на её российских и зарубежных клонах.

1. Робот-бармен с Bluetooth-управлением

Сложность: 4/5.

Время: 5/5.

Робот-бармен с Bluetooth-управлением

Незаменимое устройство для любой вечеринки: работает от восьми батареек, готовит много коктейлей и управляется без проводов. В основе механического бармена — плата Arduino, приводы для позиционирования шейкера и подачи напитков, датчики положений.

Главная сложность при изготовлении — инженерная. Нужно точно прикрутить все детали и соединить их между собой, чтобы ёмкость оказывалась точно под нужными бутылками.

2. Светящийся куб на 512 светодиодов

Сложность: 3/5.

Время: 3/5.

Светящийся куб на 512 светодиодов

Красивая штука, которая может светиться в такт музыке как трёхмерный эквалайзер и показывать 3D-анимацию. А ещё это может работать как необычный ночник.

3. Взломщик кодовых замков

Сложность: 5/5.

Время: 4/5.

10 интересных вещей, которые можно сделать на Arduino

Этот проект разработал хакер Сэми Камкар, и мы приводим его только в демонстрационных целях. Для взлома, кроме платы Arduino, автор взял серво- и шаговый двигатели для перебора комбинаций и соединил всё на самодельном шасси из алюминия. В основе алгоритма — простой перебор всех комбинаций, но робот это делает быстрее человека.

4. Nod Bang — киваем головой и делаем бит

Сложность: 2/5.

Время: 3/5.

Nod Bang — киваем головой и делаем бит

Идея в том, чтобы не просто кивать в такт музыке, а кивками самому генерировать звук. Эндрю Ли сделал специальное устройство, которое следит за положением головы и в момент наклона воспроизводит нужный звук.

В наушники он встроил акселерометр, кнопки отвечают за выбор звука, а Arduino — за воспроизведение звука на компьютере через MIDI-интерфейс. Чтобы всё выглядело эффектнее, у кнопок есть подсветка, и они тоже делают бит.

5. Поющее растение

Сложность: 2/5.

Время: 2/5.

Поющее растение

По сути это терменвокс, который сделали в виде растения. Все остальные принципы работы остались теми же: звук возникает при движении рук, и разные движения генерируют разную мелодию.

Плата регистрирует изменение амплитуды сигнала, для чего автор использует самодельный сенсорный детектор для анализа прикосновений к цветку. Кроме этого понадобилась плата расширения Gameduino и сам цветок.

6. Замок, который открывается на секретный стук

Сложность: 3/5.

Время: 2/5.

Замок, который открывается на секретный стук

Интересная вещь для тех, кто хочет поиграть в шпионов или пускать в комнату только своих друзей. Замок распознаёт стук по двери и сравнивает его с базовым звучанием, которое установил владелец. Если совпадает — приводы отодвигают замок и дверь открывается, если нет — ничего не происходит, можно постучать заново.

Чтобы установить новый стук на открытие, нужно зажать кнопку на ручке и постучать по двери новым способом. Пьезосенсор распознаёт вибрации и записывает их в память платы.

7. Горшок для цветов с автополивом

Сложность: 4/5.

Время: 3/5.

10 интересных вещей, которые можно сделать на Arduino

Полезный горшок для тех, кто забывает полить цветы перед отъездом или просто не знает, как часто надо их поливать. Вся электроника, насосы и ёмкость для воды находятся внутри горшка. Для каждого растения можно запрограммировать свой режим полива в каждом горшке.

Основные характеристики чудо-горшка:

  • встроенный резервуар для воды;
  • датчик контроля уровня влажности почвы;
  • насос для подачи воды;
  • датчик уровня воды в резервуаре;
  • светодиод, информирующий о недостатке воды в резервуаре.

8. Драм-машина

Сложность: 1/5.

Время: 2/5.

Простая драм-машина на Arduino. Проект интересен тем, что это не обычный перебор записанных семплов, а настоящая генерация звука с помощью встроенного железа. Ещё здесь есть анализатор спектра звука: через видеовыход можно посмотреть на диаграммы и частотные характеристики.

Математическая основа этого устройства — разложение в ряд Фурье, которое решается подключением стандартной библиотеки.

9. Шагающий робот

Сложность: 2/5.

Время: 1/5.

Шагающий робот

Простой в изготовлении четырёхногий робот, который шагает и самостоятельно преодолевает препятствия в сантиметр высотой.

Чтобы его сделать, вам понадобятся сервомоторы для ног, немного проволоки и любой пластик, из которого делается шасси. Для питания — аккумулятор любой модели, который крепится на спине робота.

10. Робот-пылесос

Сложность: 4/5.

Время: 5/5.

Робот-пылесос

Дмитрий Иванов из Сочи собрал настоящий робот-пылесос, который делает всё то же самое, что и промышленные устройства, только с возможностью тонкой настройки под себя и свою квартиру.

Основные детали — плата Arduino, 6 инфракрасных датчиков, турбина с двигателем и щётками и аккумулятор. Ещё у робота есть датчики столкновения, которые помогают объезжать препятствия, и контроллер аккумулятора, который следит за уровнем батарей и предупреждает о том, что пылесос надо зарядить.

10 интересных проектов для Ардуино

Arduino – это универсальная платформа для самоделок на микроконтроллерах. К ней есть множество шилдов (плат расширения) и датчиков. Это многообразие позволяет сделать целый ряд интересных проектов, направленных на улучшение вашей жизни и повышение её комфорта. Сферы применения платы безграничны: автоматизация, системы безопасности, системы для сбора и анализа данных и прочее.

Из этой статьи вы узнаете, что можно сделать интересного на Ардуино. Какие проекты станут зрелищными, а какие полезными.

Что можно сделать с помощью Arduino

Робот пылесос

Уборка в квартире – рутинное занятие и малопривлекательное, тем более на это нужно время. Сэкономить его можно, если часть хлопот по дому возложить на робота. Этого робота собрал электронщик из г. Сочи – Дмитрий Иванов. Конструктивно он получился достаточно качественным и не уступает в эффективности заводским аналогам.

Для его сборки вам понадобятся:

1. Arduino Pro-mini, или любая другая подобная и подходящая по размерам.

2. USB-TTL переходник, если вы используете Pro mini. Если вы выбрали Arduino Nano, то он не нужен. Он уже установлен на плате.

3. Драйвер L298N нужен для управления и реверсирования двигателей постоянного тока.

4. Маленькие двигателя с редуктором и колесами.

6. Двигатель для турбины (побольше).

7. Сама турбина, а вернее крыльчатка от пылесоса.

8. Двигателя для щеток (небольшие).

9. 2 датчика столкновения.

10. 4 аккумулятора 18650.

11. 2 преобразователя постоянного напряжения (повышающий и понижающий).

13. Контроллер для работы (заряда и разряда) аккумуляторов.

Система управления выглядит следующим образом:

А вот система питания:

Подобные уборщики развиваются, модели заводского изготовления обладают сложными интеллектуальными алгоритмами, но вы можете попытаться сделать свою конструкцию, которая не будет уступать по качеству дорогим аналогам.

Управление RGB-лентой со смартфона и Arduino

RGB-ленты способны выдавать световой поток любого цвета, в них обычно используются светодиоды в корпусе которых размещено три кристалла светящиеся разным цветом. Для их управления продаются специальные RGB-контроллеры, их суть заключается в регулировании тока подаваемого на каждый из цветов светодиодной ленты, следовательно – регулируется интенсивность свечения каждого из трёх цветов (отдельно).

Вы можете сделать своими руками RGB-контроллер на Ардуино, даже более того, в этом проекте реализовано управление через Bluetooth.

На фото приведен пример использования одного RGB-светодиода. Для управления лентой потребуется дополнительный блок питания на 12В, тогда ШИМ-выходы Arduino будут управлять затворами полевых транзисторов включенных в цепь. Ток заряда затвора ограничен резисторами на 10 кОм, они устанавливаются между пином Ардуино и затвором, последовательно ему.

Автор использовал для связи со смартфоном Bluetooth, для этого был куплен модуль HC-05.

Научитесь разрабатывать устройства на базе микроконтроллеров и станьте инженером умных устройств с нуля: Инженер умных устройств

Пульт управления на базе Arduino и смартфона

С помощью микроконтроллера можно сделать универсальный пульт дистанционного управления управляемый с мобильного телефона.

Пульт управления на базе Arduino и смартфона

Для этого понадобится:

Arduino любой модели;

Bluetooth-модуль HC-05 или HC-06.

Проект может считывать коды с заводских пультов и сохранять их значения. После чего вы можете управлять этой самоделкой через Bluetooth.

Система распознавания лиц и слежения за ними

Веб-камера устанавливается на поворотный механизм. Её подключают к компьютеру, с установленным программным обеспечением. Оно базируется на библиотеке компьютерного зрения – OpenCV (Open Source Computer Vision Library), после обнаружения программой лица, координаты его перемещения передаются на плату Arduino через USB-кабель.

Ардуино даёт команду приводу поворотного механизма и позиционирует объектив камеры. Для движения камеры используется пара сервоприводов.

На видео изображена работа этого устройства.

Следите за своими животными!

Идея заключается в следующем – узнать, где гуляет ваше животное, это может вызвать интерес для научных исследований и просто для развлечения. Для этого нужно использовать GPS-маячок. Но чтобы хранить данные о местоположении на каком-нибудь накопителе.

При этом габариты устройства здесь играют решающую роль, поскольку животное не должно ощущать от него дискомфорт. Для записи данных можно использовать Arduino шилд для работы с картами памяти формата Micro-SD.

Ниже приведена схема оригинального варианта устройства.

В оригинальной версии проекта использовалась плата TinyDuino и шилды к ней. Если вы не можете найти такую, вполне можно использовать маленькие экземпляры Arduino: mini, micro, nano.

Для питания использовался элемент Li-ion, малой ёмкости. Маленького аккумулятора хватает примерно на 6 часов работы. У автора в итоге все поместилось в обрезанную баночку из-под тик-така. Стоит отметить, что антенна GPS должна смотреть вверх, чтобы получать достоверные показания датчика.


Взломщик кодовых замков

Для взлома кодовых замков с помощью Ардуино понадобятся серво- и шаговый двигатель. Этот проект разработал хакер Samy Kamkar. Это достаточно сложный проект. Работа этого устройства изображена на видео, где автор рассказывает все подробности.

Конечно, для практического применения такое устройство вряд ли подойдет, но это отличный демонстрационный.

Ардуино в музыке

Это скорее не проект, а небольшая демонстрация какое применение нашла эта платформа у музыкантов.

Анализатор спектра звука, с видео выходом.

Транзистор NPN-типа, например 2n3904 – 1 шт.

Резистор 1 кОм (R2, R4, R5) – 3 шт.

330 Ом (R6) – 1 шт.

10 кОм (R1) – 1 шт.

100 кОм (R3) – 1 шт.

Электролитический конденсатор 3.3 мкФ – 1 шт.

Для работы проекта потребуется подключение библиотеки для быстрого разложения в ряд Фурье.

Пошаговое обучение программированию и созданию устройств на микроконтроллерах AVR: Программирование микроконтроллеров для начинающих

3 проекта роботов

Робототехника – одно из интереснейших направлений для гиков и просто любителей сделать что-нибудь необычное своими руками, я решил сделать подборку из нескольких интересных проектов.

BEAM-робот на Ардуино

Для сборки четырёхногого шагающего робота вам понадобятся:

Для движения ног нужны сервомоторчики, например, Tower Hobbies TS-53;

Кусок медной проволоки средней толщины (чтобы выдерживала вес конструкции и не гнулась, но и не слишком толстой, т.к. не имеет смысла);

Микроконтроллер - AVR ATMega 8 или плата Ардуино любой модели;

Для шасси в проекте указано, что использовалась Рамка Sintra. Это что-то вроде пластика, он сгибается в любую форму при нагревании.

В результате вы получите:

Примечательно то, что этот робот не ездит, а шагает, может перешагивать и заходить на возвышения до 1 см.

Робот fijibot с функцией самоподзарядки

Этот проект мне, почему-то, напомнил робота из мультфильма Wall-e. Его особенностью является использование солнечной батареи для зарядки аккумуляторов. Он перемещается подобно автомобилю, на 4-х колесах.

Его составляющие детали:

Пластиковая бутылка подходящего размера;

Солнечная панель с выходным напряжением в 6В;

В качестве донора колес, двигателей и других деталей – машинка на радиоуправлении;

Два сервопривода непрерывного вращения;

Два обычных сервопривода (180 градусов);

Светодиоды, фоторезисторы, постоянные резисторы на 10 кОм – всего по 4 штуки;

Вот основа – плата Ардуино с прото-шилдом.

Вот так выглядят запчасти от радиоуправляемой машины – колеса.

Конструкция почти в сборе, датчики установлены.

Суть работы робота заключается в том, что он едет на свет. Обилие фоторезисторов нужно ему для навигации.

Художник из деталей от CD-приводов

Это скорее ЧПУ станок, чем робот, но проект весьма занимательный. Он представляет собой 2-х осевой станок для рисования. Вот перечень основных компонентов, из которых он состоит:

(DVD)CD-приводы – 2 шт;

2 драйвера для шаговых двигателей A498;

Источник питания 12В;

Шариковая ручка, и другие элементы конструкции.

Из привода оптических дисков используется блоки с шаговым двигателем и направляющей штангой, которые позиционировали оптическую головку. Из этих блоков извлекают двигатель, вал и каретку.

Управлять шаговым двигателем без дополнительного оборудования у вас не выйдет, поэтому используют специальные платы-драйверы, лучше, если на них будет установлен радиатор двигателя в момент пуска или смены направления вращения.

Полный процесс сборки и работы показан на этом видео.

Смотрите также 16 лучших Arduino проектов от AlexGyver:

Заключение

В статье рассмотрена лишь малая капля из всего того, что вы можете сделать на этой популярной платформе. На самом деле всё зависит от вашей фантазии и задачи, которую вы ставите перед собой.

Arduino - аппаратная платформа для разработки устройств, с платой ввода/вывода и простой средой разработки на Processing/Wiring. Базируется на МК Atmel AVR (ATmega), большинство плат программируются через USB. Платы Arduino позволяют своими руками создавать различные устройства, являются хорошим инструментом для начинающих и обучения МК. Большинство устройств можно собрать даже не прибегая к помощи паяльника!
В данном разделе вы найдете различные интересные схемы и проекты для платформы Arduino, их клонов Freeduino, Seeeduino, а также плат Raspberry Pi, Python и др. Не забудьте посетить форум по Arduino

Читайте также: