USB/Ethernet к (настоящему) звонку на основе сигнала

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

Начало и продолжительность будут запускаться удаленно через USB или Ethernet, закодированные на языке Java (часть, в которой я больше всего разбираюсь).

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

Кроме того, было бы здорово, если бы это устройство продавалось с питанием, тогда я больше всего думаю об использовании USB, я прав?

Большое спасибо за Вашу помощь :)

Ответы (4)

Прежде всего: нет способа дешево сделать это только на Java. Есть некоторые чипы, которые могут выполнять Java, но я не слышал ни о каких доступных для новичков.

Так что это либо C, либо язык Arduino, если вы идете по этому пути.

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

Далее вам понадобится Ethernet или USB-подключение. Мэтт уже рекомендовал чипы USB to RS-232, и это простой способ решить проблему. Чип будет отображаться как последовательный порт, и все, что вам нужно сделать, это написать программу Java, которая будет отправлять данные через порт на микроконтроллер.

Другим более сложным вариантом будет использование Ethernet. Для Arduino уже существует щит Ethernet , который поддерживается его IDE. Вы также можете подобрать другую плату Ethernet, подобную этой или этой . Положительной стороной Arduino Shield является то, что вы можете использовать с ним существующую библиотеку, которая может оказаться полезной. Для стороннего решения вам придется написать код самостоятельно.

Также небольшое сравнение между Arduino, голыми чипами AVR или PIC.

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

Далее у нас Ардуино. Во-первых, это не чип. Это линейка макетных плат, и это важное отличие. Внутри используются чипы AVR и специальный загрузчик, облегчающий их программирование. С этим вы упаковали хорошую IDE, которая использует язык C++ для программирования и может упростить некоторые вещи для новичка. В последнее время он приобрел огромную популярность среди новичков. Его основная проблема заключается в том, что он скрывает от пользователя некоторые операционные концепции чи [, и в какой-то момент у вас может возникнуть ощущение, что вы боретесь с IDE и языком.

С другой стороны, у нас также есть PICAXE, которые в основном представляют собой PIC-версию Arduino. У них также есть IDE и язык программирования (производная от BASIC) и загрузчик. Насколько я вижу, платы PICAXE по какой-то причине не так популярны, как Arduino, но у меня нет опыта работы с ними, поэтому я не могу объяснить, почему.

Итак, подведем итог: если вам нужен один проект, рассмотрите Arduino или PICAXE. Таким образом, вам не придется платить за установку (например, за программиста, время, необходимое для обучения и проектирования платы и т. д.), которые влечет за собой работа с одним микроконтроллером.

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

Спасибо за ответ, все кажется нечетким, но ваш ответ мне очень помог.
@ cx42net Только не забывайте, что если вы застряли на шаге решения, который не связан с программированием программы Java на основном компьютере, вы можете попросить разъяснений здесь.
Вы слышали о Javelin Stamp ? Это симпатичный маленький микропроцессор со встроенной JVM.
@Fake Name Да, поэтому я упомянул, что есть некоторые чипы, которые могут выполнять Java. Хотя штамп Javelin сейчас продается, его обычная цена составляет около 90 долларов, что я считаю слишком дорого. За эту сумму денег весь проект, который задумал ОП, может быть завершен.
Решение не обязательно потребует какой-либо встроенной разработки, поскольку на полке имеются подходящие специальные функциональные USB-периферийные устройства и модули. Поэтому единственное программирование, которое необходимо выполнить, это на управляющем ПК.

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

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

Если вы не хотите создавать собственное оборудование и программировать PIC самостоятельно, существует множество комплектов для самостоятельной сборки, которые поставляются с предварительно запрограммированным PIC (например, K8055 от Velleman), в которые часто уже встроен USB .

Спасибо за ваш ответ, для новичка вроде меня это кажется намного сложнее, чем я думал сначала, но смешивание всех ответов, вероятно, поможет мне :)

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

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

Вполне вероятно, что управляющая программа может быть написана на Java, если JVM предоставит вам доступ к порту или позволит вам выполнить что-то вроде инструмента stty в Linux/Unix или эквиваленте Windows.

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

Я бы рекомендовал использовать PIC18F24J50. Это гораздо лучший микроконтроллер, и его легко программировать. Вам даже не нужно высокое напряжение, чтобы запрограммировать его. Мне удалось запрограммировать его с нуля (прошивка --> DLL --> приложения VB и C++). Что делает его более забавным, я даже сделал для него простой программатор из предварительно запрограммированного на заводе микроконтроллера MCP2200... Это просто, потому что PIC18F24J50 не требует высокого напряжения (например, 9В или 12В) для программирования..

Вы уверены в названии? google.com/search?q=PC18F24J50
На самом деле это микроконтроллер PIC18F24J50 Microchip.