電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Arduino機(jī)器人Ludos開源

Arduino機(jī)器人Ludos開源

2022-10-24 | zip | 0.51 MB | 次下載 | 免費(fèi)

資料介紹

描述

該項(xiàng)目由 JLCPCB - 印刷電路板廠贊助。

介紹

每個決定使用 Arduino 進(jìn)入機(jī)器人世界的人都面臨著巨大的挑戰(zhàn)。

這些挑戰(zhàn)之一是從一些簡單的應(yīng)用程序開始,并且您可以在學(xué)習(xí)課程中看到在實(shí)踐中工作的東西。

這樣,可以以實(shí)際的方式學(xué)習(xí)并更快地吸收知識。

正是出于這個原因,我們決定開發(fā) ArduinoRobot Ludos。

poYBAGNVj7qAfTDbAAF1s77IcMM638.png
圖 1 - Ludos 機(jī)器人結(jié)構(gòu)
?

接下來,我們將介紹 Arduino 機(jī)器人 Ludos 及其結(jié)構(gòu)細(xì)節(jié)。

該設(shè)計(jì)將使用PLA 材料的Ender 3 S1 打印機(jī)進(jìn)行開發(fā)。

pYYBAGNVj7yAcqv7AAA81kP0iBo035.png
?

?

這是Creality開發(fā)的新模型。它能夠打印不同的材料,并且在打印過程中具有出色的打印質(zhì)量、準(zhǔn)確性和運(yùn)動穩(wěn)定性。

查看新型 Ender 3 S1 打印機(jī)的其他功能。

poYBAGNVj76AZS5uAAAyhfauks4958.png
?

?

接下來,我們將看到電子電路的操作。

什么是 Arduino Ludos 機(jī)器人?

創(chuàng)建它的目的是讓您是初學(xué)者或教師,并且沒有易于使用的機(jī)器人,可以使用簡單的機(jī)器人套件,具有多種功能,并幫助您使您的課程更具教學(xué)性和實(shí)用性。

此外,他建議:

  • 促進(jìn)與機(jī)器人組件的第一次接觸;
  • 讓它成為一個簡單而有創(chuàng)意的應(yīng)用程序。

所有這些都將有助于組裝您的第一個機(jī)器人,并允許您和您的學(xué)生將其各種資源與 Arduino 一起使用。

pYYBAGNVj8GAH5v-AAE2xcxcmjo695.png
圖 2 - Ludos 機(jī)器人的資源。
?

正如您在圖 2 中看到的,Robot Ludos 具有立方體的形狀。它允許您使用 Arduino 或其他控制板來創(chuàng)建您的項(xiàng)目。

此外,它的結(jié)構(gòu)中還有以下組件:

  • 01 x 按鈕;
  • 01×16×2液晶屏;
  • 02 個紅色 LED;
  • 01 x 超聲波傳感器

除了這些組件之外,您還可以利用內(nèi)部空間并利用其他幾個模塊和傳感器來開發(fā)其他項(xiàng)目。

我們的目標(biāo)是讓您使用此工具包構(gòu)建不同類型的項(xiàng)目和體驗(yàn)。它的零件少,易于組裝,并且在單個機(jī)器人中具有多種功能。

以下是不同視角下 Ludos 機(jī)器人的完整視圖。

poYBAGNVj8SAWJeBAADE0peQEQY353.png
圖 3 - Robot Ludos 的不同視圖。
?

現(xiàn)在,我們將使用 Robot Ludos 開發(fā)一個項(xiàng)目。我們將使用 Robot Ludos 開發(fā)超聲波尺。如果您想訪問完整的 Arduino Robot Ludos 文檔并下載您的文檔,請?jiān)L問此 Arduino Robot Ludos 文檔。

使用機(jī)器人 Ludos 開發(fā)超聲波尺

對于這個項(xiàng)目,我們將使用 Robot Ludos 的 3 個資源:按鈕、超聲波傳感器和 16x2 LCD 顯示屏。

下面我們將介紹將要開發(fā)的項(xiàng)目。

使用 Arduino 機(jī)器人 Ludos 開發(fā)超聲波標(biāo)尺。每次按下按鈕時,機(jī)器人必須使用超聲波傳感器計(jì)算距離,并將其值顯示在 16x2 LCD 顯示屏上。

對于這個項(xiàng)目,我們將使用下面介紹的 JLCPCB Arduino 兼容印刷電路板。

pYYBAGNVj8aAPp3jAACIows0H18469.png
圖 4 - 用于控制 Ludos 機(jī)器人的 Arduino 獨(dú)立印刷電路板。
?

您可以通過以下鏈接在第一個訂單中以 2 美元的價(jià)格為您的項(xiàng)目獲取Arduino JLCPCB兼容 PCB:贏得我的 Arduino 兼容 PCB。

訪問鏈接并下載 JLCPCB Arduino 兼容印刷電路板的 Gerber 文件。

下面,我們展示了該項(xiàng)目的完整電子原理圖。

poYBAGNVj8mAZ4dXAALTOzIZID4250.jpg
圖 4 - 該項(xiàng)目的電子電路。
?

現(xiàn)在,我們將展示這個項(xiàng)目的完整代碼。

#include  //Biblioteca I2C do LCD 16x2
#include  //Biblioteca de Comunicacao I2C
LiquidCrystal_I2C lcd(0x27,16,2); // Configurando o endereco do LCD 16x2 para 0x27

#define botao 3
#define echoPin 9
#define trigPin 8

long tempo = 0;
int distancia = 0;
bool BotaoCabeca = 0, estado = 0;

void setup()
{
    pinMode(botao, INPUT);
    pinMode(echoPin, INPUT);
    pinMode(trigPin, OUTPUT);
    
    Wire.begin(); //Inicializacao da Comunicacao I2C
    
    lcd.init(); //Inicializacao do LCD
    
    lcd.backlight();
    lcd.setCursor(2,0);
    lcd.print("Oi, eu sou o");
    lcd.setCursor(3,1);
    lcd.print("Robo Ludos!");
    
    delay(2000);
}

void loop()
{
  
  BotaoCabeca = digitalRead(botao);

  if(BotaoCabeca == 1 && estado == 0)
  {
    
      lcd.clear();
  
      digitalWrite(trigPin, LOW);
      delayMicroseconds(2);
      digitalWrite(trigPin, HIGH);
      delayMicroseconds(10);
      digitalWrite(trigPin, LOW);
  
      tempo = pulseIn(echoPin, HIGH);
      distancia = tempo * (0.034/2);
  
      if(distancia <= 65)
      {
      digitalWrite(4, LOW);
      digitalWrite(5, LOW);
      }
    
      if(distancia > 65)
      {
      digitalWrite(4, HIGH);
      digitalWrite(5, HIGH);
      lcd.print("");
      }
  
      lcd.setCursor(0,0);
      lcd.print("Distancia:");
      lcd.setCursor(0,1);
      lcd.print(distancia);
      lcd.setCursor(3,1);
      lcd.print("cm");
      
      estado = 1;
      
  }

  if(BotaoCabeca == 0 && estado == 1)
  {
  estado = 0;
  }

}

在 Arduino 機(jī)器人代碼的第一部分,我們做了庫的聲明、名稱定義和變量的聲明。

#include  //Biblioteca I2C do LCD 16x2
#include  //Biblioteca de Comunicacao I2C
LiquidCrystal_I2C lcd(0x27,16,2); // Configurando o endereco do LCD 16x2 para 0x27

#define botao 3
#define echoPin 9
#define trigPin 8

long tempo = 0;
int distancia = 0;
bool BotaoCabeca = 0, estado = 0;

在此之后,我們將進(jìn)入 void setup 函數(shù)。

void setup()
{
    pinMode(botao, INPUT);
    pinMode(echoPin, INPUT);
    pinMode(trigPin, OUTPUT);
    
    Wire.begin(); //Inicializacao da Comunicacao I2C
    
    lcd.init(); //Inicializacao do LCD
    
    lcd.backlight();
    lcd.setCursor(2,0);
    lcd.print("Oi, eu sou o");
    lcd.setCursor(3,1);
    lcd.print("Robo Ludos!");
    
    delay(2000);
}

首先,按鈕引腳和傳感器引腳配置為數(shù)字輸入和輸出。之后,我們進(jìn)行 Wire 和 LCD 初始化,并在 Arduino 機(jī)器人 Ludos 的 LCD 上打印消息:葡萄牙語“你好,我是 Ludos 機(jī)器人”,持續(xù) 2 秒。

之后會進(jìn)入 void loop 函數(shù),等待用戶在 Arduino 機(jī)器人 Ludos 中按下按鈕的那一刻。

void loop()
{
  
  BotaoCabeca = digitalRead(botao);

  if(BotaoCabeca == 1 && estado == 0)
  {
    
      lcd.clear();
  
      digitalWrite(trigPin, LOW);
      delayMicroseconds(2);
      digitalWrite(trigPin, HIGH);
      delayMicroseconds(10);
      digitalWrite(trigPin, LOW);
  
      tempo = pulseIn(echoPin, HIGH);
      distancia = tempo * (0.034/2);
  
      if(distancia <= 65)
      {
      digitalWrite(4, LOW);
      digitalWrite(5, LOW);
      }
    
      if(distancia > 65)
      {
      digitalWrite(4, HIGH);
      digitalWrite(5, HIGH);
      lcd.print("");
      }
  
      lcd.setCursor(0,0);
      lcd.print("Distancia:");
      lcd.setCursor(0,1);
      lcd.print(distancia);
      lcd.setCursor(3,1);
      lcd.print("cm");
      
      estado = 1;
      
  }

  if(BotaoCabeca == 0 && estado == 1)
  {
  estado = 0;
  }

}

最初,我們閱讀了 Arduino 機(jī)器人 Ludos 上的按鈕。

BotaoCabeca = digitalRead(botao);

在下面的條件中,條件檢查按鈕是否被按下并且之前被禁用。

if(BotaoCabeca == 1 && estado == 0)

如果這是真的,系統(tǒng)將觸發(fā)超聲波傳感器并測量 Arduino 機(jī)器人 ludos 與您面前的某個物體之間的距離。

lcd.clear();
  
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
  
tempo = pulseIn(echoPin, HIGH);

行程結(jié)束后,系統(tǒng)會將 echo pin 以高邏輯電平通過的時間存儲在tempo 變量中。

tempo = pulseIn(echoPin, HIGH);

通過計(jì)算出的時間和聲音在空氣中傳播的速度為 340 m/s,我們可以使用平均速度公式計(jì)算距離。

distancia = tempo * (0.034/2);

從上面的等式中,我們得到了 Arduino 機(jī)器人 Ludos 和物體之間的計(jì)算距離。

poYBAGNVj8yAS7J4AAHOYsct620298.png
圖 5 - Arduino 機(jī)器人 Ludos。
?

然后系統(tǒng)檢查距離是否大于或小于 65。如果該值更大,則 LED 將亮起。否則,LED 將關(guān)閉。

在下圖中,我們展示了 Arduino 機(jī)器人 Ludos,顯示了 59 厘米的距離值并且 LED 熄滅。

您是否看到使用 Arduino Robot Ludos 開發(fā)項(xiàng)目是多么有趣?

如前所述,您可以從 Arduino 機(jī)器人 Ludos 的裝配結(jié)構(gòu)中創(chuàng)建其他項(xiàng)目和想法。

現(xiàn)在,如果您想訪問完整的 Arduino Robot Ludos 文檔并下載您的文檔,請?jiān)L問此 Arduino Robot Ludos 文檔。

結(jié)論與致謝

我們感謝 JLCPCB 公司為我們提供印刷電路板以開發(fā) Arduino 機(jī)器人 Ludos 項(xiàng)目的支持和合作。

如果您想以 2 美元的價(jià)格購買 5 張卡,請?jiān)L問此鏈接,并使用折扣券在首次購買時獲得 2 美元的折扣。


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

評論

查看更多

下載排行

本周

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

本月

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

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)