日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Arduino 与 MPU6050 姿态解算+ PROCESSING

發布時間:2025/7/14 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Arduino 与 MPU6050 姿态解算+ PROCESSING 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

? ? 買的MPU6050自帶姿態解算大大減輕了上層處理器所做的工作。 通過熟悉了一下processing之后做了一個小例子更是感覺這個傳感器的奇妙。

Arduino部分

? 主要是讀取MPU6050數據并將采集到的歐拉角通過串口打印到上位機,采集數據很簡單,MPU6050接到arduino mega2560的serial1上便可接收數據,然后通過serial傳輸到電腦上。MPU6050自帶了卡爾曼濾波,所以上層更是直接使用了數據,觀測得誤差確實很少,很實用的傳感器。

? ?注: MPU6050使用的是串口模式,配置時掉電保存的,波特率為9600

? ?

#include <Wire.h> byte A[11];void setup() {Serial.begin(115200);Serial1.begin(9600);Serial.println("initial ...");Serial1.write(0xff);Serial1.write(0xaa);Serial1.write(0x52);Serial1.flush();Serial.println("end"); }static int counter=0; char buffer[20]; void loop() {if(counter==0&&A[0]==0x55){int index=2;switch(A[1]){case 0x53:{float xa=(A[index]|(A[index+1]<<8))/32768.0*180;float ya=(A[index+2]|(A[index+3]<<8))/32768.0*180;float za=(A[index+4]|(A[index+5]<<8))/32768.0*180;//if(abs(temp-97.77)<3) break;//sprintf(buffer,"%lf,",xa);Serial.print("x=");Serial.println(xa);//sprintf(buffer,"%lf,",ya);Serial.print("y=");Serial.println(ya);//sprintf(buffer,"%lf",za);Serial.print("z=");Serial.println(za);A[0]=0;delay(50);}break;default:break;}} }void serialEvent1() {while(Serial1.available()){A[counter]=Serial1.read();if(counter==0&&A[counter]!=0x55) return;counter=(counter+1)%11;} } void serialEvent() {char buf[255];int i=0;while(Serial.available()) buf[i++]=Serial.read();buf[i]=0;if(strcmp("stop",buf)==0) Serial1.end();else if(strcmp("run",buf)==0) Serial1.begin(115200); }



? ?

? MPU6050的四根線連到arduino后便可源源不斷地接收到數據,上傳到電腦上的格式為:
?x=12.44

?y=56.01

?z=67.34

? 下面的processing程序會根據這個來解析收到的數據并且調整姿態。

? Processing部分

? ?processing這個程序昨天第一次聽說,看到國外視頻里有人做的模型看著實在舒服,所以也想嘗試一下。雖然官網上稱Processing為一門語言,不過個人感覺語法就是java+opengl+p3d+c++混合而成。傳送門

? ?通過arduino串口發送出來的消息,在processing接收處理,沒有太多可說的,大致感覺下

?processing

?

import processing.serial.*; import processing.opengl.*;Serial myserial; float value[]=new float[4]; String rf[]=new String[4]; PGraphics graphics1; PGraphics graphics2; PGraphics graphics3; PGraphics graphics4; void setup() {size(600,600,P2D);String name="COM5";myserial=new Serial(this,name,115200);smooth();for(int i=0;i<4;++i) value[i]=0;graphics1=createGraphics(298,298,OPENGL);graphics2=createGraphics(298,298,OPENGL);graphics3=createGraphics(298,298,OPENGL);graphics4=createGraphics(298,298,OPENGL);textMode(MODEL);textSize(32); } long lasttime=0;void draw() {frameRate(60);drawRect(graphics1,0,0,1,0); //FONTdrawRect(graphics2,90,0,1,0);//lLEFTdrawRect(graphics3,-90,1,0,0);//TOPdrawRect(graphics4,90,1,1,0);//RANDOMimage(graphics1,0,0);image(graphics2,300,0);image(graphics3,0,300);image(graphics4,300,300);fill(248,147,147);text("FONT VIEW",10,50);text("LEFT VIEW",310,50);text("TOP VIEW",10,350);text("RANDOM VIEW",310,350);lasttime=millis(); }void drawRect(PGraphics pg,float rot,int x,int y,int z) {pg.beginDraw();pg.lights();pg.background(126);pg.textSize(20);pg.fill(3,60,244);long framerate=1000/(millis()-lasttime);pg.text("fps:"+framerate,200,20);pg.fill(246,225,65);pg.translate(100,100,-100);pg.rotate(rot*PI/180,x,y,z);pg.rotateY(value[2]*PI/180);pg.rotateZ(-value[1]*PI/180);pg.rotateX(value[0]*PI/180);pg.box(50,50,100);pg.endDraw(); } String st; void serialEvent(Serial p) {st=p.readStringUntil(10);if(st==null) return;if(st.indexOf("x=")!=-1){value[0]=float(st.substring(2));}else if(st.indexOf("y=")!=-1){value[1]=float(st.substring(2));}else if(st.indexOf("z=")!=-1){value[2]=float(st.substring(2));} }

? 另外做了一個演示視頻 click

? ? ? ?



轉載于:https://my.oschina.net/000quanwei/blog/480129

總結

以上是生活随笔為你收集整理的Arduino 与 MPU6050 姿态解算+ PROCESSING的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 蜜桃视频免费网站 | 亚洲三级色 | a级片网站 | 激情久久视频 | 精品国产黄色 | 国产老熟女伦老熟妇露脸 | 国产美女自拍 | 欧美理论片在线观看 | 国产精品无码久久av | 欧美日韩在线播放 | 国产成人一区二区三区小说 | 中文字幕免费在线 | 在线免费黄色 | 草草影院最新网址 | 一区二区免费在线观看视频 | 影音先锋中文字幕在线 | 色婷婷热久久 | 一区二区三区视频网站 | 熊出没之冬日乐翻天免费高清观看 | 99精品久久 | 视频在线观看免费大片 | 男人操女人的软件 | 成人在线观看一区二区 | 中文字幕亚洲欧美日韩在线不卡 | 成人午夜视频在线观看 | 中国人与拘一级毛片 | 一本色道久久亚洲综合精品蜜桃 | 国产日韩欧美一区二区东京热 | 一区二区三区 日韩 | 亚洲色图激情小说 | 台湾男男gay做爽爽的视频 | 国产日韩一区二区在线 | 男女黄色又爽大片 | 色多多视频网站 | 最色网站 | 国产乱xxⅹxx国语对白 | 欧美日韩中文字幕在线观看 | 亚洲蜜桃av | 日韩三级一区二区三区 | 亚洲福利国产 | 日韩大尺度在线观看 | 久久久久久久久久久国产精品 | 日本色www| 一本大道伊人av久久综合 | 精品日韩一区 | 日本黄色高清 | 亚洲系列 | 波多野结衣视频一区 | 久久久久人妻一区精品色 | 日韩 欧美 精品 | 国产精品久久久久影院老司 | 欧美 日韩 中文 | 亚欧洲乱码视频 | 超碰.com | 亚洲精品女 | tube极品少妇videos | 黄色网在线 | 国产精品熟女一区二区不卡 | 岛国av免费在线观看 | 亚洲va在线观看 | 亚洲v国产v欧美v久久久久久 | 小泽玛利亚一区二区三区视频 | 18男女无套免费视频 | 中文字字幕码一二三区 | 精品国产乱码久久久久久蜜臀网站 | 91老师国产黑色丝袜在线 | 成人福利视频导航 | 激情拍拍| 波多野结衣视频在线播放 | 日韩综合第一页 | 欧美成人国产精品一区二区 | 欧美性福利 | 黄色小视频在线免费观看 | 欧美国产二区 | 成人免费在线观看网站 | 欧美日韩免费观看视频 | 国产激情精品一区二区三区 | www.三区| 久久777| 青娱乐国产在线 | 激情五月五月婷婷 | 肉嫁高柳家在线看 | 精品国产乱码久久久久久蜜臀网站 | 尤物视频网站在线观看 | 久久久久久国产 | 中文字幕免费高清在线 | 成年人免费网 | 蜜桃网av | 欧美多p | 蜜乳av一区二区三区 | 少妇高潮一区二区三区69 | 日韩国产二区 | 嫩草嫩草嫩草嫩草嫩草 | 久久两性视频 | 五月婷婷六月婷婷 | 天天插天天 | 国产午夜一区二区三区 | 亚洲最新中文字幕 | 麻豆视频在线免费观看 |