电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>Arduino机器人Ludos开源

Arduino机器人Ludos开源

2022-10-24 | zip | 0.51 MB | 次下载 | 免费

资料介绍

描述

该项目由 JLCPCB - 印刷电路板厂赞助。

介绍

每个决定使用 Arduino 进入机器人世界的人都面临着巨大的挑战。

这些挑战之一是从一些简单的应用程序开始,并且您可以在学习课程中看到在实践中工作的东西。

这样,可以以实际的方式学习并更快地吸收知识。

正是出于这个原因,我们决定开发 ArduinoRobot Ludos。

poYBAGNVj7qAfTDbAAF1s77IcMM638.png
图 1 - Ludos 机器人结构
 

接下来,我们将介绍 Arduino 机器人 Ludos 及其结构细节。

该设计将使用PLA 材料的Ender 3 S1 打印机进行开发。

pYYBAGNVj7yAcqv7AAA81kP0iBo035.png
 

 

这是Creality开发的新模型。它能够打印不同的材料,并且在打印过程中具有出色的打印质量、准确性和运动稳定性。

查看新型 Ender 3 S1 打印机的其他功能。

poYBAGNVj76AZS5uAAAyhfauks4958.png
 

 

接下来,我们将看到电子电路的操作。

什么是 Arduino Ludos 机器人?

创建它的目的是让您是初学者或教师,并且没有易于使用的机器人,可以使用简单的机器人套件,具有多种功能,并帮助您使您的课程更具教学性和实用性。

此外,他建议:

  • 促进与机器人组件的第一次接触;
  • 让它成为一个简单而有创意的应用程序。

所有这些都将有助于组装您的第一个机器人,并允许您和您的学生将其各种资源与 Arduino 一起使用。

pYYBAGNVj8GAH5v-AAE2xcxcmjo695.png
图 2 - Ludos 机器人的资源。
 

正如您在图 2 中看到的,Robot Ludos 具有立方体的形状。它允许您使用 Arduino 或其他控制板来创建您的项目。

此外,它的结构中还有以下组件:

  • 01 x 按钮;
  • 01×16×2液晶屏;
  • 02 个红色 LED
  • 01 x 超声波传感器

除了这些组件之外,您还可以利用内部空间并利用其他几个模块和传感器来开发其他项目。

我们的目标是让您使用此工具包构建不同类型的项目和体验。它的零件少,易于组装,并且在单个机器人中具有多种功能。

以下是不同视角下 Ludos 机器人的完整视图。

poYBAGNVj8SAWJeBAADE0peQEQY353.png
图 3 - Robot Ludos 的不同视图。
 

现在,我们将使用 Robot Ludos 开发一个项目。我们将使用 Robot Ludos 开发超声波尺。如果您想访问完整的 Arduino Robot Ludos 文档并下载您的文档,请访问此 Arduino Robot Ludos 文档。

使用机器人 Ludos 开发超声波尺

对于这个项目,我们将使用 Robot Ludos 的 3 个资源:按钮、超声波传感器和 16x2 LCD 显示屏。

下面我们将介绍将要开发的项目。

使用 Arduino 机器人 Ludos 开发超声波标尺。每次按下按钮时,机器人必须使用超声波传感器计算距离,并将其值显示在 16x2 LCD 显示屏上。

对于这个项目,我们将使用下面介绍的 JLCPCB Arduino 兼容印刷电路板。

pYYBAGNVj8aAPp3jAACIows0H18469.png
图 4 - 用于控制 Ludos 机器人的 Arduino 独立印刷电路板。
 

您可以通过以下链接在第一个订单中以 2 美元的价格为您的项目获取Arduino JLCPCB兼容 PCB:赢得我的 Arduino 兼容 PCB。

访问链接并下载 JLCPCB Arduino 兼容印刷电路板的 Gerber 文件。

下面,我们展示了该项目的完整电子原理图。

poYBAGNVj8mAZ4dXAALTOzIZID4250.jpg
图 4 - 该项目的电子电路。
 

现在,我们将展示这个项目的完整代码。

#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 机器人代码的第一部分,我们做了库的声明、名称定义和变量的声明。

#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 函数。

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);
}

首先,按钮引脚和传感器引脚配置为数字输入和输出。之后,我们进行 Wire 和 LCD 初始化,并在 Arduino 机器人 Ludos 的 LCD 上打印消息:葡萄牙语“你好,我是 Ludos 机器人”,持续 2 秒。

之后会进入 void loop 函数,等待用户在 Arduino 机器人 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 机器人 Ludos 上的按钮。

BotaoCabeca = digitalRead(botao);

在下面的条件中,条件检查按钮是否被按下并且之前被禁用。

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

如果这是真的,系统将触发超声波传感器并测量 Arduino 机器人 ludos 与您面前的某个物体之间的距离。

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

行程结束后,系统会将 echo pin 以高逻辑电平通过的时间存储在tempo 变量中。

tempo = pulseIn(echoPin, HIGH);

通过计算出的时间和声音在空气中传播的速度为 340 m/s,我们可以使用平均速度公式计算距离。

distancia = tempo * (0.034/2);

从上面的等式中,我们得到了 Arduino 机器人 Ludos 和物体之间的计算距离。

poYBAGNVj8yAS7J4AAHOYsct620298.png
图 5 - Arduino 机器人 Ludos。
 

然后系统检查距离是否大于或小于 65。如果该值更大,则 LED 将亮起。否则,LED 将关闭。

在下图中,我们展示了 Arduino 机器人 Ludos,显示了 59 厘米的距离值并且 LED 熄灭。

您是否看到使用 Arduino Robot Ludos 开发项目是多么有趣?

如前所述,您可以从 Arduino 机器人 Ludos 的装配结构中创建其他项目和想法。

现在,如果您想访问完整的 Arduino Robot Ludos 文档并下载您的文档,请访问此 Arduino Robot Ludos 文档。

结论与致谢

我们感谢 JLCPCB 公司为我们提供印刷电路板以开发 Arduino 机器人 Ludos 项目的支持和合作。

如果您想以 2 美元的价格购买 5 张卡,请访问此链接,并使用折扣券在首次购买时获得 2 美元的折扣。


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  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次下载  |  免费