在这个Arduino教程中,我将向您展示如何使用Arduino Board和处理开发环境来使这款酷炫的雷达。您可以观看以下视频或阅读下面的书面教程以获取更多详细信息。
你所需要的一切Arduino项目是一种用于检测物体的超声波传感器,是一个用于旋转传感器的小型爱好者伺服电机和用于控制它们的Arduino板。您可以观看以下视频或阅读下面的书面教程。
这个Arduino项目所需的组件
您可以从下面的任何网站获取这些组件:
- 超声波传感器HC-SR04 ............亚马逊/伯格多德/阿里巴巴全球速卖通
- 伺服电机 ......................................亚马逊/伯格多德/阿里巴巴全球速卖通
- Arduino电路板 .................................亚马逊/伯格多德/阿里巴巴全球速卖通
- 面包板和跳线.........亚马逊/伯格多德/阿里巴巴全球速卖通
必威外围提钱披露:这些是联盟链接。作为亚马逊助理,我从合格购买中获得。
建立设备
- 首先,我制作了一个用于将超声波传感器连接到伺服电机的纸板支架。我折叠它就像它在下面的图片上所示,用这样的螺丝粘在一起并固定到伺服电机上。
- 此外,我还附上了一个针头标题,我焊接了4个跳线,用于连接传感器。
- 最后,我使用弹性带将伺服电机固定到Arduino板上。
邦神超声波传感器也有专门的安装支架。你可以从以下链接获得:
Arduino雷达电路原理图
我将超声波传感器HC-SR04连接到引脚数10和11以及伺服电机到Arduino板上的引脚12号。
源代码
现在我们需要制作代码并将其上传到将启用Arduino与处理IDE之间的交互的Arduino板。了解如何连接工作点击此处访问我的Arduino和处理教程.
以下是Arduino源代码,其中包含代码的每一行:
//包含Servo库#include。//定义超声波传感器的Tirg和Echo引脚const int trigPin = 10;const int echoPin = 11;//持续时间和距离长持续时间的变量;int距离;伺服myServo;//创建一个伺服对象来控制伺服电机void setup() {pinMode(trigPin, OUTPUT);//将trigPin设置为输出pinMode(echoPin, INPUT);//将echoPin设置为输入序列begin(9600);myServo.attach (12); // Defines on which pin is the servo motor attached } void loop() { // rotates the servo motor from 15 to 165 degrees for(int i=15;i<=165;i++){ myServo.write(i); delay(30); distance = calculateDistance();// Calls a function for calculating the distance measured by the Ultrasonic sensor for each degree Serial.print(i); // Sends the current degree into the Serial Port Serial.print(","); // Sends addition character right next to the previous value needed later in the Processing IDE for indexing Serial.print(distance); // Sends the distance value into the Serial Port Serial.print("."); // Sends addition character right next to the previous value needed later in the Processing IDE for indexing } // Repeats the previous lines from 165 to 15 degrees for(int i=165;i>15;i--){ myServo.write(i); delay(30); distance = calculateDistance(); Serial.print(i); Serial.print(","); Serial.print(distance); Serial.print("."); } } // Function for calculating the distance measured by the Ultrasonic sensor int calculateDistance(){ digitalWrite(trigPin, LOW); delayMicroseconds(2); // Sets the trigPin on HIGH state for 10 micro seconds digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); // Reads the echoPin, returns the sound wave travel time in microseconds distance= duration*0.034/2; return distance; }
现在,我们将使用传感器从Arduino板上测量的角度和距离的值使用SeriaLevent()函数从串行端口读取数据,我们将把角度和距离的值放入变量IANGLE和IDISTANCE。这些变量将用于绘制雷达,线,检测到的对象和一些文本。
用于绘制雷达,我制作了这个功能drawRadar ()这包括弧()和(行)功能。
void drawradar(){pushmatrix();翻译(960、1000);//将启动协调员移动到新位置Nofill();中风(2);中风(98,245,31);//绘制弧线弧(0,0,1800,1800,PI,Two_pi);arc(0,0,1400,1400,pi,two_pi);arc(0,0,1000,1000,pi,twe_pi);弧(0,0,600,600,pi,twe_pi);//绘制角度线线(-960,0,960,0); line(0,0,-960*cos(radians(30)),-960*sin(radians(30))); line(0,0,-960*cos(radians(60)),-960*sin(radians(60))); line(0,0,-960*cos(radians(90)),-960*sin(radians(90))); line(0,0,-960*cos(radians(120)),-960*sin(radians(120))); line(0,0,-960*cos(radians(150)),-960*sin(radians(150))); line(-960*cos(radians(30)),0,960,0); popMatrix(); }
用于绘制沿着雷达移动的线,我制作了这个函数drawline().它的旋转核心与转换()函数设置,并使用Line()函数,其中使用IANGLE变量的行每度重新绘制该行。
void drawLine() {pushMatrix();strokeWeight (9);中风(30250、60);翻译(960、1000);//移动起始坐标到新的位置线(0,0,950*cos(弧度(iAngle)),-950*sin(弧度(iAngle)));//根据角度绘制线popMatrix();}
为了绘制检测到的对象,我做了这个drawobject()函数。它得到与超声波传感器的距离,将其转换为像素,并结合传感器的角度在雷达上绘制物体。
void drawObject() {pushMatrix();翻译(960、1000);//将起始坐标移动到新的位置strokeWeight(9);中风(255、10、10);//红色颜色pixsDistance = iDistance*22.5;/ /覆盖的距离传感器从cm像素/ /范围限制在40 cms如果(iDistance < 40){/ /吸引对象根据角度和距离线(pixsDistance * cos(弧度(iAngle)), -pixsDistance *罪(弧度(iAngle)) 950 * cos(弧度(iAngle)) -950 * sin(弧度(iAngle)));} popMatrix ();}
对于屏幕上的文本,我制作了drawText ()函数,在特定位置绘制文本。
所有这些函数都在主要中调用画()函数一直重复并绘制屏幕。在这里我正在使用这个填满()函数与2参数模拟运动模糊和缓慢褪色的移动线。
void draw(){填充(98,245,31);textfont(Orcfont);//模拟运动模糊和移动线Nostroke()的慢衰落;填充(0,4);矩形(0,0,宽度,1010);填充(98,245,31);//绿色//调用绘制雷达绘制的功能;drawline();drawobject();drawText(); }
这是雷达的最终外观:
以下是Arduino Radar的完整处理源代码:
导入处理。*;//导入串行通信导入java.awt.event.keyEvent的库;//导入用于从串行端口导入java.io.ioException读取数据的库;串行MyPort;//定义对象序列// defubes变量字符串角度=“”;字符串距离=“”;字符串数据=“”;string noobject;Float Pixsdistance;INT IANGRE,IDIASTANCE; int index1=0; int index2=0; PFont orcFont; void setup() { size (1920, 1080); smooth(); myPort = new Serial(this,"COM4", 9600); // starts the serial communication myPort.bufferUntil('.'); // reads the data from the serial port up to the character '.'. So actually it reads this: angle,distance. orcFont = loadFont("OCRAExtended-30.vlw"); } void draw() { fill(98,245,31); textFont(orcFont); // simulating motion blur and slow fade of the moving line noStroke(); fill(0,4); rect(0, 0, width, 1010); fill(98,245,31); // green color // calls the functions for drawing the radar drawRadar(); drawLine(); drawObject(); drawText(); } void serialEvent (Serial myPort) { // starts reading data from the Serial Port // reads the data from the Serial Port up to the character '.' and puts it into the String variable "data". data = myPort.readStringUntil('.'); data = data.substring(0,data.length()-1); index1 = data.indexOf(","); // find the character ',' and puts it into the variable "index1" angle= data.substring(0, index1); // read the data from position "0" to position of the variable index1 or thats the value of the angle the Arduino Board sent into the Serial Port distance= data.substring(index1+1, data.length()); // read the data from position "index1" to the end of the data pr thats the value of the distance // converts the String variables into Integer iAngle = int(angle); iDistance = int(distance); } void drawRadar() { pushMatrix(); translate(960,1000); // moves the starting coordinats to new location noFill(); strokeWeight(2); stroke(98,245,31); // draws the arc lines arc(0,0,1800,1800,PI,TWO_PI); arc(0,0,1400,1400,PI,TWO_PI); arc(0,0,1000,1000,PI,TWO_PI); arc(0,0,600,600,PI,TWO_PI); // draws the angle lines line(-960,0,960,0); line(0,0,-960*cos(radians(30)),-960*sin(radians(30))); line(0,0,-960*cos(radians(60)),-960*sin(radians(60))); line(0,0,-960*cos(radians(90)),-960*sin(radians(90))); line(0,0,-960*cos(radians(120)),-960*sin(radians(120))); line(0,0,-960*cos(radians(150)),-960*sin(radians(150))); line(-960*cos(radians(30)),0,960,0); popMatrix(); } void drawObject() { pushMatrix(); translate(960,1000); // moves the starting coordinats to new location strokeWeight(9); stroke(255,10,10); // red color pixsDistance = iDistance*22.5; // covers the distance from the sensor from cm to pixels // limiting the range to 40 cms if(iDistance<40){ // draws the object according to the angle and the distance line(pixsDistance*cos(radians(iAngle)),-pixsDistance*sin(radians(iAngle)),950*cos(radians(iAngle)),-950*sin(radians(iAngle))); } popMatrix(); } void drawLine() { pushMatrix(); strokeWeight(9); stroke(30,250,60); translate(960,1000); // moves the starting coordinats to new location line(0,0,950*cos(radians(iAngle)),-950*sin(radians(iAngle))); // draws the line according to the angle popMatrix(); } void drawText() { // draws the texts on the screen pushMatrix(); if(iDistance>40) { noObject = "Out of Range"; } else { noObject = "In Range"; } fill(0,0,0); noStroke(); rect(0, 1010, width, 1080); fill(98,245,31); textSize(25); text("10cm",1180,990); text("20cm",1380,990); text("30cm",1580,990); text("40cm",1780,990); textSize(40); text("Object: " + noObject, 240, 1050); text("Angle: " + iAngle +" °", 1050, 1050); text("Distance: ", 1380, 1050); if(iDistance<40) { text(" " + iDistance +" cm", 1400, 1050); } textSize(25); fill(98,245,60); translate(961+960*cos(radians(30)),982-960*sin(radians(30))); rotate(-radians(-60)); text("30°",0,0); resetMatrix(); translate(954+960*cos(radians(60)),984-960*sin(radians(60))); rotate(-radians(-30)); text("60°",0,0); resetMatrix(); translate(945+960*cos(radians(90)),990-960*sin(radians(90))); rotate(radians(0)); text("90°",0,0); resetMatrix(); translate(935+960*cos(radians(120)),1003-960*sin(radians(120))); rotate(radians(-30)); text("120°",0,0); resetMatrix(); translate(940+960*cos(radians(150)),1018-960*sin(radians(150))); rotate(radians(-60)); text("150°",0,0); popMatrix(); }
arduino雷达代码的新更新版本适合任何屏幕分辨率:
只需更改大小()函数中的值,屏幕分辨率就会。
/ * Arduino雷达项目* *更新版本。适合任何屏幕分辨率!*只需更改大小()函数中的值,*使用屏幕分辨率。* *由Dejan Nedelkovski,* www.howtbet188官方网站omechatronics.com * * /导入处理。*;//导入串行通信导入java.awt.event.keyEvent的库;//导入用于从串行端口导入java.io.ioException读取数据的库;串行MyPort;//定义对象序列// defubes变量字符串角度=“”;字符串距离=“”;字符串数据=“”; String noObject; float pixsDistance; int iAngle, iDistance; int index1=0; int index2=0; PFont orcFont; void setup() { size (1920, 1080); // ***CHANGE THIS TO YOUR SCREEN RESOLUTION*** smooth(); myPort = new Serial(this,"COM4", 9600); // starts the serial communication myPort.bufferUntil('.'); // reads the data from the serial port up to the character '.'. So actually it reads this: angle,distance. orcFont = loadFont("OCRAExtended-30.vlw"); } void draw() { fill(98,245,31); textFont(orcFont); // simulating motion blur and slow fade of the moving line noStroke(); fill(0,4); rect(0, 0, width, height-height*0.065); fill(98,245,31); // green color // calls the functions for drawing the radar drawRadar(); drawLine(); drawObject(); drawText(); } void serialEvent (Serial myPort) { // starts reading data from the Serial Port // reads the data from the Serial Port up to the character '.' and puts it into the String variable "data". data = myPort.readStringUntil('.'); data = data.substring(0,data.length()-1); index1 = data.indexOf(","); // find the character ',' and puts it into the variable "index1" angle= data.substring(0, index1); // read the data from position "0" to position of the variable index1 or thats the value of the angle the Arduino Board sent into the Serial Port distance= data.substring(index1+1, data.length()); // read the data from position "index1" to the end of the data pr thats the value of the distance // converts the String variables into Integer iAngle = int(angle); iDistance = int(distance); } void drawRadar() { pushMatrix(); translate(width/2,height-height*0.074); // moves the starting coordinats to new location noFill(); strokeWeight(2); stroke(98,245,31); // draws the arc lines arc(0,0,(width-width*0.0625),(width-width*0.0625),PI,TWO_PI); arc(0,0,(width-width*0.27),(width-width*0.27),PI,TWO_PI); arc(0,0,(width-width*0.479),(width-width*0.479),PI,TWO_PI); arc(0,0,(width-width*0.687),(width-width*0.687),PI,TWO_PI); // draws the angle lines line(-width/2,0,width/2,0); line(0,0,(-width/2)*cos(radians(30)),(-width/2)*sin(radians(30))); line(0,0,(-width/2)*cos(radians(60)),(-width/2)*sin(radians(60))); line(0,0,(-width/2)*cos(radians(90)),(-width/2)*sin(radians(90))); line(0,0,(-width/2)*cos(radians(120)),(-width/2)*sin(radians(120))); line(0,0,(-width/2)*cos(radians(150)),(-width/2)*sin(radians(150))); line((-width/2)*cos(radians(30)),0,width/2,0); popMatrix(); } void drawObject() { pushMatrix(); translate(width/2,height-height*0.074); // moves the starting coordinats to new location strokeWeight(9); stroke(255,10,10); // red color pixsDistance = iDistance*((height-height*0.1666)*0.025); // covers the distance from the sensor from cm to pixels // limiting the range to 40 cms if(iDistance<40){ // draws the object according to the angle and the distance line(pixsDistance*cos(radians(iAngle)),-pixsDistance*sin(radians(iAngle)),(width-width*0.505)*cos(radians(iAngle)),-(width-width*0.505)*sin(radians(iAngle))); } popMatrix(); } void drawLine() { pushMatrix(); strokeWeight(9); stroke(30,250,60); translate(width/2,height-height*0.074); // moves the starting coordinats to new location line(0,0,(height-height*0.12)*cos(radians(iAngle)),-(height-height*0.12)*sin(radians(iAngle))); // draws the line according to the angle popMatrix(); } void drawText() { // draws the texts on the screen pushMatrix(); if(iDistance>40) { noObject = "Out of Range"; } else { noObject = "In Range"; } fill(0,0,0); noStroke(); rect(0, height-height*0.0648, width, height); fill(98,245,31); textSize(25); text("10cm",width-width*0.3854,height-height*0.0833); text("20cm",width-width*0.281,height-height*0.0833); text("30cm",width-width*0.177,height-height*0.0833); text("40cm",width-width*0.0729,height-height*0.0833); textSize(40); text("Object: " + noObject, width-width*0.875, height-height*0.0277); text("Angle: " + iAngle +" °", width-width*0.48, height-height*0.0277); text("Distance: ", width-width*0.26, height-height*0.0277); if(iDistance<40) { text(" " + iDistance +" cm", width-width*0.225, height-height*0.0277); } textSize(25); fill(98,245,60); translate((width-width*0.4994)+width/2*cos(radians(30)),(height-height*0.0907)-width/2*sin(radians(30))); rotate(-radians(-60)); text("30°",0,0); resetMatrix(); translate((width-width*0.503)+width/2*cos(radians(60)),(height-height*0.0888)-width/2*sin(radians(60))); rotate(-radians(-30)); text("60°",0,0); resetMatrix(); translate((width-width*0.507)+width/2*cos(radians(90)),(height-height*0.0833)-width/2*sin(radians(90))); rotate(radians(0)); text("90°",0,0); resetMatrix(); translate(width-width*0.513+width/2*cos(radians(120)),(height-height*0.07129)-width/2*sin(radians(120))); rotate(radians(-30)); text("120°",0,0); resetMatrix(); translate((width-width*0.5104)+width/2*cos(radians(150)),(height-height*0.0574)-width/2*sin(radians(150))); rotate(radians(-60)); text("150°",0,0); popMatrix(); }
代码在哪里?
有一个问题。现在代码在这里。
亲爱的先生
您所写的代码不会在我的Arduino IDE中编译。它显示“失踪作者”,你可以帮助我..我在哪里出错..
您是否尝试编译正确的代码,因为有代码,一个用于Arduino IDE,一个用于处理IDE,您是否正确复制了整个代码。我从未见过这样的错误。请再试一次。
你好先生,我的雷达线没有从初始点移动它每次60度后被困扰。请帮我出来,什么是错误,我如何解决它
尝试不同的伺服速度,改变伺服在for回路中的延迟时间。
先生,你的代码不起作用可以给我你的电子邮件地址我会给你发给你的解决方案
它正在工作,你可能做错了什么。通过前面的评论,您可以找到问题的答案。
先生,你好,
IAM面临的问题在处理中,
当我在处理中运行程序时,它突出显示程序=的行
(orcfont = loadfont(“ocraexted-30.vlw”);)。它的原因是(无法加载字体ocraexted-30.vlw。确保通过处理所示的草图的数据文件夹已复制到“字体”。
先生,帮帮我。
这个问题已经在下面的评论中得到了回答。
在询问某事之前,您应该始终检查评论,因为通常有大多数人可能面临的问题答案。
谢谢你的伟大项目。一切都完美无缺。我唯一可以添加到您的页面的是一个部分,您可以在其中谈论“ocraexted-30.vlw”字体的创建,以便处理代码无关。这比让人们通过评论部分挖掘答案会更好。
再次感谢一个很棒的项目。
先生这个项目有一个问题。每当我使用CalculdistAnce()函数时,我的伺服电机开始缓慢旋转。但每当我消除伺服旋转的时候..为什么发生?
尽量减少延迟时间。
长官,怎么连接到监视器上?当你把arduino连接到电脑或笔记本电脑时,它会自动在屏幕上显示虚拟雷达吗?
通过串行端口和显示全屏雷达的程序的Arduino通信是处理IDE。
没有错误消息,但它没有显示红色雷达的东西
那么超声波传感器出问题了。你可能没有从传感器得到任何价值。首先在处理IDE上使用串行监视器检查传感器是否正常工作,并查看是否得到任何值。
这是代码先生?
有错误
Pfont Orcfont;
只要改变字体。
代码完美地工作,但雷达没有通过处理完全绘制我如果我编译,我不会看到雷达的另一部分??为什么??
你应该调整屏幕分辨率。第一个代码用于1080p分辨率,但在本文的底部有一个更新版本,您可以根据您的PC分辨率设置程序的分辨率。
我一直遇到字体错误。
正在处理实际的工作格式吗?
我需要开始创建字体之类的东西吗?
我认为这是为了尝试编程代码。
Arduino IDE从不打扰字体。是什么赋予了?
这似乎是一个半烤制的系统。
我最后一次被要求下载Java,它毁了计算机并在我的其他电脑上安装了病毒。现在我有一个受感染的电脑,让我盛大了一些盛大。
为什么我不能只是复制和粘贴,命中运行并拥有它的工作?
是由Java制成的雷达吗?
不,它是使用处理IDE制作的。
Q1。
如果我们没有面向超声波的任何对象,则发送信号和接收信号是多少时间?
Q2。
为什么在代码中添加延迟(30)而不是更多或更少?
A1:您可能能够在超声波传感器的数据表中找到此答案。
这个延时是用来调节电机的转速的。
只是一个恭维 - 优秀的网站,只刚刚找到它,保持良好的工作。
谢谢!
这有什么类型的范围?是否适合为可以达到英里或更远的距离的船制造雷达?
不是真的,这个项目中使用的超声波传感器距离低(最多4米),质量对此应用不有好处。
这个项目能和Arduino Uno一起工作吗?抱歉缺乏经验,我是一名学生,我目前只能访问那个模型,我想为一个项目做这个。谢谢你,顺便说一下,很棒的教程!
是的,它适用于任何Arduino板。
你好,先生。
实际上我们在高中就这个项目进行了这个项目,所以我们需要原始项目的链接。我们没有很多时间去做,所以请尽快修复它。
感谢您的关注。
它现在正在运作。
我试图复制代码,但我可以从各地获得错误,你可以
放置一个链接,任何人都可以复制所有代码
什么样的错误。可以在此帖子中找到Arduino IDE和处理IDE的完整源代码。
尊敬的先生,
请帮助我了解我的项目有什么问题。
我按照你在视频中展示的步骤来做。这是一个很棒的项目。
我从这个网站复制了Arduino的代码,它的工作原理完美。超声波传感器很好地表示Arduino串行监视器中的距离和角度。问题在于处理代码。当我从处理器IDE运行代码时,它表示存在一些错误。我的处理IDE是版本为1.5.1我希望你的帮助和CO操作
非常感谢
尝试安装最新版本的处理IDE。
嗨。我造这个雷达是为了给学校做实验。代码也兼容Arduino UNO吗?然后,最后的代码,必须放在处理IDE,而不是其他语言,对吗?
谢谢
是的,你可以使用UNO和最后的代码是处理IDE。
太感谢了。我可以在我的arduino uno中直接上传arduino代码吗?或者我必须适应它使它兼容?
请问Arduino Nano兼容的代码是什么?
是的,您可以使用任何Arduino Board。
有人使用你的代码
https://www.instructables.com/id/Arduino-Sodar-Cool-Radar-/
没有链接到您的原始项目。我认为不是诚实 - 只删除有关您作为作者的任何信息。
谢谢你的评论!是的,你是对的。我的教程和项目是免费的,所以每个人bet188me都可以使用它们,但如果有人在其他网站上使用它们,就像你说的那样,嗨应该提供与原始文章的链接。更重要的是,他甚至使用我的照片模糊我的徽标。
您好,我们可以找到ocraexted-30.vlw“文件?
您不必使用该字体。如果在运行处理草图时发生此问题,这可以帮助您:
问题可能是您应该首先在Processing IDE中生成字体。工具>创建字体,在这里选择字体和大小。这将在工作目录中生成适当的字体文件,以便您能够使用该字体。
或者您可以在代码中删除这些行,处理将使用其默认字体。
谢谢,先生。换字体对我有帮助
请告诉我如何在程序中更改屏幕分辨率?
如果你使用更新后的处理代码,可以在文章的底部找到,它可以适应任何屏幕分辨率。您只需要将屏幕分辨率的参数更改为您的屏幕分辨率。
感谢您分享这个令人敬畏的教程
嘿..我完成了你所表现的东西。但我没有得到输出。在处理Windows中,雷达速度为零。它不会移动任何地方。你能帮我解决这个问题吗?
我得到了同样的问题
我没有意识到Processing代码需要在processing.org的下载中执行。除此之外,我儿子和我都非常喜欢这个建筑。谢谢你!
我很高兴听到这个!
同样在这里 !花了我一段时间来弄清楚是什么是处理IDE,但我已经完成了它,建立它真的很高兴!
你能使用无线电器材公司的超声波测距传感器吗?它有3个像你用的一样的别针
在这种情况下,您必须修改Arduino代码。
德州,
感谢您分享这些教程。这个雷达项目对学习Arduino和加工IDE非常有帮助。现在我的雷达升起并运行,时间来解决TFT触控护盾!再次感谢哥们。
是的,谢谢!我很高兴听到这个!
先生,你好。伟大的项目。我有一个问题。有一种方法可以在函数drawobject()中制作线条,喜欢点?我的意思是,可以将红线切割到初始距离,而不是继续落后?
这样的东西:
https://i.ytimg.com/vi/wnn1ctoueim/maxresdefault.jpg.
谢谢
是的,这是可能的。你必须修改这部分代码,而不是使用line(),而是使用椭圆(a, b, c,d)。a,b -椭圆的x,y坐标,c,d -椭圆的宽度和高度。
伟大的项目。用Arduino Uno使用它。很酷!
谢谢!
嘿..我跟随你的步骤并完成了这个项目。在上传arduino上的草图后,我会在串行监视器上输出,但我无法在处理IDE上获取任何输出。雷达粘贴到一个固定点(零),它不会与电机同步移动。任何解决方案?
你收到任何错误消息吗?
根本没有错误消息。雷达屏幕显示,但一切仍然仍然,即使设置正常工作,雷达中也不显示任何移动。
我还有一个问题。我使用arduino uno r3板,所以有没有可能这可能是它不工作的原因。我交叉检查了每一个连接,现在伺服也不动了。
伺服开始移动。因此,它是我为传感器制造的支持的怀疑,因为它没有移动。此外,我也没有使用面包板进行连接。伺服电缆连接到Arduino的5V引脚,传感器连接到9V电池。
我不明白我必须进入Arduino IDE以及我必须投入的东西
好吧,我认为这很好说:
第一个代码适用于Arduino IDE,它被说明了!最后一个代码是工作处理IDE,它被说明了!
嗨,我需要你的帮助。如果我想添加一些主动蜂鸣器和LED到你的代码,我试过一次,伺服转向真的很慢。你能教我代码,我可以加蜂鸣器和LED吗?
看起来arduino的问题已经解决了,现在我可以正常工作了。现在的问题在于处理过程。如果我使用你的代码,它是很好的处理绘制声纳,但当我添加蜂鸣器和LED处理不会绘制声纳
先生
代码在我的macbook pro上不起作用
由于某些端口不可用的错误
请给我一个解决方案
尝试这样定义端口:/dev/tty.usbmodem或/dev/tty.usbserial
谢谢你,先生
而不是刚刚改变你所说的端口名称,而是它不起作用
然后我使用的列表
println (Serial.list ());
serialport = new serial(此,serial.list()[4],9600);
现在工作
太棒了!
德州,
一个非常好的项目。
我一直在一个美好的时光,从而全力以赴,学习一些“加工”的一些细节。
做得好!
我注意到,当停止和启动“Processing”时,串行通信有时会失败。如果接收到部分消息且结果字符串长度为0,则字符串处理可能会出现问题。
我修改了代码,这样它就可以在"之前查找至少4个字符的字符串。”(即15 0)。
...
data = myport.readstringuntil('。');
if(data.length()> 4){//检查是否有足够的字符(即min“15,0。”)
...
现有代码
...
}
}
这似乎使串行链接更加可靠。
还有许多其他方式处理异常,但这很简单
干杯
商务部
这是一个很好的评论!遇到这种问题的人会发现这条评论有用。
谢谢!
运行arduino代码后,我得到以下消息:
C:\ Users \ user \ documents \ arduino \ libraries \ sketch_jan09a \ sketch_jan09a.ino:2:19:警告:#include指令结尾的额外令牌[默认情况下]
#包括 。
^
素描使用6,138字节(2%)的程序存储空间。最大是253,952个字节。
全局变量使用348字节(4%)的动态内存,为局部变量留下7,844个字节。最大是8,192字节。
在c:\ users \ user \ documents \ arduino \ libraries \ sketch_jan09a:c:\ user \ user \ documents \ arduino \ libraries \ sketch_jan09a
在c:\ users \ user \ documents \ arduino \ libraries \ sketch_jan09a:c:\ user \ user \ documents \ arduino \ libraries \ sketch_jan09a
你应该得到那种错误。再试一次,你是否正确将正确的代码复制到正确的位置?
嗨,是否可以使用USB作为串行端口,并重写代码?在编码时,我是漂亮的业余爱好者。
USB的意思是什么?你想要什么样的改变?
SIR ..我有一个问题,它是“java.awt.event.keyEvent;它不存在。你可能错过了一个图书馆..
该库是Processing IDE的默认库,所以您不会错过它。使用最新版本的Processing IDE再试一次。
再会。这里有一些错误是怎么做的?
Sketch_Jan10B:12:错误:'Import'不命名为类型
导入java.awt.Event.keyEvent;//导入库从串行端口读取数据
^
Sketch_Jan10B:13:错误:'Import'不命名为类型
导入java.io.ioException;
^
sketch_jan10b:14:错误:' Serial '没有命名类型
串行MyPort;//定义对象序列
^
Sketch_Jan10B:24:错误:'pfont'不命名为类型
Pfont Orcfont;
我不知道为什么会发生这些错误。您可能正在做错事,再次重试与所描述的完全相同的过程,其中包含两个软件的最新版本。
先生,我新arduino和之后的地面测量许多视频和网站我决定选择你的项目虽然我感到满意和非常退出,自己做一个,我做到了bt我面临的问题是一切工作大只出现在屏幕上的雷达不动和功能请先生帮我
给我一些关于你的问题的细节。它可以是任何东西。您是否正确将Arduino草图上传到Arduino,检查它是否与串行显示器正常工作。此外,您是否使用了在帖子底部的处理IDE代码的更新版本。
谢谢你的关心,正如你所说的,它真的帮助了我检查,我只是再次开始从一开始,使用新的加工草图,现在它正在工作,谢谢你,先生
这也发生在我身上。但是当我运行处理代码几次时,它开始正常工作了。可能是软件冻结了。
尊敬的先生,
我的传感器以任何方式显示“0”距离。
由于零读数,雷达显示出红色
你能找到问题吗?
也许你的传感器无法正常工作。检查超声波传感器的特定教程,并查看传感器是否使用该代码。
非常感谢您分享您的项目!井井有条!
对不起,你能告诉我如何用这个相同的例子打开一个代码来打开一个代码,而是打开你想要的任何距离???
你能帮我吗????
你可以做到这一点。检查我的Arduino并处理IDE教程。
好的,但如果我不想使用处理只是伺服和传感器打开领导,你可以帮我做一个代码吗?
您好,我想尝试一下学校项目,但我想知道这是否适用于Arduino Yun?
是的,如果微控制器是ATMEGA32U4,并且Arduino Yun的销是5V。因为如果3.3V为3.3V,则可能对超声波传感器有问题,因为它在5V时工作。
我尝试了一些东西,但是当我试图上传第一个代码时,我收到以下错误:
Arduino: 1.6.6 (Mac OS X), Board:“Arduino/Genuino Uno”
/ Users / Usernwe / Schoolwerk / HKU /如果这是第1 / Code1 / Code1.ino:2:19:警告:#include指令结束时的额外令牌[默认情况下]
#包括 。
^
Sketch使用了5,136字节(15%)的程序存储空间。最大长度为32256字节。
全局变量使用237字节(11%)的动态内存,为局部变量留下1,811个字节。最大值是2,048字节。
avrdude: ser_open():不能打开设备“COM1”:没有这样的文件或目录
ioctl(“TIOCMGET”):不适合设备的ioctl
没关系其他评论,我想出来,一切都正常工作!谢谢你提出这个精彩的教程!
当我尝试copilet时,出现了这个问题“Error opening serial portCOM4:port not found”,你知道是什么问题吗?
欧内斯托,我们有同样的问题。我们正在使用MAC电脑。现在我们将在Windows电脑上进行尝试。如果有用我会告诉你的。
在我们的系统上,它结果是COM3。然后工作。
先生,我需要一个led灯或蜂鸣器,当有物体进入射程时,你能告诉我怎么做吗?
它可以完成,但很抱歉我不能进行自定义代码。本教程和我的所有其他教程都在这里帮助您了解Arduino和一些编码,因此您可以实现为自己的项目制作自己代码所需的级别。
嗨伴侣!
您必须为您的电路添加压电
选择一个你选择的引脚连接它
然后将这些行添加到您的代码中
const int piezopin = 8;
int notes [] = {262,462,862,1662,3262};//在这里输入您喜欢的笔记
每当您想要发出噪音时,请致电此功能
void beep(){
if(距离> 40){
notone(piezopin);
延迟(10);
notone(piezopin);
延迟(30);
}
否则if(距离30){
口气(压脂,注意[1]);
延迟(10);
notone(piezopin);
延迟(30);
}
Else if(距离20){
音调(压浮蛋白,注意[2]);
延迟(10);
notone(piezopin);
延迟(30);
}
否则if(距离10){
音调(压脂,笔记[3]);
延迟(10);
notone(piezopin);
延迟(30);
}
别的 {
音调(压脂,注意[4]);
延迟(10);
notone(piezopin);
延迟(30);
}
}
我希望这能帮到您
当我由于特定符号而发布时,我刚刚看到代码更改
你可以在这里找到代码
https://drive.google.com/open?id=0b7thj0y_jjnrmxhfn1k0yf5sta.
先生,我想增加霍尔传感器,如果物体是磁性材料,可以检测磁场,当物体进入射程时,请告诉我怎么做?
我希望超声波传感器覆盖10MTS或以上10米的范围,因此请提供传感器的细节,以便覆盖10MTS范围,以及我们必须在Arduino Board遮盖上建立连接的布局为了你的回复和感谢看见
嗨,我的小沟乔丹。
昨天我在建造雷达时,我在编码部分中有点混淆。我认为您的意思是复制Arduino代码并放在Arduino编码位置并将其上传在电路板上,然后复制并粘贴处理代码并执行相同的操作。但我有一个小问题。当我想上传处理的代码时,我会收到关于“MyPort = New Serial(这,”Com4“,9600)的这个错误;”在这个地方,我得到了问题。它说:错误打开串行端口COM4:未找到端口?
Dejan请帮助我,我真的需要在一周内完成这个项目!!谢谢您的关注,先生
您应该根据您的Arduino连接到您的PC,更改COM端口的名称。
爵士爵士,我确实意识到COM在5中。但我现在确实改变了4个。但是发生了同样的事情就好像我没事......爵士的问题是什么问题?
嗨Dejan。在将处理器上传到电路板时,我收到此错误“无法加载字体ocraexted-30.vlw。确保字体已被复制到草图的数据文件夹“意味着先生,谢谢。
在评论中已经有一个问题的答案。
先生,你好…
你能分享如何改变雷达距离,我想改变1米......
在您的项目中使用40厘米。
谢谢你,先生。
你好
我使用了SRF05.
如何将检测距离增加到3℃???
留心
在Ardunio Uno有什么需要改变的吗?或者我们需要遵循的相同的程序,有引脚变化或程序变化吗?
先感谢您 ..
一样的。
Hey Dejan sir, nice project i was so excited to do and i started doing it but once i compiled code in both ardunio and proc it don’t gave error, but my servo doesn’t move once ardunio is compiled and once if i compile proc then it opens the Graph and that too moving can u fix it out.
谢谢你的精彩份额。
我试图将引脚更改为8 9和10在我的uno中,但程序相同,那么它应该创建错误,但虽然没有错误,但没有移动。请帮助解决我的问题。
先生…
如果更改距离的代码?
我找了,但没找到。你能告诉我需要更改的代码在哪里吗?
我需要你的建议
感谢您的关注
我如何连接到电视?
先生,你好!
我们随后在学校进行测试,我们非常享受。但是,当我们尝试自己时,我们可以将所有程序与代码一起工作,并将代码进入Arduino Mega,但伺服电机变得非常缓慢,传感器不像它一样工作。处理屏幕只是显示红色,但与伺服相同的速度。你有什么建议吗?
谢谢你的答案!
确保您的伺服电机正常使用不同的代码适用于伺服器,并确保您的超声波传感器正常工作(您可以通过针对特定主题的教程代码检查。至于伺服电机,您也可以尝试通过更改伺服循环中的Arduino代码中的延迟时间来更改旋转速度。至于处理IDE部件,请确保使用帖子底部的代码的最后一个(最新)更新版本。
在职的!非常酷!!!非常感谢!!!
太棒了!很高兴听到这个消息!
可以有些人可以提及上述图书馆的下载链接。谢谢你!图书馆不可用。
您不需要此项目的任何额外库。只需确保您拥有最新版本的Arduino IDE和处理IDE。
处理IDE无法正常工作。我认为屏幕分辨率可能存在问题。我修改了分辨率,但仍然处理不起作用。arduino代码没有问题。处理代码出现问题。你能澄清一下吗?
谢谢
漂亮的指南!自己制作一个,它完美地工作。但是,在Linux中,您将定期从Tyyacm端口获取NullPointExceptions。只要你抛弃异常并让它继续,这不是一个问题,在你当前的版本中它没有。Simplest fix is to surround your serialEvent() function with a trycatch should make it skip less in windows as well.
太棒了!很高兴听到这个消息!
你好Dejan我有一个雷达半屏幕可能是我需要帮助的问题
这个问题已经在前面的评论中得到了回答。
我在处理程序=> com3端口时出错
嗨,呵呵,首先,我不得不说我看到你的其他项目,我很高兴看到我们在我们附近也有成功的Arduino开发人员bet188me。.现在我必须问你一些事情:我需要改变测量距离,使用最多6m的最大范围.PDE代码我需要修改的一部分(我知道我必须修改PIXSdistance但不知道如何)。我希望你能帮助我。
祝你的项目顺利bet188me
谢谢!
这是范围的重点:
“PIXSDISTANCE = IVISTANCE *((高度 - 高度* 0.1666)* 0.025);//覆盖从cm到像素的传感器的距离“
该行对应于40cm范围。“Invistance”是从CM的传感器的距离,“(高度 - 高度* 0.1666)”是根据屏幕分辨率的雷达的大小,这两种东西不需要变化。根据您的愿望范围,您需要更改的是“0.025”系数。
让我们说你想要2米的范围,比40厘米更大5倍,所以在这种情况下,系数将是0.025 / 5 = 0.05。
告诉我这对你是否有效。
谢谢很多伴侣!这实际上是我已经根据所需内容改变传感器的距离,但我需要大量修改声纳的界面来匹配距离
先生做得很好!
听到这个我很高兴!
你好,先生,你好,谢谢这个了不起的项目,我喜欢。但我没有经验,我想问你一件事,我上传arduino代码,它很好,上传,但在处理我得到错误:
无法加载字体ocraextened-30.vlw。确保字体已复制到草图的数据文件夹
此问题已在下面的评论中得到回答。
SIR我的处理显示一条消息无法加载字体OCraexted-30.vlw。确保已将字体复制到草图的数据文件夹中。那是什么意思?
浏览一下评论,你会找到答案的。
问候先生。
我之前已复制并粘贴了处理IDE的代码,如前所述,但我无法获取每个代码之前显示的任何背景。
对于样本,我尝试了您给生成弧的程序(第一个处理IDE程序)。
但我在播放时我没有得到任何展示。
arduino是否有必要连接到处理IDE中的显示器?
当然,首先,您需要上传Arduino草图并拥有连接的所有内容,然后运行处理程序。
对不起,我想问..
这个项目可以使用arduino uno吗?
是的,您可以使用Arduino Uno。
你好,谢谢你的努力,我只是想问,如果我必须实现雷达,但与电磁波,我怎么可以??
那将是一个完全不同的项目,我看不到我如何帮助你。
太长的程序,不起作用,浪费时间,虚假程序员
阅读本教程的其他评论,您将看到大多数人都有设施才能完成工作。所以该计划正在运作,问题必须与您同在,你可能会做错了什么。
先生,你好…!!
我想尝试你的项目,但我有一个问题,我可以使用两个超声波传感器,而不是一个在360度达到我的雷达?
可以这样做,但需要修改Arduino和Processing源代码。
谢谢你的回复先生,你能指导我有点修改。
我会非常感谢你。
void drawobject(){
Pushmatrix();
翻译(960、1000);//将启动协调员移动到新位置
中风(9);
中风(255、10、10);/ /红色
PIXSDISTANCE = IVISTANCE * 22.5;//覆盖从cm到像素的传感器的距离
//限制范围为40 CMS
if(Idistance <40){
//根据角度和距离绘制物体
线(pixsDistance * cos(弧度(iAngle)), -pixsDistance *罪(弧度(iAngle)) 950 * cos(弧度(iAngle)) -950 * sin(弧度(iAngle)));
}
popmatrix();
}
我在将所有代码中复制到Arduino IDE之前,它在验证代码时提供以下错误。
错误= " pushMatrix未在此范围内声明"
请帮忙。
感谢这个项目,它对我有用,再次感谢,这是视频https://youtu.be/n9fxtwbmwck.
太酷了!我很高兴看到这一点。
嗨,如果我想让雷达“全屏”我怎么做?谢谢你!
素描>礼物
pushMetrix()和popMetrix()在这个程序中没有声明。
确保这些功能是否应该被声明。
先生,你好,
虽然我正在尝试运行处理代码,但处理窗口获取挂起,并且显示了这些错误。
无法运行草图(目标VM无法初始化)。
有关更多信息,请阅读Revision.txt和帮助?故障排除。
你能帮我解决这个错误吗?
您应该根据您的Arduino连接到您的PC,更改COM端口的名称。
如何结束“导入不命名类型”的问题
你好,先生,做这个项目很有趣。
但是,你能告诉我如何增加雷达的范围超过40厘米。
这里给出的项目的范围是40 CMS。
好心的。
这个问题已经在评论部分得到了回答。
任何人都可以通过向这个程序添加Hall Sensor来告诉所述代码吗?
嗨,如果我想添加弧线我该怎么办?谢谢
您可以在官方网站上找到更多的处理IDE绘图功能信息。
导入处理。*;//导入串行通信库
导入java.awt.Event.keyEvent;//导入库从串行端口读取数据
导入java.io.ioException;
她的arduino显示错误消息“导入”不会命名类型
你误解了这个项目的概念。
Arduino代码需要上传到Arduino IDE。然后,处理IDE代码需要从处理IDE中“运行”,而不是Arduino IDE。
坦克现在我得到它
SIR我的处理显示一条消息无法加载字体OCraexted-30.vlw。确保已将字体复制到草图的数据文件夹中。那是什么意思?我在这个领域的新东西可以帮助我
即时使用Processing 3.0
没有行出现在显示,现在没有错误显示在处理
任何Arduino董事会都将工作?甚至mini pro ???
是的。
谢谢,如果我使用Pro Mini,我必须更改您所做的任何源代码吗?
你好…。
我在处理中的控制台窗口没有显示......无论我按运行多少次......我该怎么办?
提供一些关于问题的信息。我不能说什么只是悲伤。
我已经复制了Arduino的2个程序和给定的处理......但是在将Arduino UNO连接到我的笔记本电脑并运行CONSOLE窗口时未出现......程序在Arduino上传,连接是精细......我在串行监视器上得到了输出......我是一个初学者,所以我不确定我错了..
谢谢你的代码,它很好地工作。我们是否可以使用实验室视图来接口这个Anrduino和处理
你好先生! !
有错误打开串行portcom3:端口很忙
出现了空白窗口。我应该怎么办 ??
浏览一下评论,你会找到答案的。
如果给定的处理代码可以在处理3.0.2 ......。必须在运行代码后没有得到任何输出,因为或者在上传Arduino代码之前/之后需要采取任何其他步骤运行处理代码
先生,我没有在ide处理的屏幕上得到任何输出,它没有显示任何东西
你能告诉我是否需要在PC中需要任何其他Java软件安装???
java.lang.nullpointerexception我收到了这个错误
您可以尝试评论第31和36号线;这可能是字体问题引起的
你太棒了,伙计
我可以使用直流电机而不是伺服电机。
当然,但您必须修改原理图和代码。
如何使处理代码绘制更多的范围超过40?我不能正确地制作它(展示它会很高兴,如何使其显示60厘米等)
此问题已在下面的评论中得到回答。
你好主席先生,当我上传我的arudino uno代码进入arduino软件程序时上传,但我的伺服电机没有旋转为什么先生。
重新检查你的连接。确保您已正确连接的所有内容,引脚与代码相匹配。
我们已经逐字逐句地使用了你们的代码,甚至解决了字体和屏幕分辨率的错误。但最终我们面临着一个问题。当我们断开传感器时,绿线显示,但当我们连接传感器时,绿线消失,只有红线可见。传感器没有检测到任何东西,因为距离总是0,但红线从15-165度移动。我们认为传感器有问题,所以我们改变了它,但没有帮助。所以请帮助。
你是否在传感器的Arduino串行监视器中获得正确的值,否则它是0的0?
在串行监视器中,我们得到15,0.16,0.17,0.18等。所以我猜距离总是零。这是什么意思?我们如何解决这个问题?
谢谢
检查我的超声波传感器教程,看看那个是否有效。如果可能没有您的传感器无法正常工作。
是的,我们的传感器无法正常工作。更换后,该项目立即正常工作。非常感谢!
很高兴听到这个消息!
先生,你好,
如何使用此代码为最近的对象驱动我的机器人?
我有最近的物体角度和距离,但我不知道如何控制这个位置的电机
好吧,它取决于电机,检查一些关于电机的教程。
我尝试使用这个代码,但它的下半部分是Javascript,而不是c++或任何其他兼容的代码,所以它不会与我的Arduino工作。我该如何解决这个问题?
嗨SIR,如何通过Arduino Uno代码连接处理代码。
我们可以使用Arduino Uno吗?
是的你可以。
你好
我需要这个范围是1米,在处理代码中必须配置为具有该范围?
此问题已在下面的评论中得到回答。
亲爱的呵呵
非常感谢您的伟大的Projet,所以要使它有效我改变了:
“COM4”到“COM12”在POCESSING代码中。
“OCRAExtended-30。OCRAExtended-48 vlw“就”。它已经存在于我的电脑中。
并且由于我不是具有IDE处理的父亲,我仍然尝试改变决议,以便(1920,1080)屏幕来到我猜的,以便使其与自己的1280 * 1024兼容。
如果可以帮助我这会很棒。
谢谢
帖子底部有另一个代码,用于自定义分辨率。
非常感谢你的项目。
我们和儿子有很多乐趣!
很高兴听到这个消息!
Hello SIR,对于更新的显示代码,我得到了一个错误的错误:
退出状态1.
'Import'不会命名类型
此错误是此代码“导入java.io.ioexception;”
你正在搞砸了。您正在使用处理IDE中的Arduino代码。
我弄清楚了我做错了什么,这个项目正好运作。
我可以在液晶显示屏上集成显示吗?
我有Arduino Mega2560的3.2 ' TFTLCD Shield。
另外,你对这个液晶显示器的代码和引脚连接有什么建议吗?
它可能会完成,但您需要创建自己的代码,这不是那么简单的代码。
你好
我应该使用迷你伺服来实现这个procect吗?如果我使用更大的伺服,我是否需要修改代码中的任何内容?
好吧,这取决于伺服是否与矿井相同的方式驱动。
您好爵士,我们如何使用笔记本电脑屏幕连接超声波传感器?我应该修改哪个代码?
通过Arduino,串行通信和处理IDE。
爵士爵士,我仍然弄脏了这一步..请你详细展示我吗?我还有新的arduino ..
爵士,或者也许你只需给我arduino代码的线条用笔记本电脑屏幕连接超声波传感器..谢谢
你好德州,
谢谢你的伟大项目!
我对显示有一个问题。单击“处理”运行按钮后,我的显示只显示扫描雷达的部分屏幕。更改显示分辨率不会解决问题。我也改为不同的字体。请帮忙。
提前致谢。
您是否在文章的底部使用了更新的代码?
谢谢您的回复,
是的,我在文章底部使用了更新的代码。如指示,我按照我的显示设置的推荐将大小()更改为1600 x 900。
我使用ubuntu先生,我有这个处理代码的问题。它说端口错误!!
帮助!!
嗯,应该修改用于定义端口的线。每个操作系统都需要不同的定义。
嗨,我的女儿即将与她的周末科学集团(所有12岁)进行这个项目。
我只是想说代码和视频以及解释很棒,我认为这将是他们的一个很好的项目。
我也将用它来介绍弧度的概念,作为侧面笔记。
非常感谢您的所有努力和解释和教程。一个真正鼓舞人心的网站。
我很高兴听到这个,谢谢!
我的女儿已经完成了这个项目,而且第一次就成功了!
优秀。
(没有使用更新的代码版本,只是原始版本)。
多谢了。
很棒,我很高兴听到这个!
先生,你好,
我有问题的问题。上次我使用这个应用程序一切运行。现在雷达的绘图破裂了。我无法附上一张图片来向你展示正在发生的事情。当我打开处理时,雷达显得常规,但它不会扫描近乎环境。它只是从中心绘制一个粗体红线到扫描的开始程度。
您可能会遇到超声波传感器不能给出正确的值的问题。首先通过Arduino串行监视器检查它们。
The sensor is working , the servo-motor is working
我试图用销10和11改变传感器的测试程序中的销,传感器工作。你知道另一个像处理的软件吗?
我做了......谢谢这项指导
伟大,玩得开心!
非常酷的项目!谢谢分享!在我修复了字体的问题后工作得很好。
谢谢,很高兴听到它为你工作!
嗨Dejan,
感谢您提供此项目,它非常令人印象深刻。我们将其带到了一群大约60名学生,他们制作了它。所有结果都印象非常深刻。
我在电脑上做过,效果很好。在学生的笔记本电脑上,有许多不同的设置,屏幕分辨率和操作系统,我们有一些问题。最主要的是决心。即使使用你的最后代码为所有屏幕分辨率,并改变“大小(1920,1080);线与各自的屏幕分辨率没有改变雷达图的大小。我们只能看到雷达的左上角,与基地和角度-距离屏幕。这主要发生在较低的屏幕分辨率,大约1360,768。我想其他反馈也提到了这一点,我正在尝试对我的电脑进行故障排除,但如果你能帮助我,那就太好了。
在编译Arduino代码时,其他人正在获得错误消息,我认为它可以与他们的防病毒软件相关联,因为它们会得到它的提示。无论如何,我们将通过这个。
再次感谢分享这个代码,让孩子们非常开心!
你好,我们又见面了,
解决问题已解决。我想我已经使用过以前的代码版本,我看一下所有图形都适用于大小()函数的宽度和高度。
谢谢!
很棒,我很高兴听到它为你工作,学生们享受了乐趣。
朋友你好!伟大的设计!
代码将如何在TFT LCD屏幕3.2上显示这一点“?
谢谢
谢谢。好吧,我没有这样的代码,但它可能是可以完成的。
嘿德国。伟大的指导。在我的一个孩子的帮助下,这是一个makee的演示..
https://youtu.be/ny7O03J-pRE
谢谢!这是真正伟大的。
伟大的项目!然而,我确实在下载屏幕处理草图时遇到了问题。你知道为什么吗?谢谢。
谢谢!不应该有任何问题。你有什么问题?
你好
我使用arduino真的很新。我看到你给我们的代码有6个部分。我怎么搞混了?
谢谢
有一个Arduino代码和一个Processing IDE代码。每件事在帖子中都说得很好,其中哪些地方需要使用它。
有办法用三针超声波传感器做到这一点吗?或者,如果没有,第四个针是干什么用的?
嗯,带3个引脚的一个有点不同的模块,但它可以用于同一项目。您只需要适当修改代码。
嗨Dejan我想知道你是如何设置屏幕的和如何连接它,以便在您可以解释我的情况下进行绿色雷达线,谢谢我已经滚动了其他评论...
jonny.
你好呀。一切都在文章中解释了,我看不出我还能说什么......
嗨Dejan感谢您的快速回复,我正在尝试编译代码,但我收到错误,你能给我发一封最新代码的链接谢谢!
jonny.
嗨dejan我得到的错误消息是“导入”不命名一个类型我该怎么办?谢谢!
嘿,伟大的项目!!!
但我想知道我们如何使它旋转360度,因为伺服可以旋转高达190度。我们可以提供无线雷达配置,使其旋转360度或相当于360辐射图案的传感器?
请帮帮我!
谢谢你
谢谢!
当然,一切都是可能的,但我没有看到我如何帮助你。
嗨,我面临的一个基本疑惑,如果我在这里是一个愚蠢的话,请原谅我。
从数据中测量的角度如何?考虑超声波传感器仅返回到对象的距离。
角度取决于伺服电机的角度。
你好,德扬
我可以在哪里下载雷达显示器的库?
Ioexepition库
KeyEvent图书馆
谢谢您的帮助
对于这个项目,您不需要任何外部库。它使用Arduino和处理IDE默认库。
你好,
真的有用的教程。
我正在遇到真正嘈杂的HC-SR04数据。我想知道你是否经历过那个,如果是这样,你是怎么解决的。或者您对可能存在的问题有任何建议。
谢谢!HC-SR04传感器日期我没有任何问题,它效果很好,稳定。我不能说什么,它可能是一个有缺陷的传感器。
先生,我们如何使用Arduino +蓝牙模块向Priossing发送数据,谢谢
看看我的Arduino蓝牙教程,它可能会有所帮助。
嗨Dejan,
伟大的项目。即使我已经跟着并完成了它。一切正常正常,但我面临的问题是我的伺服电机越热,1或2次旋转,它停止旋转,然后它不会旋转,直到它不会冷却。可能是第二天它开始工作,然后在2次收获后再次加热并停止。
我想问你那个衡量的距离,我希望它上传到我的云,所以我可以这样做吗?你能帮我吗?请。!
你好,
嗯,你可能有一个有缺陷的伺服电机。
确定您可以存储测量值,但我没有关于将它们存储在云上的教程。如果将它们存储到MicroSD卡可以为您完成作业,您可以检查我的特定教程。
嗨,先生,谢谢你的伟大教程!但我有一个问题。它在处理IDE中说:“无法加载字体ocraexted-30.vlw。确保字体已复制到草图的数据文件夹。“请问你能帮我先生吗?
谢谢。请检查其他评论,此问题已得到解答。
先生,你好!
我出了点小问题。绿线和红线根本没有移动,角度一直显示为0°。请给我一些解决这个问题的指导!
感谢一个很酷的项目!
检查您的连接两次,您可能已连接错误。测试传感器是否使用超声波传感器的简单教程码。
绘制的线只有红色,它始终在范围内,距离未计算在绘图上,它为零。我做了另一个项目来测试坑,它有效。我应该接下来怎么样?
肯定是超声波传感器的问题,因为它给出的是零。仔细检查Arduino代码中定义的连接和pin码。
谢谢你,伙计,这是一个伟大的工作!!
它适用完美我只需要改变2件事来让它在Ubuntu上工作,这是其中之一:
我改变这个:
MyPort = New Serial(这,“Com4”,9600);
我的ubuntu系列:
MyPort = New Serial(这个,“/ dev / ttyusb0”,9600);
字体也是:
myFont = createFont(" Georgia ", 32);
但是,我改变了屏幕分辨率,void拉拉多尔的绘制比线条更小。
如何修复屏幕分辨率以匹配?尺寸(1100,880);
谢谢你这个伟大的教程,我真的很感激!
您是否使用正确的处理IDE代码,更新到每个屏幕分辨率上的工作,在帖子底部。如果您使用的是,您只需设置屏幕分辨率,并且所有其他图纸都将根据设置分辨率进行调整。
嗨dejan !!你能告诉我如何使用步进电机而不是使用伺服电机的类似雷达???
你好呀。嗯,您必须使用步进电机更换伺服电机,并根据电机和驱动程序修改代码。
这是通过使用步进电机的雷达是正确的还是不正确的代码: -
//包含必需的库
#include //步进库
#include // Library For SONAR
AF_STEPPER雷达(200,2);//端口号和步骤/革命的步进配置
#define ping_pin 12 // Arduino引脚12连接到HC-SR04的Ping引脚
纽平声纳(Ping_pin,ping_pin);//传感器配置
unsigned int距离1;//存储感测距离的变量
unsigned int distance2;
void setup()
{
Serial.Begin(9600);//初始化9600bps的序列通信
Radar.setspeed(20);//配置步进rpm
}
void循环()
{
For (int I = 0;我= 0;我)
{
Radar.step(1,落后,单);
延迟(5);
距离2 = sonar.ping()/ us_roundtrip_cm;
延迟(5);
serial.print(i * 1.8);
serial.print(“,”);
serial.print(距离2);
serial.print(“。”);
}
嗨。我做了这个项目。这是成功的。但是,我有一个问题。我需要用蓝牙做。你可以帮帮我吗?
那太棒了。好吧,检查我的Arduino蓝牙教程,了解蓝牙通信的工作方式并制作项目。
漂亮的教程!我想知道是否有可能在没有连接到计算机的情况下操作设备?
谢谢。嗯,你不需要运行处理IDE,你需要一个显示器来显示它。
我把它设置为.....谢谢分享,兄弟!!
太好了,我很高兴听你这么说!
嘿,我真的很喜欢你拥有的这个项目,但是我有,就是为初学者屏幕出于某种原因不合适,但我的主要问题是当我运行程序时,红线没有向我出现。其他一切都在运行正常,绿线正在移动,但是当我在传感器前面放置时,没有出现红线。你知道如何解决这个问题吗?谢谢您的帮助
确保您使用的是正确的、更新的处理IDE代码,它可以适应任何屏幕分辨率。
先生
如何将此项目连接到三星屏幕???
它是台式PC显示器。
我正在使用Arduino Nano,但服务器电机的速度非常慢。Pliz建议我。
尝试减少延迟时间。
你很棒的兄弟!我现在一个月正在寻找这个项目。我稍后会尝试测试这个,非常感谢!
谢谢!玩得开心!
有用!!在最新处理IDE(3.2.3)中刚刚替换为“48”(在ORCFONT系列中)并调整屏幕尺寸。
那很棒,玩得开心!
我可以用液晶触摸屏2.8或3.2英寸制作雷达屏幕吗?如果答案是肯定的,则可以使用LCD屏幕(处理代码)给代码吗?非常感谢兄弟!
这是这个项目的另一种方法。你需要编程Arduino在LCD上显示雷达,你不需要处理代码。但我没有这样的密码。
谢谢你分享先生。我试过它,对我来说非常有用。非常满意。非常感谢。
伟大,玩得开心!
你好,很抱歉打扰你。我可以用arduino uno r3代替arduino mega 2560吗?
是的,肯定可以。
你可以用覆盆子pi做同一个项目吗?
谢谢兄弟一切顺利。我很感谢您与我们分享这个项目。
我需要为我的项目中最良好的精度,但此代码(处理代码)不是很精确。Arduino和Sonar正在运行良好,发送到串口的正确距离。处理IDE正在接收正确的距离,但雷达显示的结果不是!在“距离”附近显示的值是正确的,但红线错误3,有时4厘米。此外,从0点和10cm的段比10-20,20-30和30-40之间的段大得多。我还修改了处理代码以在一定距离(例如10cm)处仅显示红线,以便在从串行端口读取10cm时的红色线路恰好是多少,并且红线约为7 / 8cm(所以它在10cm段之前开始)。与20cm或任何其他距离相同。
这是真的,考虑到这个项目中使用的廉价电子元件以及处理IDE中的编码,这项项目并不准确。必威lol这一点是使其尽可能简单,因此每个人都可以轻松理解它并自己制作它,并确保任何要改进的项目都有空间。
SIR,我如何运行该图形代码?哪种软件用于雷达图形显示?
使用处理IDE进行图形。
用于该项目的超声波传感器是HC-SR04。我读了它的数据表。传感器范围高达400厘米。那么为什么这段代码只能得到40厘米。如果我们认为其测量效率比理想的效率小,那么它也可以衡量到100cm的最小。如果我希望输出为400cm或100cm,则需要哪些代码更改。
是的,您可以更改范围,我已经提出了如何在以前的评论中执行此操作。从2016年2月19日起我的评论。
什么是传感器检测?金属,物体,塑料?
任何能反射声音的东西。
您好,谢谢您的这个项目,真的很好
我有个问题,但除此之外一切都很好
问题是伺服电机旋转不平稳,我总是要推它,强迫它旋转,它不能自己旋转
你能帮助我吗?
似乎你的Arduino没有足够的电力运行伺服电机平稳(虽然这不应该发生)或你的伺服电机可能有故障。
谢谢
电机是我想的问题
你好!
你能解释距离使用的公式吗?
距离=持续时间* 0.034 / 2;
如果你可以请你怎么样?
我德詹,
刚刚完成建立雷达程序。伟大的工作!喜欢它。只有字体和端口的问题。感谢您与我们分享。
很高兴听到这个消息!
你是如何解决字体和港口问题的?
检查一些其他评论。
太谢谢你了,伙计!这个项目肯定有效。编码是没有错误的。不过,这里只做了一个小小的修改。您在处理IDE中使用的字体需要首先移动到sketch文件夹中,您似乎跳过了提到这一部分。
除此之外,这个确实是一个令人敬畏的项目。
干杯
我很高兴你觉得很有趣。谢谢!
Arduino Uno R3正在用吗?
是的,肯定。
嗨Dejan,
我有时能让程序正常工作,但不是每次都这样。传感器通常会在80到90度左右的摆回(165到15度)上犹豫,然后在70到80度左右的摆前(15到165度)上犹豫。知道它为什么在摆动时前后摇摆吗?奇怪的是,有时它根本不会犹豫,但大多数时候它会。任何帮助都将不胜感激。
先生,
是否有不同的aurdino代码
这是相同的代码。
我能用arduino这个吗?
是的,您可以使用任何Arduino Board进行该项目。
你好,我想问一下,我能不能把声纳显示在手机之类的东西上,可以吗?
这是可能的,但您必须为您的手机提供合适的应用程序。我已经有一个关于如何使用MIT应用程序发明家制作自己的自定义Android应用程序的教程,因此您可以查看它并在那里查找更多详细信息。
你能给我链接吗?我找不到抱歉
嗨,我只是想问我如何匹配声纳中检测到的对象的距离,因为我已经将传感器变为1米的距离,声纳给出的距离与传感器检测的距离相匹配
是否可以使用处理代码使它360,它是否可以与现有的arduino代码一起工作?
伺服电机只能旋转180度。您需要不同的电机,因此arduino和处理所以不同的代码。但肯定的是,可以做到这一点。
德国,该项目非常出色。代码所有工作以及指示和教程都是优秀的。我唯一的麻烦在发现如何清除处理中的字体错误,但快速的谷歌搜索教会了我如何创建字体。这是一个很棒的项目!
伟大的网站,伟大的项目,感谢你让一切变得有趣和容易。
我只是想问一下,是否可以调整用于测量接近对象的速度的代码。我将扫描角度降低到60度,如果物体越来越接近传感器,我希望看到屏幕上的速度。让我开始的任何提示?
提前致谢。
谢谢。这听起来像一个不错的项目想法,你可能会使它与这个或类似的传感器和设置。比较物体在某一特定时期内所接近的距离。
您能发布代码所需的库吗?
对于这个项目,您不需要任何外部库。伺服库包含在Arduino IDE的安装中。
对不起,我发现了。但也在最新的“完整源代码”位,没有#include,我迷茫,我已经写了一半的代码,标题为红色字母。帮助!
真的很酷的项目!而且,只有最小的烂摊子,我很容易拉开。我只在3天前买了一个Arduino(Uno R3 +)。我经历了我买的起动器具套件中的所有教程,然后购买了其他一些东西来加入它(屏蔽,传感器等)。
我非常感谢设置和处理处理的教程。之前我不知道这一点,但现在可以把它添加到我的学习中。谢谢!
我很高兴听到这个。谢谢!
如何更改雷达线,弧和对象检测线(红色)的颜色?
当然,您可以在处理代码中更改。
上帝保佑你,先生。你有一颗善良的心。谢谢秀多
工作很棒。非常好的项目。谢谢你!
真的很酷的教程!
我只是想知道是否有一种方法可以在3.1″TFT屏幕上使用GUI,你也做了一个教程?
谢谢!当然,Arduino一切都是可能的,但是,这将是为了提出适当的代码。您必须编写GUI以适应TFT屏幕。
我意识到我只是在合唱团中的另一个声音,但我觉得我不得不说它:这是一个令人愉快的异想天开的项目。我做了“只是因为”,这很有趣。谢谢!稍后,我学会了可能会让OT有用的东西。
我很高兴听到这个,谢谢!
嗨,我想为我的学校项目构建它。但我只是有一个星期。它可以轻松做吗?除了我对Arduino设备的零知识。我应该跟随步骤吗?或者您的网站有更多的解释吗?诚实我真的很困惑
嗨,如果您遵循视频中的所有步骤以及项目应该工作的文章。没有任何隐藏的东西,虽然你需要一点知识,以防你连接有问题,因为你会想知道正在进行的。如果您完成初学者,请查看我的其他初学者教程。
谢谢你建立一个很好的项目。我能够遵循和我的项目工作。我发现扫描的唯一问题不是很快。我厌倦了减小角度,最后看着增加了串行波特率,这些波特率不会产生快速扫描。串行监视器始终显示出非常相同的读取速度。因此,与视频相比,框架上的雷达线移动非常缓慢,距离更新缓慢。
谢谢!嗯尝试通过调整“用于”循环中的延迟时间来提高伺服速度来驱动伺服。
好工作,这是一个好主意,了解雷达如何工作。
嘿,你能在雷达的前向范围内估计粗略估计吗?
超声波传感器的最大范围为4米。