极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12841|回复: 8

请问各位老鸟,只有这些 命令能写一个呼吸等么?怎么写?

[复制链接]
发表于 2013-4-24 05:40:18 | 显示全部楼层 |阅读模式
我自己做一个小东西,我想让一个呼吸灯在    Attiny85 里面运行,
可是一查Attiny 只能支持如下命令,我把呼吸灯程式写进去,直接就没有呼吸效果,就是一个blink...

pinMode()
digitalWrite()
digitalRead()
analogRead()
analogWrite()
shiftOut()
pulseIn()
millis()
micros()
delay()
delayMicroseconds()
SoftwareSerial

请问就用这些命令能写出一个呼吸灯么?  不能用 for() , if()

请大侠门帮忙 帮我写一个好么? 十二分感谢!!!

或者哪位大侠知道怎么让 Attiny 支持 for if 命令  请教教我...
非常感谢大家~~~
回复

使用道具 举报

发表于 2013-4-24 08:28:55 | 显示全部楼层
楼主对那篇原文理解有误,这些列出来的命令是指由arduino封装的函数,for和if是C的基本语句,当然支持,否则就无法实现你列出的那些命令。你试试就知道了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-24 08:57:39 | 显示全部楼层
春泥蛋炒饭 发表于 2013-4-24 08:28
楼主对那篇原文理解有误,这些列出来的命令是指由arduino封装的函数,for和if是C的基本语句,当然支持,否则 ...

哦。。这样啊,谢谢~!但是我试了怎么没有效果呢...  那个灯 就是一闪一闪  没有呼吸效果哎~~~
回复 支持 反对

使用道具 举报

发表于 2013-4-24 09:00:33 | 显示全部楼层
你可以用analogWrite()函数实现呀
回复 支持 反对

使用道具 举报

发表于 2013-4-24 09:01:33 | 显示全部楼层
attiny85的芯片arduino支持2个PWM,如果直接当作AVR用就用3个硬件PWM
回复 支持 反对

使用道具 举报

发表于 2013-4-24 11:10:50 | 显示全部楼层
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);
    }
}
回复 支持 反对

使用道具 举报

发表于 2013-4-27 22:28:43 | 显示全部楼层
本质就是控制灯的的电流大小。 和用for 或者if 有什么关系?
回复 支持 反对

使用道具 举报

发表于 2013-4-28 09:18:02 | 显示全部楼层
伯德 发表于 2013-4-27 22:28
本质就是控制灯的的电流大小。 和用for 或者if 有什么关系?

本质是控制功率的大小
回复 支持 反对

使用道具 举报

发表于 2013-4-29 00:28:07 | 显示全部楼层
迷你强 发表于 2013-4-28 09:18
本质是控制功率的大小

特地看了PWM口的知识。 这里LED灯电阻固定。 其功率P=UI=I^2*R=U^2/R,,  PWM口输出的应该是电压的变化0-5V. 你是对的。本质是功率。
用的是万用表量的,应该是个有效值。 Arduino PWM脚应该是输出方波吧? 改天用示波器量一下。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-5 13:30 , Processed in 0.038679 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表