欢迎使用哪吒A主控盒,在本篇教程中,我们将准备好编程环境,并熟悉哪吒A主控盒的板载功能的基本应用。

下载并安装Arduino IDE

由于哪吒A主控盒支持Arduino IDE进行编程,所以我们需要下载并安装Arduino IDE。
访问Arduino 官方网站,根据系统下载安装最新版本的 Arduino IDE: https://www.arduino.cc/en/Main/Software
编程环境准备及示例 - 图1

软件编程

为了使用哪吒A主控盒的板载功能,我们需要下载哪吒A主控盒的库文件和依赖库文件。
下载哪吒A主控盒的库文件NezhaA-main.zip
下载哪吒A主控盒的依赖库文件Adafruit_NeoPixel-master.zip
打开Arduino IDE 并选择工具-开发板-Arduino Uno。
编程环境准备及示例 - 图2
使用type-c数据线将哪吒A主控盒连接至电脑端。
编程环境准备及示例 - 图3
连接完成后,点击工具-端口,设置硬件连接的端口。
编程环境准备及示例 - 图4
点击项目-加载库-添加.ZIP库…。
编程环境准备及示例 - 图5
选择NezhaA-main.zip,添加哪吒A主控盒的库文件。
添加库文件.PNG
用同样的方法导入添加哪吒A主控盒的依赖库文件Adafruit_NeoPixel-master.zip

硬件连接

分别将两个电机和两个舵机连接到哪吒A主控盒的M1、M2和S1、S2。
编程环境准备及示例 - 图7

编写程序

示例一:控制舵机和电机

  1. #include <MuZa.h>
  2. MuZa muZa; //创建一个MuZa类的实例
  3. void setup() {
  4. muZa.begin(); //初始化蜂鸣器、电机、舵机、灯光
  5. }
  6. void loop() {
  7. muZa.setMotorSpeed(M1, 60); //设置电机速度,速度为百分比,范围:-100~+100
  8. muZa.setMotorSpeed(M2, 60);
  9. muZa.setServoAngle(S1, 180); //设置舵机角度
  10. delay((2) * 1000);
  11. muZa.setServoAngle(S2, 180);
  12. delay((2) * 1000);
  13. muZa.setServoAngle(S1, 0);
  14. delay((2) * 1000);
  15. muZa.setServoAngle(S2, 0);
  16. delay((2) * 1000);
  17. }

点击文件-保存,保存程序文件。
编程环境准备及示例 - 图8
选择保存路径,设置文件名并点击保存。
编程环境准备及示例 - 图9
点击上传按钮,将程序上传至哪吒A主控盒
添加库文件2.PNG

结果

开启电源后,两个电机开始转动,并且两个舵机轮流转动到设定的角度。

示例二:播放音符

  1. #include <MuZa.h>
  2. MuZa muZa; //创建一个MuZa类的实例
  3. void setup() {
  4. muZa.begin(); //初始化蜂鸣器、电机、舵机、灯光
  5. muZa.setTempo(60); //设置蜂鸣器的演奏速度
  6. muZa.tone(262, muZa.beatsToMS(0.25)); //设置演奏音符和节拍
  7. muZa.tone(0, muZa.beatsToMS(0.25)); //设置蜂鸣器休止
  8. muZa.tone(294, muZa.beatsToMS(0.25));
  9. muZa.tone(0, muZa.beatsToMS(0.25));
  10. muZa.tone(330, muZa.beatsToMS(0.25));
  11. muZa.tone(0, muZa.beatsToMS(0.25));
  12. muZa.tone(349, muZa.beatsToMS(0.25));
  13. muZa.tone(0, muZa.beatsToMS(0.25));
  14. muZa.tone(392, muZa.beatsToMS(0.25));
  15. muZa.tone(0, muZa.beatsToMS(0.25));
  16. muZa.tone(440, muZa.beatsToMS(0.25));
  17. muZa.tone(0, muZa.beatsToMS(0.25));
  18. muZa.tone(494, muZa.beatsToMS(0.25));
  19. muZa.tone(0, muZa.beatsToMS(0.25));
  20. muZa.tone(523, muZa.beatsToMS(0.25));
  21. muZa.tone(0, muZa.beatsToMS(0.25));
  22. muZa.tone(400, 2000); //设置蜂鸣器播放频率和时间
  23. }
  24. void loop() {
  25. }

结果

开启电源后,蜂鸣器播放音符。

示例三:光控灯

  1. #include <MuZa.h>
  2. MuZa muZa; //创建一个MuZa类的实例
  3. void setup() {
  4. muZa.begin(); //初始化蜂鸣器、电机、舵机、灯光
  5. }
  6. void loop() {
  7. if ((muZa.getLightSensor()) < 50) { //判断光敏传感器的返回值是否小于50
  8. muZa.showRGB(108, 30, 187); //设置LED的R、G、B的值
  9. } else {
  10. muZa.clearRGB(); //清除灯光效果
  11. }
  12. }

结果

根据周围的环境光强度自动打开或者关闭灯光。

示例四:声控灯

  1. #include <MuZa.h>
  2. MuZa muZa; //创建一个MuZa类的实例
  3. void setup() {
  4. muZa.begin(); //初始化蜂鸣器、电机、舵机、灯光
  5. }
  6. void loop() {
  7. if ((muZa.getNoiseSensor()) > 100) { //判断噪音传感器的返回值是否大于100
  8. muZa.showRGB(108, 30, 187); //设置LED的R、G、B的值
  9. delay((2) * 1000); //延时1000ms
  10. } else {
  11. muZa.clearRGB(); //清除灯光效果
  12. }
  13. }

结果

根据周围环境的噪音等级自动打开或者关闭灯光。