Подтвердить что ты не робот

Где я могу начать с программируемого оборудования?

У меня было желание узнать хотя бы немного о программном оборудовании уже довольно давно и подумал, что я попрошу здесь получить некоторые отправные точки. Я достаточно опытный программист с опытом Delphi и Objective-c, но даже не слушал порт устройства /interupt (я даже не знаю терминологию), не говоря уже о программировании части оборудования.

Чтобы начать с того, что я хотел бы сделать,

  • Купите простой бит набора с 2,3 или 10 кнопками.
  • Подключите устройство к компьютеру через USB
  • Прослушайте устройство и напишите код, чтобы что-то сделать после нажатия кнопки.

Я считаю, что это хорошее место для начала, у кого есть указатели на оборудование, чтобы купить или как я мог начать это?

4b9b3361

Ответ 1

Мне нравится Arduino, прост в использовании, с открытым исходным кодом и отличным сообществом!

Хорошо начинать с и использовать подмножество C/С++.

Кроме того, имеется много доступных аддонов, таких как GPS, Bluetooth, Wifi и т.д.

Мой опыт работы с Arduino был не чем иным, как хорошим, с того момента, как вы его извлекли (и установите бесплатный компилятор на Windows/Mac/Linux), чтобы создать свой первый "эскиз" (проект или приложение для Arduino).

Создание приложения легко, у вас есть метод Setup, который вызывается при запуске, а затем метод loop, который зацикливается во время работы Arduino.

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

Еще одна хорошая вещь о Arduino (и других, я уверен) заключается в том, что теперь у вас есть возможность использовать эти старые сломанные принтеры или 2x CD-Rom, которые никто не хочет, и все остальные немного устарели технологии. Удивительно, что вы можете найти в серверной комнате!

Теперь я работал только над небольшими проектами, например, подключился к ЖК-дисплею и читал комнатную температуру и различные проекты. Но, основываясь на том, что я сделал, я доволен Ardunio, он дает хорошую основу для встроенного программирования, и если этого недостаточно, вы всегда можете стать больше!

Мои 2 цента!

Ответ 2

Также есть горячая кнопка netduino, которая использует .NET Micro Framework и Microsoft Visual С# Express. Я не знаю, что это лучше, чем Arduino, но это еще один вариант.

Ответ 3

Почему бы вам не начать с программирования AVR для микропроцессоров. Возможно, это слишком низкий уровень. но я знаю много людей, которые начали с него для аппаратного программирования. вы можете найти компилятор здесь. http://winavr.sourceforge.net/ и хороший учебник здесь: http://www.ladyada.net/learn/avr/

Ответ 4

Предыдущий плакат упоминал Arduino, но вы также должны рассмотреть Teensy. Это в основном то же самое, но цена немного лучше. У вас также есть возможность использовать его в режиме "Arduino" или в режиме raw AVR. Я не знаю, даст ли Ардуинос вам оба варианта.

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

Ответ 5

Я бы определенно предложил попробовать различные микроконтроллеры. Arduino Контроллеры хороши и имеют номер tutorials.

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

Ответ 6

Если я правильно понимаю ваш вопрос, вас не интересует встроенное программирование. Вы хотите купить что-то, что работает с самого начала и контролировать его из Windows.

Когда дело доходит до кнопок, в Windows не так много делать. Это HID-элементы управления, и Windows обрабатывает все интерфейсы для вас. Здесь нет ничего интересного.

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

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

http://johnnylee.net/projects/wii/

Так как Windows не поддерживает Wii contrller, вы действительно можете сделать некоторые работы здесь:)

Ответ 7

Я вижу, что вам нравится Delphi, поэтому вы можете взглянуть на AvrCo Multitasking Pascal для AVR. Вы можете попробовать его на http://www.e-lab.de. Версия MEGA8/88 бесплатна. Есть тонны драйверов, симуляторов, онлайн-отладчика JTAG и программиста с визуализацией всех стандартных устройств (для запуска вы можете сделать простого LPT-программиста с несколькими резисторами). Он также может создавать программы для всех устройств Arduino, поскольку AVR находится в их очаге. Atmel STK500 - хорошая плата для начинающих, с светодиодами, переключателями и несколькими другими периферийными устройствами. Если вы предпочитаете открытый исходный код, то WinAVR с GCC может быть вашим путем.

Ответ 8

Как уже упоминалось, Arduino - хороший выбор. Сообщество большое и полезно. Приятно, что вы можете перейти на "настоящий" язык, используя GCC-порт для микроконтроллеров AVR, если хотите. В моем последнем проекте я сделал это - прототип большинства из них с Arduino, затем перезапишите его на C.

Начиная с кнопок и светодиодов - отличная идея. Сначала создайте уверенность в работе с базовым оборудованием, прежде чем модифицировать Wii!

Некоторые ссылки:

  • Кросс-компилятор Windows GCC (1-ступенчатая установка) для AVR: WinAVR
  • Комплект клона Arduino
  • Adafruit - еще один хороший источник аппаратных и технических советов стартера.
  • Встроенный StackOverflow

Ответ 9

Любая программа, которую вы уже пишете, взаимодействует с оборудованием, там монитор, клавиатура, мышь, динамик и т.д. Получение простой настройки, когда ваша программа может работать с кнопками на USB-устройстве, не научит вас многому работать с аппаратным обеспечением. Отчасти это вопрос о том, насколько вы хотите идти в стеке программного обеспечения и сколько вы хотите узнать о том, что происходит в момент завершения программного обеспечения.

  • Получите копию "Искусство Электроника ". относительно легко читает и охватывает все, что касается закона Ома и микропроцессора, и даст вам хорошее представление о том, что делает полная система.
  • Прочтите.
  • Отъезд Digikey. Вы можете купить любое оборудование, связанное с резисторами, конденсаторами, микросхемами, недорогими платами легко онлайн и по разумным ценам.

Другие ответы упомянули Microchip PIC и Atmel AVR, которые представляют собой небольшие и простые микроконтроллеры. Обе компании имеют множество замечаний по применению, просматривают свой веб-сайт, читают некоторые заметки о приложениях. Вы можете получить оценочные платы с низкой стоимостью для вышеуказанного или что-то вроде Arduino, упомянутых в других ответах. Подумайте о разработке и создании собственного совета, чтобы заставить себя изучить основы. Найдите друга, который является EE или серьезным любителем, который не прочь помочь вам с некоторыми советами.

Если вы хотите узнать больше о аппаратном обеспечении ПК, вы можете взглянуть на некоторые простые драйверы устройств (например, принтер или последовательный порт) под Windows (загрузить WinDDK), Linux или даже DOS. Программирование под чем-то вроде DOS на ПК позволяет относительно легко взаимодействовать с оборудованием ПК, вы можете использовать порт принтера для считывания кнопок и т.д.

Ссылки (я новый пользователь, поэтому я не могу напрямую связать):

www.amazon.com/Art-Electronics-Paul-Horowitz/dp/0521370957

www.digikey.com/

www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2879

www.atmel.com/products/avr/