APM2.6的LED小灯控制
来源:互联网 发布:淘宝商品上架时间 编辑:程序博客网 时间:2024/05/05 07:57
本文章为入门级APM编程控制教程,使用arduino编程,编写最简单的流水灯实验。
编写环境arduino的安装以及APM飞控源码等内容就不在做介绍了,直接说如何进行APM的小灯控制。
打开后可以看到两个函数,分别是void setup()和void loop()其中setup()仅执行一次,loop()为永久循环,因此我们在setup中添加初始化引脚的按钮。
在APM飞控中,有三个小灯,分别为PA3、PA4、PA5,对应的arduino引脚为5、2、3,分别为蓝,黄和红三个小灯(可自行查看原理图)因此在setup()中初始化该三个引脚为输出,代码如下:(以下代码写到setup()函数中)
pinMode( 5, OUTPUT ); pinMode( 2, OUTPUT ); pinMode( 3, OUTPUT );
接下来就是让这三个等循环点亮,很简单,就是延时拉低某个引脚就可以了:(以下代码写到loop()中)
digitalWrite( 5, LOW); digitalWrite( 2, HIGH ); digitalWrite( 3, HIGH ); delay(500); digitalWrite( 5, HIGH ); digitalWrite( 2, LOW); digitalWrite( 3, HIGH ); delay(500); digitalWrite( 5, HIGH ); digitalWrite( 2, HIGH ); digitalWrite( 3, LOW); delay(500);
连接USB线和APM飞控,在arduino上选择相应的串口,点击上传就可以将程序上传到APM上了,完成后就可以看到三个小灯在轮流闪烁,这样APM做出来的流水灯就完成了。
附上自己写的使用APM的电调信号输出口输出的LED流水灯程序。
/* Blink Turns on an LED on for one second, then off for one second, repeatedly. Most Arduinos have an on-board LED you can control. On the Uno and Leonardo, it is attached to digital pin 13. If you're unsure what pin the on-board LED is connected to on your Arduino model, check the documentation at http://arduino.cc This example code is in the public domain. modified 8 May 2014 by Scott Fitzgerald */unsigned char pinMap[11] = {5,2,3,6,7,8,11,12,25,26,27};// the setup function runs once when you press reset or power the boardvoid setup() { // initialize digital pin 13 as an output.\ unsigned char i; // for( i = 0; i < 11; i++ ) pinMode( pinMap[i], OUTPUT ); }// the loop function runs over and over again forevervoid loop() { unsigned char i,j; for( i = 0; i < 8; i++ ) { for( j = 0; j < 8; j++ ) digitalWrite( pinMap[j], HIGH ); digitalWrite( pinMap[7-i], LOW ); if( i == 0 ) { digitalWrite( pinMap[8], HIGH ); digitalWrite( pinMap[9], HIGH ); digitalWrite( pinMap[10], HIGH ); } if( i == 3 ) { digitalWrite( pinMap[8], LOW ); digitalWrite( pinMap[9], LOW ); digitalWrite( pinMap[10], LOW ); } delay(125); } for( i = 0; i < 8; i++ ) { for( j = 0; j < 8; j++ ) digitalWrite( pinMap[j], HIGH ); digitalWrite( pinMap[i], LOW ); if( i == 0 ) { digitalWrite( pinMap[8], HIGH ); digitalWrite( pinMap[9], HIGH ); digitalWrite( pinMap[10], HIGH ); } if( i == 3 ) { digitalWrite( pinMap[8], LOW ); digitalWrite( pinMap[9], LOW ); digitalWrite( pinMap[10], LOW ); } delay(125); }}
0 0
- APM2.6的LED小灯控制
- 外网远程控制LED小灯的实现
- 用C#控制TQ2440开发板上的LED小灯(C# GPIO学习笔记)
- 用C#控制TQ2440开发板上的LED小灯(C# GPIO学习笔记)
- ARM开发板mini2440的按键控制LED小程序
- 树莓派通过Flask网页端控制LED小灯
- android jni的编写, 控制led灯
- Tiny4412开发板 LED灯的控制
- led的位移控制
- LED灯控制实验
- Led灯控制代码
- 点亮LED小灯
- 蓝牙控制LED的点亮
- 简单的按键控制LED
- openwrt中LED的控制
- 基于TINY4412的Andorid开发-------简单的LED灯控制
- 基于TINY4412的Andorid开发-------简单的LED灯控制
- 基于TINY4412的Andorid开发-------简单的LED灯控制
- C++ 泛型句柄类
- cocos2d-x 3.x之定时器
- 《PHP100带给程序员的11条建议》和《PHP100告诉你应该如何学习编程》
- IOS 中的多线程问题
- 使用Python获取指定文件夹下文件名列表
- APM2.6的LED小灯控制
- android HttpClient访问网络获取数据
- 爱如手中沙
- Linux常用命令(四十五) - route
- 51单片机 LED点阵的呼吸灯效果
- 用vlc搭建流媒体服务器
- ORA-02030 问题解决
- Java进阶之JSP生成条形码知识点总结
- OpenCASCADE Camera