Ответ 1
Взгляните на Arduino. Там есть масса забавных вещей, которые вы можете сделать с одним из перечисленных на Make.
В последнее время меня интересовало аппаратное программирование, и мне было интересно, какой будет лучший выбор для меня как любителя электроники. Я не ищу низкоуровневое программирование на ассемблере и создание плат.
Скорее я бы хотел что-то с API для языков высокого уровня, желательно С# и готовых компонентов, таких как интерфейсные платы USB, в которые я могу подключить простые датчики, двигатели и т.д. и создать некоторые "гаджеты", возможно, простой робот и так далее...
До сих пор я нашел Phidgets, но есть только несколько датчиков, и это также довольно дорого.
Итак, вопрос: знаете ли вы о любой другой "платформе" с хорошим API и большим выбором датчиков?
Взгляните на Arduino. Там есть масса забавных вещей, которые вы можете сделать с одним из перечисленных на Make.
Если вы хотите использовать С#, посмотрели ли вы на .NET Micro Framework? SDK является бесплатным, подключается к Visual Studio, поставляется с полным эмулятором, и есть несколько наборов для разработчиков, доступных по довольно разумной цене.
Tahoe значительно больше, но он также оснащен дисплеем TFT (и поддержкой для него), поэтому цена по-прежнему не является необоснованной.
Что касается датчиков, то все они поддерживают интерфейсы I2C и SPI, поэтому количество доступных периферийных устройств вполне соответствует тысячам. Вероятно, вам придется сделать некоторую рудиментарную пайку для некоторых из них (резисторы и т.д.), Но если это вас пугает, вы, вероятно, все равно идете по неправильному пути.
Проверьте мой вопрос о микроконтроллере здесь. Также: Как запустить программирование микроконтроллера.
У меня есть порядок для chritsmas популярного микроконтроллера Arduino. Вы не можете программировать с С#, но у них есть структура над обычной Assembly/C, которая упрощает взаимодействие.
Тяжело бить Arduino и Processing
В течение многих лет я был большим поклонником микроконтроллеров серии PIC от Microchip Technology. Они имеют широкий спектр микроконтроллеров с различными функциями: от супер-крошечных до интегрированных беспроводных сетей. Вы можете забрать один из своих наборов PicStart за 50 долларов США, который включает в себя программное обеспечение, устройство программирования и образец микроконтроллера. Они могут быть запрограммированы в C, сборке, BASIC и т.д.
Первоначально я получил свое начало в программировании микроконтроллеров с помощью Parallax Basic Stamp, но они довольно ограничены дорогостоящими ($ 50 ea, по сравнению с 1-6 долларов США для ПОС) и могут быть запрограммированы только на Бейсике, хотя они просто просты в использовании.
Существует также Bug Labs, который создает ряд аппаратных модулей, которые могут быть соединены вместе для создания произвольных гаджетов. Модули выглядят очень гладкими (но я не видел их в реальной жизни).
Как насчет Lego Mindstorms? Они имеют 32-битный процессор, на котором работает виртуальная машина, которая поддерживает многопоточность. VM может быть запрограммирована на ассемблере.
Я играл с ними некоторое время назад, и это был довольно интересный и интересный опыт.
Отъезд " Встроенный дизайн с монетными ячейками" (доступно как скачать, PDF, 7 МБ). Это бесплатный учебник для программирования своего микроконтроллера. Однако плата составляет 80 долларов.
BASIC Stamp - это путь.
Я не знаю, сколько "аппаратного программирования" вы сможете получить без фактического использования аппаратного обеспечения. С# только доведёт вас до сих пор в аппаратном мире, так как большинство из них находится на C, а иногда и на С++.
Если вы решили изучить дизайн аппаратного обеспечения, плата Nexys 2 от Digilent - отличный способ узнать об аппаратном дизайне с использованием VHDL или Verilog. Если вы хотите перейти на микроконтроллеры, Xilinx Embedded Developer Kit позволяет настраивать систему микроконтроллеров с использованием процессора SoftBore MicroBlaze, который будет реализован в и предоставляет IDE для записи вашего кода на C, который будет запущен на встроенной платформе.
Digilent также имеет кучу расширительных плат, таких как температурные датчики, видеодекодеры, джойстики, сервоконтроллеры и т.д., которые вы можете использовать с их программируемыми логическими платами.
Я бы получил один из этих .NET-чипов и сделал себя кофе-машиной .NET. Или что-то вроде этого, получение PIC просто бесполезно, вам нужно знать языки низкого уровня, такие как C и ассемблер.
Для Java существуют похожие компоненты.
Смотрите: Основной USB - использование стека Microchip и С#.NET - оборудование.
Если встроенная система, с которой вы работаете, имеет компилятор ANSI C, он может запускать Lua (www.lua.org), все, что вам нужно, это скомпилировать источник на вашем устройстве. Однажды я говорил с одним из разработчиков этого языка, он сказал, что на одном из веб-серверов списков рассылок (также написанных на Lua) языка, работающего в сотовом телефоне, некоторое время просто проверял его.
С Lua вы можете связать датчики любого устройства, с которым будете работать на C или С++, и иметь функции, вызываемые из внутреннего кода Lua.