无线磁性数据传输
组件和用品
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
应用和在线服务
| ||||
|
关于这个项目
如果您想以无线方式发送数据,您有多种选择。从 WiFi 到 BLE 再到 LoRa 无线电,每种场合都有。但是,如果您想要一个不使用无线电波的解决方案,那么这就是适合您的项目!
第 1 步:连接 Arduino
根据此原理图连接 Arduino。
继电器或继电器模块上的输入引脚连接到 Arduino 上的引脚 12。
电磁铁和电磁铁电源连接到继电器或继电器模块上的常开触点。
第 2 步:对 Arduino 进行编程
打开 Arduino IDE。如果您没有,请在此处下载。将此代码复制/粘贴到 IDE 中,或在此处下载代码文件。将您的 Arduino 插入您的计算机,并确保您选择了正确的板/端口。
工具> 开发板> Arduino/Genuino Uno
工具> 端口
编译并上传代码。
intincomingByte =0; // 对于传入的串行 dataint data =0;void setup() { Serial.begin(9600); // 打开串口,设置数据速率为 9600 bps pinMode(12, OUTPUT); Serial.println("开始..."); Serial.println("Send a string of binary numbers");}// main sectionvoid loop() { // 仅在收到数据时才发送数据: if (Serial.available()> 0) { // 读取传入的字节:incomingByte =Serial.read();数据 =1; if (incomingByte ==48) { // 如果它收到 0 digitalWrite(12, LOW); //关闭磁铁 Serial.print("0");延迟(100); }else if (incomingByte ==49) { //如果它收到一个 1 digitalWrite(12, HIGH); //打开磁铁 Serial.print("1");延迟(100); }else{ Serial.print("?"); } //清理干净 }else{ if (data ==1){ digitalWrite(12, LOW); Serial.println("");数据 =0; } }}
代码成功编译上传后,打开串口监视器。现在,如果您发送一串 1 和 0,那么您应该会听到继电器的咔嗒声。
第三步:安装图形界面
在此处安装 2GO 3D 磁性传感器的 GUI。滚动到底部并找到“免费下载”的位置。然后下载 GUI zip 文件。按照说明完成安装。除了 GUI,他们还将安装 USB 驱动程序。
请记住,该软件只能在 Windows 上运行,因此如果您使用的是 Mac,就像我一样,那么请购买一台 Windows 计算机或运行 Windows 虚拟机。
第 4 步:测试设置!
将 2GO 传感器连接到您的计算机。打开图形用户界面。链接它,然后选择“快速模式”。您应该立即开始查看传感器数据。
在 Arduino 方面,打开串行监视器。为电磁体供电,然后在串行监视器中发送一些 1 和 0。继电器应该开始点击,您应该会在传感器 GUI 中看到小脉冲。
你现在有一个工作项目,但让我们让它做点什么吧!
第五步:配置IDE
要使用 Arduino IDE 对 2GO 进行编程,您需要先将其添加为板。在 IDE 中,转到 文件> 首选项> 附加板管理器 URL 并粘贴此链接:
https://github.com/Infineon/Assets/releases/download/current/package_infineon_index.json
然后,转到工具> 开发板> 开发板管理器 并搜索“XMC”。点击它,然后点击安装。
您还需要添加库以访问传感器。转到 Infineon 的 Github 页面并下载 .zip 文件。然后,转到 Sketch> Include Library> Add.ZIP Library...
选择您之前下载的 .zip 文件,然后单击“选择”。
现在,如果您转到 Sketch> Include Library 向下滚动,您应该会看到 TLE493D_W2B6 图书馆。
第 6 步:对 2GO 进行编程
将代码复制/粘贴到 IDE 中,或在此处下载 3D_Sensor 草图。
您可以根据附近是否有磁铁来调整“sens”常数中的灵敏度。要提高灵敏度,请减小“sens”常数。
// 设置内容#include Tle493d_w2b6 mag3DSensor =Tle493d_w2b6();// 调整灵敏度const int sens =1;void setup() { // 更多设置mag3DSensor.begin(); mag3DSensor.enableTemp(); pinMode(LED_BUILTIN, OUTPUT);}void loop() { // 获取传感器信息 mag3DSensor.updateData(); //检查是否有磁铁 if (abs(mag3DSensor.getX())> sens || abs(mag3DSensor.getY())> sens || abs(mag3DSensor.getZ())> sens ) { //打开光数字写入(LED_BUILTIN,高); } else { //关灯 digitalWrite(LED_BUILTIN, LOW); } // 不要垃圾邮件,孩子们延迟(50);}
第 7 步:测试整个过程!
将电磁铁放在传感器附近的某个地方。将 2GO 连接到电源,将 Arduino 连接到您的计算机。打开串行监视器并发送一些 1 和 0。 2GO 上的 LED 应根据您发送的内容亮起并闪烁。如果它没有亮起,请尝试将电磁铁靠近传感器。如果这不起作用,请尝试调整灵敏度。如果它亮起但没有熄灭,请调整灵敏度。也可以尝试拔掉它再重新插入。
恭喜!大功告成!
走得更远
这个项目相当简单,可以建立在其他功能的基础上。向 Arduino 添加一个按钮以进行完全无头设置。尝试连接其他东西,例如扬声器。用磁铁播放音乐不是很酷吗?无限可能!
代码
代码
https://github.com/tctree333/Arduino-3D-Sensor示意图
制造工艺