10a7ce71fSopenharmony_ci# HiSpark-Pegasus 智能小车样例
20a7ce71fSopenharmony_ci
30a7ce71fSopenharmony_ci## 智能小车套件外设控制样例
40a7ce71fSopenharmony_ci
50a7ce71fSopenharmony_ci### 文件说明
60a7ce71fSopenharmony_ci
70a7ce71fSopenharmony_ci| 文件             | 说明           |
80a7ce71fSopenharmony_ci| ---------------- | -------------- |
90a7ce71fSopenharmony_ci| robot_hcsr04.c   | 超声波测距样例 |
100a7ce71fSopenharmony_ci| robot_l9110s.c   | 电机驱动样例   |
110a7ce71fSopenharmony_ci| robot_sg90.c     | 舵机控制样例   |
120a7ce71fSopenharmony_ci| robot_sg90_mid.c | 舵机校准       |
130a7ce71fSopenharmony_ci| robot_tcrt5000.c | 红外传感器样例 |
140a7ce71fSopenharmony_ci
150a7ce71fSopenharmony_ci### 使用方法
160a7ce71fSopenharmony_ci
170a7ce71fSopenharmony_ci1、直接将robot文件夹拷贝到OpenHarmony源码applications/sample/wifi-iot/app目录下。
180a7ce71fSopenharmony_ci
190a7ce71fSopenharmony_ci2、需要编译哪个样例,就将对应的文件的注释打开,将其他的文件注释掉
200a7ce71fSopenharmony_ci
210a7ce71fSopenharmony_ci​      比如需要编译超声波样例,BUILD.gn文件修改为如下内容:
220a7ce71fSopenharmony_ci
230a7ce71fSopenharmony_ci```
240a7ce71fSopenharmony_cistatic_library("robot_demo") {
250a7ce71fSopenharmony_ci    sources = [
260a7ce71fSopenharmony_ci        "robot_hcsr04.c",
270a7ce71fSopenharmony_ci        #"robot_l9110s.c",
280a7ce71fSopenharmony_ci        #"robot_sg90_mid.c",
290a7ce71fSopenharmony_ci        #"robot_sg90.c",
300a7ce71fSopenharmony_ci        #"robot_tcrt5000.c"
310a7ce71fSopenharmony_ci        #"l9110s_pwm_control.c"
320a7ce71fSopenharmony_ci    ]
330a7ce71fSopenharmony_ci
340a7ce71fSopenharmony_ci    include_dirs = [
350a7ce71fSopenharmony_ci        "//utils/native/lite/include",
360a7ce71fSopenharmony_ci        "//kernel/liteos_m/kal/cmsis",
370a7ce71fSopenharmony_ci        "//base/iothardware/peripheral/interfaces/inner_api",
380a7ce71fSopenharmony_ci    ]
390a7ce71fSopenharmony_ci}
400a7ce71fSopenharmony_ci```
410a7ce71fSopenharmony_ci
420a7ce71fSopenharmony_ci3、修改app目录下的BUILD.gn文件
430a7ce71fSopenharmony_ci
440a7ce71fSopenharmony_ci```
450a7ce71fSopenharmony_ciimport("//build/lite/config/component/lite_component.gni")
460a7ce71fSopenharmony_ci
470a7ce71fSopenharmony_cilite_component("app") {
480a7ce71fSopenharmony_ci    features = [
490a7ce71fSopenharmony_ci        "robot:robot_demo"
500a7ce71fSopenharmony_ci    ]
510a7ce71fSopenharmony_ci}
520a7ce71fSopenharmony_ci```
530a7ce71fSopenharmony_ci
540a7ce71fSopenharmony_ci## 智能循迹避障小车样例代码
550a7ce71fSopenharmony_ci
560a7ce71fSopenharmony_ci### 文件说明
570a7ce71fSopenharmony_ci
580a7ce71fSopenharmony_ci| 文件            | 说明                   |
590a7ce71fSopenharmony_ci| --------------- | ---------------------- |
600a7ce71fSopenharmony_ci| ssd1306         | ssd1306驱动代码        |
610a7ce71fSopenharmony_ci| robot_control.c | 智能小车主要控制代码   |
620a7ce71fSopenharmony_ci| robot_hcsr04.c  | 智能小车超声波测距代码 |
630a7ce71fSopenharmony_ci| robot_l9110s.c  | 智能小车电机控制代码   |
640a7ce71fSopenharmony_ci| robot_sg90.c    | 智能小车舵机控制代码   |
650a7ce71fSopenharmony_ci| ssd1306_test.c  | 智能小车OLED显示屏代码 |
660a7ce71fSopenharmony_ci| trace_model.c   | 智能小车循迹功能代码   |
670a7ce71fSopenharmony_ci
680a7ce71fSopenharmony_ci### 使用方法
690a7ce71fSopenharmony_ci
700a7ce71fSopenharmony_ci1、直接将robot_demo文件夹拷贝到OpenHarmony源码applications/sample/wifi-iot/app目录下。
710a7ce71fSopenharmony_ci
720a7ce71fSopenharmony_ci2、需要编译哪个样例,就将对应的文件的注释打开,将其他的文件注释掉
730a7ce71fSopenharmony_ci
740a7ce71fSopenharmony_ci​      比如需要编译超声波样例,BUILD.gn文件修改为如下内容:
750a7ce71fSopenharmony_ci
760a7ce71fSopenharmony_ci```
770a7ce71fSopenharmony_cistatic_library("robot_demo") {
780a7ce71fSopenharmony_ci    sources = [
790a7ce71fSopenharmony_ci        "robot_hcsr04.c",
800a7ce71fSopenharmony_ci        "robot_l9110s.c",
810a7ce71fSopenharmony_ci        "robot_sg90.c",
820a7ce71fSopenharmony_ci        "trace_model.c",
830a7ce71fSopenharmony_ci        "ssd1306_test.c",
840a7ce71fSopenharmony_ci        "robot_control.c"
850a7ce71fSopenharmony_ci    ]
860a7ce71fSopenharmony_ci
870a7ce71fSopenharmony_ci    include_dirs = [
880a7ce71fSopenharmony_ci        "./ssd1306",
890a7ce71fSopenharmony_ci        "//utils/native/lite/include",
900a7ce71fSopenharmony_ci        "//kernel/liteos_m/kal/cmsis",
910a7ce71fSopenharmony_ci        "//base/iothardware/peripheral/interfaces/inner_api",
920a7ce71fSopenharmony_ci    ]
930a7ce71fSopenharmony_ci}
940a7ce71fSopenharmony_ci```
950a7ce71fSopenharmony_ci
960a7ce71fSopenharmony_ci3、修改app目录下的BUILD.gn文件
970a7ce71fSopenharmony_ci
980a7ce71fSopenharmony_ci```
990a7ce71fSopenharmony_ciimport("//build/lite/config/component/lite_component.gni")
1000a7ce71fSopenharmony_ci
1010a7ce71fSopenharmony_cilite_component("app") {
1020a7ce71fSopenharmony_ci    features = [
1030a7ce71fSopenharmony_ci        "robot_demo:robot_demo"
1040a7ce71fSopenharmony_ci    ]
1050a7ce71fSopenharmony_ci}
1060a7ce71fSopenharmony_ci```
1070a7ce71fSopenharmony_ci
108