Каковы хорошие возможности для запуска аппаратного программирования с использованием языков высокого уровня?

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

Скорее я бы хотел что-то с API для языков высокого уровня, желательно С# и готовых компонентов, таких как интерфейсные платы USB, в которые я могу подключить простые датчики, двигатели и т.д. и создать некоторые "гаджеты", возможно, простой робот и так далее...

До сих пор я нашел Phidgets, но есть только несколько датчиков, и это также довольно дорого.

Итак, вопрос: знаете ли вы о любой другой "платформе" с хорошим API и большим выбором датчиков?

Ответы

Ответ 1

Взгляните на Arduino. Там есть масса забавных вещей, которые вы можете сделать с одним из перечисленных на Make.

Ответ 2

Если вы хотите использовать С#, посмотрели ли вы на .NET Micro Framework? SDK является бесплатным, подключается к Visual Studio, поставляется с полным эмулятором, и есть несколько наборов для разработчиков, доступных по довольно разумной цене.

Tahoe значительно больше, но он также оснащен дисплеем TFT (и поддержкой для него), поэтому цена по-прежнему не является необоснованной.

Что касается датчиков, то все они поддерживают интерфейсы I2C и SPI, поэтому количество доступных периферийных устройств вполне соответствует тысячам. Вероятно, вам придется сделать некоторую рудиментарную пайку для некоторых из них (резисторы и т.д.), Но если это вас пугает, вы, вероятно, все равно идете по неправильному пути.

Ответ 3

Проверьте мой вопрос о микроконтроллере здесь. Также: Как запустить программирование микроконтроллера.

У меня есть порядок для chritsmas популярного микроконтроллера Arduino. Вы не можете программировать с С#, но у них есть структура над обычной Assembly/C, которая упрощает взаимодействие.

Ответ 5

В течение многих лет я был большим поклонником микроконтроллеров серии PIC от Microchip Technology. Они имеют широкий спектр микроконтроллеров с различными функциями: от супер-крошечных до интегрированных беспроводных сетей. Вы можете забрать один из своих наборов PicStart за 50 долларов США, который включает в себя программное обеспечение, устройство программирования и образец микроконтроллера. Они могут быть запрограммированы в C, сборке, BASIC и т.д.

Первоначально я получил свое начало в программировании микроконтроллеров с помощью Parallax Basic Stamp, но они довольно ограничены дорогостоящими ($ 50 ea, по сравнению с 1-6 долларов США для ПОС) и могут быть запрограммированы только на Бейсике, хотя они просто просты в использовании.

Ответ 6

Существует также Bug Labs, который создает ряд аппаратных модулей, которые могут быть соединены вместе для создания произвольных гаджетов. Модули выглядят очень гладкими (но я не видел их в реальной жизни).

Ответ 7

Как насчет Lego Mindstorms? Они имеют 32-битный процессор, на котором работает виртуальная машина, которая поддерживает многопоточность. VM может быть запрограммирована на ассемблере.

Я играл с ними некоторое время назад, и это был довольно интересный и интересный опыт.

Ответ 10

Я не знаю, сколько "аппаратного программирования" вы сможете получить без фактического использования аппаратного обеспечения. С# только доведёт вас до сих пор в аппаратном мире, так как большинство из них находится на C, а иногда и на С++.

Если вы решили изучить дизайн аппаратного обеспечения, плата Nexys 2 от Digilent - отличный способ узнать об аппаратном дизайне с использованием VHDL или Verilog. Если вы хотите перейти на микроконтроллеры, Xilinx Embedded Developer Kit позволяет настраивать систему микроконтроллеров с использованием процессора SoftBore MicroBlaze, который будет реализован в и предоставляет IDE для записи вашего кода на C, который будет запущен на встроенной платформе.

Digilent также имеет кучу расширительных плат, таких как температурные датчики, видеодекодеры, джойстики, сервоконтроллеры и т.д., которые вы можете использовать с их программируемыми логическими платами.

Ответ 11

Я бы получил один из этих .NET-чипов и сделал себя кофе-машиной .NET. Или что-то вроде этого, получение PIC просто бесполезно, вам нужно знать языки низкого уровня, такие как C и ассемблер.

Для Java существуют похожие компоненты.

Смотрите: Основной USB - использование стека Microchip и С#.NET - оборудование.

Ответ 12

Если встроенная система, с которой вы работаете, имеет компилятор ANSI C, он может запускать Lua (www.lua.org), все, что вам нужно, это скомпилировать источник на вашем устройстве. Однажды я говорил с одним из разработчиков этого языка, он сказал, что на одном из веб-серверов списков рассылок (также написанных на Lua) языка, работающего в сотовом телефоне, некоторое время просто проверял его.

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