有哪些方法可以使我的电路与计算机通信?

电器工程 无线的 沟通
2022-01-15 18:19:42

我是电子黑客的新手。我想知道如何使电路与 PC 通信。以一个简单的电路为例,它有一个 LED 和一个开关。然而,电路上的开关不用于控制 LED。按下它会传达 LED 的当前状态。我有一个程序在我的电脑上运行,它有一个 UI、一个按钮和一个图形对象;黑色实心圆圈。

  • 我应该可以通过单击屏幕上的按钮来打开和关闭计算机上的 LED。
  • 按下板上的开关,应将 LED 的状态传达给程序。如果 LED 亮起,黑色圆圈应变为绿色,否则应变为黑色。

这是我为解释问题而描述的假设情况。我不是在寻找实现这个东西的解决方案,而是想知道我的电路和计算机之间的这种通信是如何以一种简单、廉价的方式实现的。

  1. 金属丝?
  2. 无线的?

如果你能建议我应该从哪里开始以及我应该学习什么来开始我的电子项目,那将有很大的帮助。

4个回答

有很多不同的方法可以实现这一目标。这里有几个:

  1. 您可以对Microchip PIC16F84A等小型微控制器进行编程,以观察按钮和 LED。每当按下按钮时,PIC16F84A 都会通过FTDI 串行芯片将字符发送到计算机上的 USB 端口。在您的计算机上,一个用Processing编写的程序监视 USB 端口并更新屏幕上的图片。总成本:一些薯条和一块面包板 20 美元。

  2. 您可以购买带有原型屏蔽的蓝牙 Arduino 。Arduino 通过蓝牙芯片与 PC 中的蓝牙卡进行通信。用Python编写的程序监听蓝牙卡并使用Pygame在屏幕上绘制相应的图片。总成本:蓝牙 Arduino 150 美元。

  3. 您可以将网络摄像头连接到您的 PC 以观察您的 LED 和按钮。用Ruby编写的程序正在分析来自网络摄像头的每张图像,并将其与之前的图像进行比较。当它检测到按钮附近的图像区域发生变化时,它会查看 LED 区域中像素的颜色并更新数据库中的值。网页使用jQuery 计时器插件自动刷新,并根据数据库中的值更新屏幕上的图像。总成本:糟糕的网络摄像头 25 美元。

  4. 您可以找到一台带有并行端口的旧 PC,并在其上安装Ubuntu Linux您将 LED 和按钮连接到并行端口上的引脚,然后用C 语言编写读取地址 0x378 的程序。根据返回的数据,它调用一个C 图形库来进行适当的屏幕绘制。总费用:免费,如果你能找到一台足够老的电脑。

  5. 您将计算机上的电源按钮替换为相关按钮,并将电源 LED 替换为相关 LED。您将 BIOS 替换为已修改为在屏幕上显示绿色圆圈的OpenBIOS版本,并且从不启动任何操作系统。总成本:可能是一台新 PC 的成本。

但说真的

我想我会推荐一个ArduinoProcessing它们很简单,非常适合初学者。总成本:Arduino 30 美元。

祝你好运。

去获取 Tom Igoe 的《让事物说话》一书:http: //oreilly.com/catalog/9780596510510

这不是关于语音,而是关于使你的不同设备——例如,你的计算机和你的电路——相互交谈的所有不同方法。在其中,您会发现人们在此处的其他答案中概述的所有方法的血腥细节,并附有电路图和源代码(在适当的情况下)。

如果您想学习任何或所有不同的方法来做到这一点,那么您就没有比这更好的起点了。

蟒蛇+ FT245

删除PyUSB模块,突然之间只需要三行代码(好吧,四行,如果包括导入)就可以让 Python 通过 8 条并行 IO 线与肉空间对话。

import d2xx
hardwareHandle = d2xx.open(0)
#Open the First FTDI device on the computer
hardwareHandle.setBitMode(0xff, 0x01)      
#Put the hardware in Async Bit-bang mode, set all pins as outputs

#Finally
hardwareHandle.write(data)
#And suddenly
#`data` shows up on the FT245 pins!

hardwareHandle.setBitMode(0x00, 0x01)
#set the IO lines to inputs (the first byte is the IO mask)
input = hardwareHandle.read()
#and input is equal to the value on the IO lines!

它是来自高级语言的极其简单的并行 IO。

作为奖励,硬件的总成本为 17.95 美元

看看TI Chronos

TI 基于 MSP430 芯片制造了这款出色的 16 位微控制器系列。该芯片的一种变体是 CC430,它在封装中嵌入了无线功能。

chronos 是一个“开发板”,售价为 49 美元。它采用手表形式(我每天都使用它,它在极客世界之外甚至很流行:-))它还带有两个 USB 加密狗,一个用于 JTAG(程序员),另一个用于无线对应。

开发板中的一个示例是使用手表无线控制鼠标,这非常酷。手表还配有加速度计、气压计(高度)传感器和温度计。