久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3799|回復: 0
打印 上一主題 下一主題
收起左側

超聲波雷達[LCD12864 和 Processing PC 顯示]

[復制鏈接]
跳轉到指定樓層
樓主
超聲波雷達[LCD12864 和 Processing PC 顯示]

Arduino-LCD12864 代碼:
//超聲波雷達
#include <Arduino.h>
#include "LCD12864RSPI.h"
#define AR_SIZE( a ) sizeof( a ) / sizeof( a[0] )
unsigned char show0[]={0xB3,0xAC,0xC9,0xF9,0xB2,0xA8,0xB2,0xE2, 0xBE,0xE0,0xC0,0xD7,0xB4,0xEF};
unsigned char show1[]={0xD7,0xAA,0xBD,0xC7};
unsigned char show2[]={0xBE,0xE0,0xC0,0xEB};
unsigned char show3[]={0xB6,0xC8};
unsigned char show4[]={0xC0,0xE5,0xC3,0xD7};
unsigned char show5[]={0xA3,0xBA};
#define TrigPin 2
#define EchoPin 4
#define PWM_pin 5
int pulsewidth = 0;   
int pos = 0;        
float Value_cm;
char jl[5];                                
char jd[3];
float temp =0;
int jdtemp =0;
void setup()
{
Serial.begin(9600);
pinMode(PWM_pin,OUTPUT);
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);
LCDA.Initialise();                     
delay(100);
LCDA.DisplayString(0,0,show0,AR_SIZE(show0));  
LCDA.DisplayString(1,0,show1,AR_SIZE(show1));  
LCDA.DisplayString(1,2,show5,AR_SIZE(show5));  
LCDA.DisplayString(2,0,show2,AR_SIZE(show2));
LCDA.DisplayString(2,2,show5,AR_SIZE(show5));  
LCDA.DisplayString(1,6,show3,AR_SIZE(show3));
LCDA.DisplayString(2,6,show4,AR_SIZE(show4));
}

void loop(){

for (pos = 0; pos <= 180; pos += 1) {
pulse(pos);      //設置舵機指向90度
digitalWrite(TrigPin, LOW); //低高低電平發一個短時間脈沖去TrigPin
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
Value_cm = float( pulseIn(EchoPin, HIGH) * 17 )/1000;
if(Value_cm>1000){ Value_cm=0;}
Serial.println(Value_cm);
temp=Value_cm;            
dtostrf(temp,4,1,jl);
jdtemp=pos;            
dtostrf(jdtemp,3,0,jd);
LCDA.DisplayString(1,3,(unsigned char *)jd,AR_SIZE(jd));
LCDA.DisplayString(2,3,(unsigned char *)jl,AR_SIZE(jl));
}
delay(10);
for (pos = 180; pos >= 0; pos -= 1) {
pulse(pos);      //設置舵機指向-90度   
digitalWrite(TrigPin, LOW); //低高低電平發一個短時間脈沖去TrigPin
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
Value_cm = float( pulseIn(EchoPin, HIGH) * 17 )/1000;
if(Value_cm>1000){ Value_cm=0;}
Serial.println(Value_cm);
temp=Value_cm;             //讀取日值
dtostrf(temp,4,1,jl);
jdtemp=pos;             //讀取日值
dtostrf(jdtemp,3,0,jd);
LCDA.DisplayString(1,3,(unsigned char *)jd,AR_SIZE(jd));
LCDA.DisplayString(2,3,(unsigned char *)jl,AR_SIZE(jl));
}  
//delay(10);
}

void pulse(int angle)      //設置舵機角度為angle
{
  pulsewidth=int ((angle*11)+500);  //計算高電平時間
  digitalWrite(PWM_pin,HIGH);       //設置高電平
  delayMicroseconds(pulsewidth);    //延時pulsewidth (us)
  digitalWrite(PWM_pin,LOW);        //設置低電平
  delay(20-pulsewidth/1000);        //延時20-pulsewidth/1000 (ms)
}



Arduino- Processing PC代碼:
#include <Arduino.h>
#define TrigPin 2
#define EchoPin 3
#define PWM_pin 9
int pulsewidth = 0;    //高電平時間
int pos = 0;           //
float Value_cm;

void setup()
{
     Serial.begin(9600);
     pinMode(PWM_pin,OUTPUT);
     pinMode(TrigPin, OUTPUT);
     pinMode(EchoPin, INPUT);
     pulse(0);      //設置舵機指向90度
}

void loop()
{
for (pos = 0; pos <= 180; pos += 5) {
pulse(pos);      //設置舵機指向90度
digitalWrite(TrigPin, LOW); //低高低電平發一個短時間脈沖去TrigPin
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
Value_cm = float( pulseIn(EchoPin, HIGH) * 17 )/1000;
//if(Value_cm>1000){ Value_cm=0;}
Serial.print("D= ");
Serial.print(Value_cm);
Serial.println(" [cm]");
delay(100);
}
delay(10);
for (pos = 180; pos >= 0; pos -= 5) {
pulse(pos);      //設置舵機指向-90度   
digitalWrite(TrigPin, LOW); //低高低電平發一個短時間脈沖去TrigPin
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
Value_cm = float( pulseIn(EchoPin, HIGH) * 17 )/1000;
//if(Value_cm>1000){ Value_cm=0;}
Serial.print("D= ");
Serial.print(Value_cm);
Serial.println(" [cm]");
delay(100);
}  
delay(10);
}

void pulse(int angle)      //設置舵機角度為angle
{
  pulsewidth=int ((angle*11)+500);  //計算高電平時間
  digitalWrite(PWM_pin,HIGH);       //設置高電平
  delayMicroseconds(pulsewidth);    //延時pulsewidth (us)
  digitalWrite(PWM_pin,LOW);        //設置低電平
  delay(20-pulsewidth/1000);        //延時20-pulsewidth/1000 (ms)
}



Processing 代碼:
import processing.serial.*;
PFont font;
String message;
String temp;
int mMaxDistance;
Serial myPort;
PFont myFont;
float x =0;
float angle=PI/180;
float xDirection = 150;
String[] data;
float X1=0;
float Y1=0;
void setup() {
  size(1200, 700);
  background(0);
  font = createFont("宋體.vlw",48);
  textFont(font);
myPort = new Serial(this,"com4", 9600); //設置數據來源串口號
}

void draw() {
background(0);
smooth();
int x0=600;
int y0=600;
int r=500;
noFill();
textSize(18);
strokeWeight(2);
text("超聲波測距雷達顯示屏", 430,25);
textSize(14);
text("[探索軟件制 CopyRight@2018]", 650,25);
stroke(0,255,0);
strokeWeight(2);
rect(50,50,2*550,550);
stroke(255,255,0);
strokeWeight(2);
rect(50,625,2*550, 40);
stroke(0,255,0);
strokeWeight(1);
arc(x0,y0,r/2,r/2,PI,TWO_PI);
//arc(x0,y0,r/1.75,r/1.75,PI,TWO_PI);
arc(x0,y0,r/1.5,r/1.5,PI,TWO_PI);
arc(x0,y0,r/1.25,r/1.25,PI,TWO_PI);
arc(x0,y0,r,r,PI,TWO_PI);
arc(x0,y0,1.25*r,1.25*r,PI,TWO_PI);  
arc(x0,y0,1.5*r,1.5*r,PI,TWO_PI);  
arc(x0,y0,1.75*r,1.75*r,PI,TWO_PI);
arc(x0,y0,2*r,2*r,PI,TWO_PI);
text("0", x0-510,y0);
line(x0, y0, x0-r*cos(0*angle),y0-r*sin(0*angle));
text("15", x0-r*cos(15*angle)-17,y0-r*sin(15*angle));
line(x0, y0, x0-r*cos(15*angle),y0-r*sin(15*angle));
text("30", x0-r*cos(30*angle)-17,y0-r*sin(30*angle));
line(x0, y0, x0-r*cos(30*angle),y0-r*sin(30*angle));
text("45", x0-r*cos(45*angle)-17,y0-r*sin(45*angle));
line(x0, y0, x0-r*cos(45*angle),y0-r*sin(45*angle));
text("60", x0-r*cos(60*angle)-17,y0-r*sin(60*angle));
line(x0, y0, x0-r*cos(60*angle),y0-r*sin(60*angle));
text("75", x0-r*cos(75*angle)-17,y0-r*sin(75*angle));
line(x0, y0, x0-r*cos(75*angle),y0-r*sin(75*angle));
text("90", x0-r*cos(90*angle)-17,y0-r*sin(90*angle));
line(x0, y0, x0-r*cos(90*angle),y0-r*sin(90*angle));
text("105", x0-r*cos(105*angle)-15,y0-r*sin(105*angle)-5);
line(x0, y0, x0-r*cos(105*angle),y0-r*sin(105*angle));
text("120", x0-r*cos(120*angle)-10,y0-r*sin(120*angle)-5);
line(x0, y0, x0-r*cos(120*angle),y0-r*sin(120*angle));
text("135", x0-r*cos(135*angle)-8,y0-r*sin(135*angle)-5);
line(x0, y0, x0-r*cos(135*angle),y0-r*sin(135*angle));
text("150", x0-r*cos(150*angle)-3,y0-r*sin(150*angle)-3);
line(x0, y0, x0-r*cos(150*angle),y0-r*sin(150*angle));

text("165", x0-r*cos(165*angle)-3,y0-r*sin(165*angle)-3);
line(x0, y0, x0-r*cos(165*angle),y0-r*sin(165*angle));

text("180", x0-r*cos(180*angle)+2,y0-r*sin(180*angle));
line(x0, y0, x0-r*cos(180*angle),y0-r*sin(180*angle));

stroke(255,255,0);
//x = x + PI/xDirection ;
x = x + HALF_PI/xDirection ;
line(x0, y0, x0-r*cos(x),y0-r*sin(x));
//stroke(0,0,0);
//line(500, 500, 500-500*cos(x),500-500*sin(x));
if(myPort.available()>0){
temp = myPort.readString();
if(temp==""){temp="0.0";}
fill(255,255,255);
stroke(255,255,255);
text("角度:", 480+10,650);
text(int(x*60), 480+50,650);
text("度", 480+80,650);
text("距離:", 480+120,650);
text(int(temp), 480+160,650);
text("厘米", 480+200,650);
}else{
temp = "";
if(temp==""){temp="0.0";}
fill(255,255,255);
stroke(255,255,255);
text("角度:", 480+10,650);
text(int(x*60), 480+50,650);
text("度", 480+80,650);
text("距離:", 480+120,650);
text(int(temp), 480+160,650);
text("厘米", 480+200,650);
}
X1=int(temp)*cos(x);
Y1=int(temp)*sin(x);
ellipse(x0-X1, y0-Y1, 15, 15);
if(x>3.14){ x=0;}
}


視頻:
https://pan.baidu.com/s/1siDzLxza5sVHmeyAbSnGDw

超聲波雷達.mp4

3.53 MB, 下載次數: 17, 下載積分: 黑幣 -5

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99re在线视频 | 久久国产精品一区二区 | 欧美黄色一区 | 中文字幕乱码一区二区三区 | 国产女人精品视频 | 亚洲成a| 国产片侵犯亲女视频播放 | 中文字幕亚洲区一区二 | 六月色婷 | 99久久免费精品国产男女高不卡 | 久草在线中文888 | 国产传媒视频在线观看 | 精品久久久久久一区二区 | 成人网在线观看 | 亚洲网站在线播放 | av黄色在线| 日日av | 欧美精品一区久久 | 午夜小视频在线播放 | 欧美激情综合色综合啪啪五月 | 亚洲精品中文字幕中文字幕 | 久久久久久蜜桃一区二区 | 最新午夜综合福利视频 | 国产特黄一级 | 日韩一级欧美一级 | 羞羞视频免费在线观看 | 久久一二区 | 一区二区国产在线 | 成人片免费看 | 日本免费一区二区三区四区 | 国产美女网站 | 99久久99热这里只有精品 | 一区二区av | 日韩1区2区 | 国产精品免费一区二区三区 | 色香婷婷| 欧美亚洲国产一区二区三区 | 久久久久久免费毛片精品 | 国产精品一区二区免费看 | 国产精品久久久久久久久久久久久 | 天天干天天操天天爽 |