360 雷达(将数据编码到图像上)
组件和用品
| × | 1 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 |
必要的工具和机器
| ||||
|
应用和在线服务
| ||||
|
关于这个项目
我在这里,我将向您展示如何制作 360 雷达。将数据发送到计算机,处理后实时绘制雷达,转一圈(360 转)后,保存上一个雷达并绘制新的雷达。并且在所有这些之后编码数据并将它们隐藏到图像中。例如,如果您只发送编码数据并且有人观察到此数据传输,他会发现您传输的是编码数据 . 但是,如果您将编码数据隐藏到图像中,他将永远不会发现您做了什么,只会认为您为其他人发送了一张照片。
第一步(收集你需要的东西)
在这个项目中你需要:
- Arduino(我使用了 Uno R3)
- 伺服电机(我们需要 2 个,因为我们应该有 360° 的运动可用)
- 超声波传感器(我们用这个来计算距离)
- 用于连接超声波传感器和伺服器的电线。
第 2 步(组装它们)
将伺服和超声波传感器连接到 Arduino,就像在下面的示意图中一样(就在 C++ 代码上方)。您可以上传代码并在计算机上查看它们。
注意:如果您不知道端口的名称是什么,请转到设备管理器然后找到端口。您可以在那里看到名称(COM3 或 COM5)。
如果你完成了这个项目,请让我发送 Radar Drawer 的 EXE。
*更新*:下载此页面中的 EXE 文件。
如果您在使用 EXE 时遇到问题,或者您想制作自己的 EXE,请咨询我,我会随时为您提供帮助。
当您导入照片以对 AI 进行编码时,请选择最佳方法以使其更安全。
代码
- 伺服控制
伺服控制C/C++
C++ 上的此代码用于控制伺服,应上传到 Arduino#includeServo Down;Servo Up;const int trigPin =9;const int echoPin =10;long duration;int pos =0;int pos2 =0;int 距离;int _degrees;void setup() {pinMode(trigPin, OUTPUT);pinMode(echoPin, INPUT); Down.attach(2); Up.attach(3);Serial.begin(9600); }void loop() { Down.write(0);上写(0); for (pos =0; pos <=180; pos +=1) { Down.write(pos); _degrees =pos; dis();延迟(50); if (pos ==180){ for (pos2 =0; pos2 <=180; pos2 +=1) { Up.write(pos2); _degrees =pos + pos2; dis();延迟(50); } } } for (pos =180; pos>=0; pos -=1) { Down.write(pos);上写(位置);延迟(5); }}void dis(){ digitalWrite(trigPin, LOW);delayMicroseconds(2);digitalWrite(trigPin, HIGH);delayMicroseconds(10);digitalWrite(trigPin, LOW);duration =pulseIn(echoPin, HIGH);distance=duration *0.034/2;Serial.print(distance);Serial.print(",");Serial.println(_degrees); }
定制零件和外壳
从这里下载 EXE 文件 circle_draw_qP2ROsoPds.rar示意图
制造工艺