求教简单问题,请高手们编一个给我学习一下
求教简单问题,请高手们编一个给我学习一下我想编的输出4端口,控制4个led二极管灯,输入2个按钮。
我想用2个按键加减数值,当数值等于1启动第一组组合,数值等于2启动第二组组合,一直几十种设定好组合
1-4个二极管灯,几十种组合
就是按下一组,4个端口的led就按照我编好顺序端口亮
按上一组,就照顺序回退。
http://8365329.s21i-8.faiusr.com/2/ABUIABACGAAgw93CwAUo8Oqm2gEwvAU4oQU!450x450.jpg 就当四个灯是个二进制数不就可以了 275891381 发表于 2016-10-27 09:04
就当四个灯是个二进制数不就可以了
:(听不懂,我是arduino新手,,,能不能写个给我数组学学啊? 本帖最后由 275891381 于 2016-11-14 12:42 编辑
#define led_num 4
#define xianshi_moshi 6
// B0000 0 0 0 0,引脚对应
int led={ 7,6,5,4};
int led_dianliang_fangshi=0;//低电平点亮==1 高电平点亮
char moshi= { //1为点亮
B00000000, // = 0
B00000001, // = 1
B00000011, // = 2
B00000111, // = 3
B00001111, // = 4
B00001010, // = 5
};
void led_out(char haha)
{
for(int i=0;i<led_num;i++)
{
if(led_dianliang_fangshi==0)
digitalWrite(led,~(unsigned char)haha%2);
else
digitalWrite(led,(unsigned char)haha%2);
haha=haha>>1;
}
}
void setup() {
for(int i=0;i<led_num;i++)
{
pinMode(led, OUTPUT);
digitalWrite(led, ~led_dianliang_fangshi);
}
}
void loop() {
for(int i=0;i<xianshi_moshi;i++)
{
led_out(moshi);
delay(1000);
}
}
或者显示模式定义成二维数组,可以参考数码管例子,效果一样
页:
[1]