色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>使用Arduino和處理的Flappy Bird

使用Arduino和處理的Flappy Bird

2022-12-12 | zip | 0.02 MB | 次下載 | 免費

資料介紹

描述

大家好!!!歡迎來到基于 Arduino 的新項目。我們一生中都玩過飛揚的小鳥游戲。如果我們在我們的 PC 上播放它并使用我們的 Arduino 控制它怎么辦?按照下面給出的所有步驟操作,到本教程結束時,您將使用微控制器控制游戲。

項目工作簡介:

?
?
?
poYBAGOSqF6AKcqvAACiwxwZUvA527.jpg
?
1 / 3
?

我們在這里使用超聲波傳感器的原因是為了獲取我們的手和傳感器之間的距離數據,并使用這些值來調整移動的鳥的高度。游戲在 Processing 中創建,Arduino 使用串行端口與其通信我已經鏈接了上面游戲的幾張圖片,所以請看一下它們以便對這個項目有所了解。

贊助商鏈接 - UTSource.net。

讓我們做連接:

pYYBAGOSqGGAYJxzAAA-GLCnOJU708.jpg
?

首先將 SR-04 傳感器連接到 Arduino 板上。由于只有一個傳感器接口,我不會為這個項目添加電路圖。連接如下 -

SR-04 >> Arduino Uno

電源 >> 5V

接地 >> 接地

觸發針 >> 數字針 11

Echo Pin >> 數字引腳 10

就是這樣,連接就完成了。

上傳 Arduino 代碼:

poYBAGOSqGaAXF6gAAEokimMo5c419.jpg
?

現在是時候將代碼上傳到您的 Arduino 開發板了。

從下面復制代碼。

在上傳代碼之前,請確保選擇正確的 com 端口和波特率,因為我們將使用它向游戲發送數據。

const int trigPin=11;  //DECLARE TRIG PIN AT D11
int echoPin=10;         //DECLARE ECHO PIN AT D10
int safezone=10; 
void setup() 
{
pinMode(trigPin,OUTPUT);
pinMode(echoPin,INPUT);
Serial.begin(9600);
}
void loop()
{
long duration,cm;           //DECLARE VARIABLES TO STORE SENSOR O/P
digitalWrite(trigPin,LOW);  //MAKE THE TRIG PIN LOW
delayMicroseconds(2);       //WAIT FOR FEW MICROSECONDS
digitalWrite(trigPin,HIGH); //NOW SET THE TRIG PIN
delayMicroseconds(5);       //WAIT FOR FEW MICROSECONDS UNTIL THE TRIG PULSE IS SENT
digitalWrite(trigPin,LOW);  //MAKE THE TRIG PIN LOW AGAIN
duration=pulseIn(echoPin,HIGH); //MAKE ECHO PIN HIGH AND STORE THE BOUNCED PULSE IN VARIABLE DURATION
cm=microsecondsToCentimeters(duration); 
long inch= cm/2.54;
Serial.println(cm);
}
long microsecondsToCentimeters(long microseconds) //SPEED OF SOUND IS 29 uSEC PER CM
{
return microseconds/29/2;  //THE PULSE TRAVELS FROM THE SENSOR AND AGAIN COMES BACK SO WE DIVIDE IT BY 2 TO TAKE ONLY HALF OF THE TOTAL DISTANCE
}

打開處理程序:

poYBAGOSqGiAbq3-AADBTrDM-oM600.jpg
?

上傳 Arduino 代碼后,下載并打開處理代碼。再次

設置與之前相同的波特率并提及正確的 com 端口。

import processing.serial.*;
int DistanceUltra;
int IncomingDistance;
Serial myPort;
String DataIn;
Pipe p1 = new Pipe();
Pipe p2 = new Pipe();
Pipe p3 = new Pipe();
 
//bird height and width location
float birdy = 46;
float birdx = 56;
float gravity = 5;
 
//the speed of the pipes
int speed;
 
//score and game state
boolean gameOver = false;
int score = 0;
int highscore = 0;
 
int point = 1;
 
color birdColor = color(255, 204, 0);
 
 
void setup(){
  size(400,600);
  p1.x = width + 50;
  p2.x = width + 220;
  p3.x = width + 370;
  myPort = new Serial(this, "COM3", 9600);
  myPort.bufferUntil(10);
}
void serialEvent (Serial myPort){
DataIn = myPort.readString();
println(DataIn);
IncomingDistance = int(trim(DataIn));
println("incoming distance="+IncomingDistance);
if (IncomingDistance>1 && IncomingDistance<100 ) { DistanceUltra = IncomingDistance; //save the value only if its in the range 1 to 100 } }
}
}
 
void draw(){
 
  background(0);
  p1.pipe();
  p2.pipe();
  p3.pipe();
 
  fill(birdColor);
  ellipse(birdx, birdy, 55,55);
 // birdy += gravity;
  play();
  success(p1);
  success(p2);
  success(p3);
 
  if (IncomingDistance>10)
  {
    //birdy -= jumpForce;
    birdy -= gravity;
  }    
  else
  {
    birdy += gravity;
  }
  
}
 
 
void play(){
 
  if(gameOver == false)
  {
    speed = 2;
    p1.x -= speed;
    p2.x -= speed;
    p3.x -= speed;
   
    textSize(24);
    fill(255,255,255);
    text(score, width/2, 30);  
  }
 
  if(gameOver == true)
  {
    speed = 0;
    p1.x -= speed;
    p2.x -= speed;
    p3.x -= speed;
   
    if( highscore < score)
    {
       highscore = score;
    }
   
    textSize(16);
    fill(0, 102, 153);
    textAlign(CENTER);
    text("Click : Play Again", width/2, height/2);
    text("Score: " + score, width/2, height/2 - 20);
    text("High-Score: " + highscore, width/2, height/2 - 40);
   
    if (mousePressed)
    {
       delay(900);
       score = 0;
       gameOver = false;
       birdy = 100;
       birdx = 56;
       p1.x = width + 50;
       p2.x = width + 220;
       p3.x = width + 370;
       p1.top = random(height/2);
       p1.bottom = random(height/2);
       p2.top = random(height/2);
       p2.bottom = random(height/2);
       p3.top = random(height/2);
       p3.bottom = random(height/2);
 
    }  
  }
 
}
 
void success(Pipe test){
 
  if(birdy < test.top || birdy > height - test.bottom)
  {
    if(birdx > test.x && birdx < test.x + test.w)
    {
      gameOver = true;
    }
  }
}
class Pipe
{
  float top = random(height/3 + 200);
  float bottom = random(height/3 +200);
 
 
  float x = width + 150;
  float w = 70;
  color pipeColor = color(0, 255, 0);
 
  void pipe()
  {
    fill(pipeColor);
    rect(x, 0, w, top);
    rect(x, height-bottom, w, bottom);
   
    if(x < -100)
    {
     score += point;
     x = width;
     top = random(height/2);
     bottom = random(height/2);
    }
 
   
  }
 
 
}

現在讓我們來試試這個游戲。只需單擊處理IDE中的運行按鈕,然后

你已準備好出發。小鳥會根據你手之間的距離移動

和傳感器。如果您對此項目有任何疑問,請隨時發表評論

以下。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 亚洲无码小格式| 欧美另类z0z000高清| 狠狠鲁 我喜欢| 老阿姨儿子一二三区| 色多多污网站在线观看| 伊人久久大香线蕉观看| 国产成人精品自线拍| 久久香蕉国产免费天天| 撕开美女的衣服2| qvod电影| 棉签和冰块怎么弄出牛奶视频 | 欧美特级特黄AAAAA片| 亚洲AV无码一区二区三区牛牛| 啊轻点啊再深点视频免费| 久久99综合国产精品亚洲首页| 受坐在攻腿上H道具PLAY| GOGOGO高清在线播放韩国| 伦理片秋霞免费影院| 在线视频中文字幕| 国精产品砖一区二区三区糖心 | 东北真实仑乱| 欧美黑人巨大videos免费| 影888午夜理论不卡| 红色机尾快播| 亚洲精品久久无码AV片WWW | 热九九99香蕉精品品| 99re久久免费热在线视频手机| 久久久久综合网久久| 一边亲着一面膜下奶韩剧免费 | 99精品久久| 久久伊人电影| 在线看片福利无码网址| 久久频这里精品99香蕉久网址| 一级毛片美国| 久久香蕉国产线看观看首页| 在线观看黄色小说| 久久午夜一区二区| 69成人免费视频| 欧美xxxxx18| 嘟嘟嘟WWW在线观看视频高清 | 十分钟免费观看大全视频|