本帖最后由 弘毅 于 2013-7-10 16:14 编辑
Mr.Roe 发表于 2013-7-10 15:37 static/image/common/back.gif
回复好神速!程序就是复制一楼的~点不亮,好捉急~
看到了,你那个蓝色的GND线。。因为跨了面包板中部。这两边的线是不通的,你需要用一根短跳线连起来两边,你看那个丝印,蓝色的线在面包板中间部分,是断开的。
弘毅 发表于 2013-7-10 16:12 static/image/common/back.gif
看到了,你那个蓝色的GND线。。因为跨了面包板中部。这两边的线是不通的,你需要用一根短跳线连起来两边 ...
原来是这样,我自己排错发现换另一边就亮了,还以为是面包版有质量问题~~T - T 谢谢大大~
本帖最后由 chaoser 于 2013-8-7 17:08 编辑
南方之南 发表于 2012-10-24 10:40 static/image/common/back.gif
void style1 ()
{
unsigned char i,j;
这个没人回复,我来吧。
看了下程序,虽然很崎岖,但大概明白了意思:
首先,7个LED从中间向两侧依次对称点亮,再由两侧向中间依次熄灭。之后,从1到7闪烁一下点亮,再依次熄灭。
那么我来重新实现一下。不过我用的是2~8号引脚,方便起见,头两个引脚还是空着吧。
/* 程序功能:
首先,7个LED从中间向两侧依次对称点亮,再由两侧向中间依次熄灭。
之后,从1到7闪烁一下点亮,再依次熄灭。 */
void setup() { for (int i=2; i<=8; i++) {pinMode(i,OUTPUT);}}
void loop() {
int i;
for (i=0; i<=3; i++) {
digitalWrite(5+i,HIGH);
digitalWrite(5-i,HIGH);
delay(500);
}
for (i=3; i>=0; i--) {
digitalWrite(5+i,LOW);
digitalWrite(5-i,LOW);
delay(500);
}
for (i=2; i<=8; i++) {
digitalWrite(i,HIGH);
delay(200);
digitalWrite(i,LOW);
delay(200);
digitalWrite(i,HIGH);
delay(200);
}
for (i=2; i<=8; i++) {
digitalWrite(i,LOW);
delay(400);
}
}
迷你强 发表于 2012-8-19 15:02 static/image/common/back.gif
一样的啊,只要将所有点亮led的语句一起写出来就行了
给个例程吧/*
强哥,问你一个问题,17到21行,当一个x被赋值之后运行digitalwrite(x,high)led直接就亮了么?还是运行完时间再亮,如果是high之后直接亮,然后再去重新给x赋值,如果处理器很慢,是不是就可以认为不是一块点亮的呢?
;P其实的确不是一起点亮的,他们之间有0.00几毫秒的延时。。。但是对人来说,没区别,计算机的原理就是这样,一个处理核心,单位时间内只能处理一件事情
本帖最后由 迷你强 于 2013-9-9 09:11 编辑
int led={1,2,3,4};
void setup()
{
for(int i=0;i<4;i++)
pinMode(led,OUTPUT);
Serial.begin(9600);
/* add setup code here */
}
void loop()
{
void fun(int );
int num=15;
for(num=15;num>0;num--)
fun(num);
/*Serial.read(num);
if(Serial.available(num))*/
/* add main program code here */
}
void fun(int num)
{
int a,n=0;
while(!(num/2)&&!(num%2))
{
if(num%2==1)
a=1;
else
a=0;
n++;
num=num/2;
}
for(int i=0;i<4;i++)
{
if(a=1)
digitalWrite(led,HIGH);
else
continue;
}
delay(5000);
for(int j=0;i<4;i++)
{digitalWrite(led,LOW);}
delay(1000);
}我想让灯泡像二进制一样的有顺序的亮,可是不行 指点一下是算法哪里出问题了
嗯!不错的教程,受教了!
迷你强 发表于 2012-8-19 15:02 static/image/common/back.gif
一样的啊,只要将所有点亮led的语句一起写出来就行了
给个例程吧/*
强哥问个问题;就是关于这题的一个片段。
for (int x=2; x<=7; x++) //通过循环的方式依次让每个引脚的led在点亮
{
digitalWrite(x,HIGH);
}
delay(500); //同时点亮等待0.5秒
请问执行顺序是不是先一个灯一个灯的瞬间亮了一下熄了,然后等执行完7之后,再一起亮0-5s?
学习了 非常受用
为什么都看不到作业演示呢{:soso_e154:}
363999595 发表于 2013-11-7 21:03 static/image/common/back.gif
为什么都看不到作业演示呢
估计懒。。。
我是新手想学,谢谢!
验证码太麻烦!
新月 发表于 2013-11-30 13:12 static/image/common/back.gif
我是新手想学,谢谢!
验证码太麻烦!
验证码的问题,要恨就恨广告党吧~!
/*
作者:极客工坊
时间:2012年5月24日
IDE版本号:1.0.1
发布地址:www.geek-workshop.com
作用:让六个led依次点亮熄灭
*/
void setup()
{
for (int i=2; i<=4; i++) //通过循环的方式设置2-7号引脚为输出状态
{
pinMode(i,OUTPUT);
}
}
void loop()
{
for (int x=2; x<=4; x++) //通过循环的方式依次让每个引脚的led在1秒内完成明灭
{
digitalWrite(x,HIGH);
delay(500);
digitalWrite(x,LOW);
delay(500);
}
}
这样怎么不行,求解
* 程序功能:
作用:让三个点依次点亮熄灭
*/
void setup(){for(int i=2; i
<=4; i++) pinMode(i;OUTPUT);}
void loop()
{
for (int x=2;x=4;x++)
{
digitalWrite(x,HIGH)
delay(100)
digitalWrite(x,LOW)
delay(100);
}
}怎么不行求解