Проекты встраиваемых систем начального уровня?[закрыто]

StackOverflow https://stackoverflow.com/questions/191838

Вопрос

Мой студент пришел ко мне этим утром и попросил несколько идей для проекта встраиваемых систем (в идеале аппаратно-программный дизайн), который должен быть завершен в ближайшие 6 месяцев или около того.Он новичок и неопытен, но у него есть мотивация учиться, если направить его в правильном направлении.Цель завершения этого проекта, помимо того, чтобы он промочил ноги в электротехнике / вычислительной технике и компьютерных науках, состоит в том, чтобы сделать его резюме более привлекательным с точки зрения получения стажировки летом '09.

Мой вопрос заключается в следующем:

  1. Каковы некоторые хорошие общие ресурсы для понимания простого оборудования, микроконтроллера и основ того, что такое прошивка / программное обеспечение, учитывая практически отсутствие опыта в чем-либо из вышеперечисленного?Мой собственный опыт здесь несколько бесполезен, поскольку я многому научился как на формальном обучении (которым он интересуется, но хочет начать прямо сейчас), так и на стажировке, которую я получил мой первокурсник из-за кумовства ;-) (что он и хочет сделать, но есть проблема с курицей и яйцом)

  2. Каковы некоторые интересные проектные идеи соответствующего масштаба?

Некоторые начальные идеи:

  • Игра в стиле Jeopardy, в которой загорался светодиод, и игрок, который первым нажимал на свою кнопку, становился победителем, и, возможно, микроконтроллер мог бы вести счет на паре 7-сегментных дисплеев.
  • Генератор тонов (пользователь устанавливает DIP-переключатели (или, что более амбициозно, нажимает клавиши на клавиатуре PS2) для установки частоты), а микроконтроллер использует ЦАП для вывода синусоиды этой частоты
  • Какой-то маленький датчик (возможно, датчик температуры в его комнате в общежитии, который выдавал результаты в виде RSS-канала).Веб-аспект этого проекта был бы значительно упрощен с помощью RabbitCore от Полупроводниковый Кролик.

Все предложения относительно комплектов микроконтроллеров замечательные!Я был бы очень признателен за дополнительные проектные идеи (т.е."Студент также должен спроектировать X).Спасибо!

Это было полезно?

Решение

Я слышал и читал много хорошего о платформах Arduino и PicAxe.Похоже, за Arduino стоит самое большое сообщество, а начальная стоимость довольно минимальна (~ 20-30 долларов США за комплект).

http://arduino.cc/

LadyAda от adafruit industries продает обучающий набор, в который входит плата Arduino и 8 руководств, обучающих основам электроники и программированию микроконтроллеров.

Другие советы

Многие производители микроконтроллеров предлагают дешевые экспериментальные платы и инструменты разработки, с которыми интересно играть.

Примеры:

(Другие не стесняйтесь добавлять к этому списку.)

Lego Mindstorms может стать отличным началом.Прошивка с открытым исходным кодом, поэтому ваш студент может поэкспериментировать с добавлением новых функций ввода-вывода или созданием некоторых новых периферийных устройств.

Я бы порекомендовал комплект Lego Mindstorms NXT.Обновленный комплект робототехники обладает множеством привлекательных функций, таких как серводвигатели с интегрированным кодировщики, Bluetooth и ультразвуковые датчики расстояния.Третьи стороны также разработали акселерометры, гироскопы, компасы и многое другое.Вы можете легко разработать свой собственный датчик, поскольку все датчики работают в соответствии со стандартом i2c Автобус.

В прошлом году вместе с несколькими другими студентами мы построили небольшой Сегвей-как робот, использующий Технический гироскоп и с открытым исходным кодом Прошивка leJOS.Было бы вполне возможно создать интерфейс клиент-сервер, чтобы мы могли управлять роботом по беспроводной сети с помощью устройства Bluetooth (т.е.мобильный телефон).

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

Я работаю во встраиваемых системах уже более десяти лет, и новичку Rabbit Semiconductor трудно превзойти.

Однако вы можете начать гораздо дешевле с Arduino и нескольких других систем.Но всегда есть процесс установки инструмента и обучения настройке.Rabbit stuff очень похож на "аппаратное обеспечение для программистов", с ним очень легко начать, а также он довольно мощный.Моей первой попыткой было создание динамических веб-страниц для отображения графиков датчиков, связанных с погодой (ветер, температура, давление и т.д.).

Если бы я должен был сделать это снова, я бы вставил туда методы Ajax и использовал canvas или svg для создания гораздо более приятных графиков.

Другими вариантами являются новые 32-разрядные процессоры Microchip и AVR32 от Atmel.Вы можете начать с них примерно за 100 долларов.AVR32 теперь поддерживает Linux, и за не слишком большие деньги вы можете приобрести ЖК-дисплей и другие устройства, чтобы сделать его встраиваемой системой очень высокого класса.Они также поставляются с демонстрационным программным обеспечением WinCE, так что вы можете ознакомиться с этим завершением разработки.На 32-разрядном PIC еще нет Linux, и я не знаю, будет ли он поддерживать WinCE.

Отказ от ответственности:Некоторое время назад я работал на Rabbit.Технически процессоры не слишком мощные, но компилятор и включенные в него библиотеки настолько полнофункциональны и просты в использовании, что ими пользуются многие люди.

Каким бы путем он ни пошел, удачи!

-Адам

Нужно еще кое-что обдумать...

Вам нужно решить, чему именно вы хотите научить ребенка.Есть много разных наборов, которые вы можете купить (смотрите ответы выше о многих хороших наборах).;однако имейте в виду, что комплекты создаются для быстрого ввода пользователя в эксплуатацию, обычно для оценки какого-либо микроконтроллера или интерфейсной микросхемы.

Для действительно обучать кого-то встроенным системам "быстро" - не обязательно лучший способ.Наборы будут предоставлять некоторую IDE (интерактивную среду разработки), которая добавляет несколько уровней абстракции между учащимся и темой "изучение прошивки".В результате ребенок может писать приложения "hello world" в первый день, но по-прежнему понятия не имеет, в чем разница между оперативной памятью / ПЗУ / Адресом / данными / etc...

Итог...в наши дни существует так много наборов, что у вас действительно нет выбора, кроме как просто выбрать один (хорошие предложения см. в других ответах).;однако, если вы действительно хотите, чтобы ребенок выучил основы, затем, после того как он напишет приложение "hello world" и заставит несколько светодиодов мигать.Останови его там и научи его, что стоит за всем этим.

Да, это не дало прямого ответа на ваш вопрос, но, надеюсь, это поможет вам понять, как действительно научите его "мясу".Хорошим началом для этого может послужить книга, которую я написал несколько лет назад:"Демистифицированное встроенное ПО для встроенных систем".Есть и другие, например "Программирование встроенных систем на C и C ++".В моей книге также представлен загрузочный монитор, с которого можно начать изучение встроенного программного обеспечения.Проверьте http://www.umonfw.com для получения информации об этом.

Проверить http://www.embedds.com

Это список проектов встроенных систем со всего Интернета.Большинство из них созданы новичками или любителями и были бы хорошим началом или источником вдохновения.

Плата Tern Acore86 - отличный комплект для работы.

Я думаю, что лучший способ начать работу над встроенными системами - это работать на BeagleBoard.

BeagleBoard - это процессоры Texas Instruments OMAP3, которые включают в себя ARM-процессор, а также DSP.Кроме того, стоимость слишком низкая по сравнению с другими платами разработки, это всего 150 долларов.

И самое приятное, что программное обеспечение для него полностью с открытым исходным кодом, вы можете создать сборку, используя такие компоненты, как ядро Linux, uBoot и xloader.

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

С наилучшими пожеланиями.

Я настоятельно рекомендую продукты Parallax, которые вы можете найти здесь

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

Mindstorms хорош, но немного дороговат по сравнению с тем, что предлагает Parallax.Однако для удобства использования ничто не может быть Mindstorm.

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

В Кореш предоставляет потрясающую платформу для начинающих программистов встраиваемых систем.Он предоставляет отличный набор периферийных устройств (ЖК-дисплей, USB, динамики, Wi-Fi), имеет полностью открытый исходный код (если не обращать внимания на флэш-память) и предоставляет отличный интерфейс для платы прототипирования.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top