歷經6年打磨,5輪測驗,機器人編程趣味實踐將逐步更新,涵蓋windows、linux雙系統,涉及硬體平臺有手表、手機、電腦和機器人等,
- 彩蛋---是虛擬現實或增強現實設備,有時間才會更新哦
從簡單命令列互動開啟:

融合手表、手機和電腦,有終端到圖形化界面:

網路涵蓋無線wifi、串口serial等示例:

網路端多平臺多終端互聯互通:

所有案例都可靠運行,案例涉及的代碼或演算法會詳細講解,配圖之下都會給出相應知識點和脈絡的具體鏈接,供有興趣的朋友查閱,
部分內容會制作視頻,嵌入到博客中,
上面圖中涉及代碼細節如:
- 動態甜甜圈:https://blog.csdn.net/ZhangRelay/article/details/109863427
- 小烏龜畫線:https://blog.csdn.net/ZhangRelay/article/details/98754130
全部課程內容測驗修正后,會發布鏡像方便直接使用,關于鏡像往事如下:
- 機器人實踐:https://blog.csdn.net/ZhangRelay/article/details/103868465
- 控制理論案例:https://zhangrelay.blog.csdn.net/article/details/114101789
知識脈絡點起源:
- 從幼兒園到大學的機器人規劃https://blog.csdn.net/ZhangRelay/article/details/102752572
此文中手表的arduino代碼如下(選用ESP32核心):
國產芯片,并且是青少年機器人等級考試官方指定教材所用核心
相關內容詳細介紹:https://blog.csdn.net/ZhangRelay/article/details/115909178
主要軟硬體平臺為arduino+ESP32!
可見一段C++程式必然包含,頭檔案、注釋、變數、初始化和主函式等,詳細細節下一節具體介紹,
頭檔案.h
// => Hardware select
// #define LILYGO_WATCH_2019_WITH_TOUCH // To use T-Watch2019 with touchscreen, please uncomment this line
// #define LILYGO_WATCH_2019_NO_TOUCH // To use T-Watch2019 Not touchscreen , please uncomment this line
#define LILYGO_WATCH_2020_V1 //To use T-Watch2020, please uncomment this line
// #define LILYGO_WATCH_2020_V2 //To use T-Watch2020 V2, please uncomment this line
// #define LILYGO_WATCH_2020_V3 //To use T-Watch2020 V3, please uncomment this line
// NOT SUPPORT ...
#define LILYGO_WATCH_BLOCK
// NOT SUPPORT ...
// => Function select
#define LILYGO_WATCH_LVGL //To use LVGL, you need to enable the macro LVGL
#include <LilyGoWatch.h>
主代碼.c
#include "config.h"
TTGOClass *ttgo;
static void event_handler(lv_obj_t *obj, lv_event_t event)
{
if (event == LV_EVENT_CLICKED) {
Serial.printf("Hi Robot\n");
} else if (event == LV_EVENT_VALUE_CHANGED) {
Serial.printf("Have Fun\n");
}
}
void setup()
{
Serial.begin(19200);
ttgo = TTGOClass::getWatch();
ttgo->begin();
ttgo->openBL();
ttgo->lvgl_begin();
lv_obj_t *label;
lv_obj_t *btn1 = lv_btn_create(lv_scr_act(), NULL);
lv_obj_set_event_cb(btn1, event_handler);
lv_obj_align(btn1, NULL, LV_ALIGN_CENTER, 0, -40);
label = lv_label_create(btn1, NULL);
lv_label_set_text(label, "Robot");
lv_obj_t *btn2 = lv_btn_create(lv_scr_act(), NULL);
lv_obj_set_event_cb(btn2, event_handler);
lv_obj_align(btn2, NULL, LV_ALIGN_CENTER, 0, 40);
lv_btn_set_checkable(btn2, true);
lv_btn_toggle(btn2);
lv_btn_set_fit2(btn2, LV_FIT_NONE, LV_FIT_TIGHT);
label = lv_label_create(btn2, NULL);
lv_label_set_text(label, "Fun");
}
void loop()
{
lv_task_handler();
delay(1);
}
-End-
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/280976.html
標籤:其他
上一篇:溫濕度傳感器DH11
下一篇:C語言實作:陣列:三子棋游戲
