请问各位老鸟,只有这些 命令能写一个呼吸等么?怎么写?
我自己做一个小东西,我想让一个呼吸灯在 Attiny85 里面运行,可是一查Attiny 只能支持如下命令,我把呼吸灯程式写进去,直接就没有呼吸效果,就是一个blink...
pinMode()
digitalWrite()
digitalRead()
analogRead()
analogWrite()
shiftOut()
pulseIn()
millis()
micros()
delay()
delayMicroseconds()
SoftwareSerial
请问就用这些命令能写出一个呼吸灯么?不能用 for() , if()
请大侠门帮忙 帮我写一个好么? 十二分感谢!!!
或者哪位大侠知道怎么让 Attiny 支持 for if 命令请教教我...
非常感谢大家~~~ 楼主对那篇原文理解有误,这些列出来的命令是指由arduino封装的函数,for和if是C的基本语句,当然支持,否则就无法实现你列出的那些命令。你试试就知道了。 春泥蛋炒饭 发表于 2013-4-24 08:28 static/image/common/back.gif
楼主对那篇原文理解有误,这些列出来的命令是指由arduino封装的函数,for和if是C的基本语句,当然支持,否则 ...
哦。。这样啊,谢谢~!但是我试了怎么没有效果呢...那个灯 就是一闪一闪没有呼吸效果哎~~~ 你可以用analogWrite()函数实现呀 attiny85的芯片arduino支持2个PWM,如果直接当作AVR用就用3个硬件PWM int ledPin = 11; // 设定控制LED的数字IO脚
int val; //定义一个变量
void setup()
{
pinMode(ledPin, OUTPUT); // 设定数字IO口的模式,OUTPUT 为输出
}
void loop()
{
for(val=0;val<255;val++) //变量循环+1
{
analogWrite(ledPin, val); //PWM输出
delay(50); //设定延时时间 越小呼吸频率越快
}
for(val=255;val>0;val--) //变量循环-1
{
analogWrite(ledPin, val);
delay(50);
}
} 本质就是控制灯的的电流大小。 和用for 或者if 有什么关系? 伯德 发表于 2013-4-27 22:28 static/image/common/back.gif
本质就是控制灯的的电流大小。 和用for 或者if 有什么关系?
本质是控制功率的大小 迷你强 发表于 2013-4-28 09:18 static/image/common/back.gif
本质是控制功率的大小
特地看了PWM口的知识。 这里LED灯电阻固定。 其功率P=UI=I^2*R=U^2/R,,PWM口输出的应该是电压的变化0-5V. 你是对的。本质是功率。
用的是万用表量的,应该是个有效值。 Arduino PWM脚应该是输出方波吧? 改天用示波器量一下。
页:
[1]