机器人编程趣味实践01-简要介绍

举报
zhangrelay 发表于 2021/07/15 01:09:31 2021/07/15
【摘要】 历经6年打磨,5轮测试,机器人编程趣味实践将逐步更新。涵盖windows、linux双系统,涉及硬件平台有手表、手机、电脑和机器人等。 彩蛋---是虚拟现实或增强现实设备,有时间才会更新哦 从简单命令行交互开启: 融合手表、手机和电脑,有终端到图形化界面: 网络涵盖无线wifi、串口serial等示例: 网络端多平台多终端互联互通: 所有案...

历经6年打磨,5轮测试,机器人编程趣味实践将逐步更新。涵盖windows、linux双系统,涉及硬件平台有手表、手机、电脑和机器人等。

  • 彩蛋---是虚拟现实或增强现实设备,有时间才会更新哦

从简单命令行交互开启:

融合手表、手机和电脑,有终端到图形化界面:

网络涵盖无线wifi、串口serial等示例:

网络端多平台多终端互联互通:

所有案例都可靠运行。案例涉及的代码或算法会详细讲解,配图之下都会给出相应知识点和脉络的具体链接,供有兴趣的朋友查阅。

部分内容会制作视频,嵌入到博客中。

上面图中涉及代码细节如:

  1. 动态甜甜圈https://blog.csdn.net/ZhangRelay/article/details/109863427
  2. 小乌龟画线https://blog.csdn.net/ZhangRelay/article/details/98754130

全部课程内容测试修正后,会发布镜像方便直接使用,关于镜像往事如下:

  1. 机器人实践https://blog.csdn.net/ZhangRelay/article/details/103868465
  2. 控制理论案例https://zhangrelay.blog.csdn.net/article/details/114101789

知识脉络点起源:

此文中手表的arduino代码如下(选用ESP32核心):

国产芯片,并且是青少年机器人等级考试官方指定教材所用核心

相关内容详细介绍:https://blog.csdn.net/ZhangRelay/article/details/115909178

主要软硬件平台为arduino+ESP32!

可见一段C++程序必然包含,头文件、注释、变量、初始化和主函数等,详细细节下一节具体介绍。

头文件.h


  
  1. // => Hardware select
  2. // #define LILYGO_WATCH_2019_WITH_TOUCH // To use T-Watch2019 with touchscreen, please uncomment this line
  3. // #define LILYGO_WATCH_2019_NO_TOUCH // To use T-Watch2019 Not touchscreen , please uncomment this line
  4. #define LILYGO_WATCH_2020_V1 //To use T-Watch2020, please uncomment this line
  5. // #define LILYGO_WATCH_2020_V2 //To use T-Watch2020 V2, please uncomment this line
  6. // #define LILYGO_WATCH_2020_V3 //To use T-Watch2020 V3, please uncomment this line
  7. // NOT SUPPORT ...
  8. #define LILYGO_WATCH_BLOCK
  9. // NOT SUPPORT ...
  10. // => Function select
  11. #define LILYGO_WATCH_LVGL //To use LVGL, you need to enable the macro LVGL
  12. #include <LilyGoWatch.h>

主代码.c


  
  1. #include "config.h"
  2. TTGOClass *ttgo;
  3. static void event_handler(lv_obj_t *obj, lv_event_t event)
  4. {
  5. if (event == LV_EVENT_CLICKED) {
  6. Serial.printf("Hi Robot\n");
  7. } else if (event == LV_EVENT_VALUE_CHANGED) {
  8. Serial.printf("Have Fun\n");
  9. }
  10. }
  11. void setup()
  12. {
  13. Serial.begin(19200);
  14. ttgo = TTGOClass::getWatch();
  15. ttgo->begin();
  16. ttgo->openBL();
  17. ttgo->lvgl_begin();
  18. lv_obj_t *label;
  19. lv_obj_t *btn1 = lv_btn_create(lv_scr_act(), NULL);
  20. lv_obj_set_event_cb(btn1, event_handler);
  21. lv_obj_align(btn1, NULL, LV_ALIGN_CENTER, 0, -40);
  22. label = lv_label_create(btn1, NULL);
  23. lv_label_set_text(label, "Robot");
  24. lv_obj_t *btn2 = lv_btn_create(lv_scr_act(), NULL);
  25. lv_obj_set_event_cb(btn2, event_handler);
  26. lv_obj_align(btn2, NULL, LV_ALIGN_CENTER, 0, 40);
  27. lv_btn_set_checkable(btn2, true);
  28. lv_btn_toggle(btn2);
  29. lv_btn_set_fit2(btn2, LV_FIT_NONE, LV_FIT_TIGHT);
  30. label = lv_label_create(btn2, NULL);
  31. lv_label_set_text(label, "Fun");
  32. }
  33. void loop()
  34. {
  35. lv_task_handler();
  36. delay(1);
  37. }

 -End-


 

 

 

文章来源: zhangrelay.blog.csdn.net,作者:zhangrelay,版权归原作者所有,如需转载,请联系作者。

原文链接:zhangrelay.blog.csdn.net/article/details/116194554

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。