数码管实验改成数字骰子实验
数码管实验改成数字骰子实验根据’’迷你强’的arduino数码管实验’,再连接一个按纽,做成数字骰子实验.
徽型按纽 一端接5V,另一端接A0模拟端口.
为了使主程序便于观看,把显示数字的功能做成了子程序.
void digital_0(void)
{
/*==============显示数字0==========*/
int n0={0,0,0,0,0,0,1,1};
//定义数组通过0,1定义各数码管的明灭.
int z=0;
for (int x=2;x<=9;x++)
//采用循环方式方式点亮指定的数码管Led(数级中0为点亮),单位时间只点亮1个led
{
digitalWrite(x,n0);
z++;
//点亮led语句,X为引脚数 n0为数组z为0--8的变量,来依次读取数组中的值z++
if (z>=9) //防止变量z累加超过了8
z=0;
}
}
void digital_1(void)
{
/*=============display 1=========*/
int n1={1,0,0,1,1,1,1,1};
int z=0;
for (int x=2;x<=9;x++)
{
digitalWrite(x,n1);
z++;
if (z>=9)
z=0;
}
}
void digital_2(void)
{
/*============display 2==========*/
int n2={0,0,1,0,0,1,0,1};
int z=0;
for (int x=2;x<=9;x++)
{
digitalWrite(x,n2);
z++;
if (z>=9)
z=0;
}
}
void digital_3()
{
/*============dispaly 3=======*/
int n3={0,0,0,0,1,1,0,1};
intz=0;
for (int x=2;x<=9;x++)
{
digitalWrite(x,n3);
z++;
if (z>=9)
z=0;
}
}
void digital_4()
{
/*=========display 4======*/
int n4={1,0,0,1,1,0,0,1};
int z=0;
for (int x=2;x<=9;x++)
{
digitalWrite(x,n4);
z++;
if (z>=9)
z=0;
}
}
void digital_5()
{
/*=========display 5======*/
int n5={0,1,0,0,1,0,0,1};
intz=0;
for (int x=2;x<=9;x++)
{
digitalWrite(x,n5);
z++;
if (z>=9)
z=0;
}
}
void digital_6()
{
/*=========display 6======*/
int n6={0,1,0,0,0,0,0,1};
intz=0;
for (int x=2;x<=9;x++)
{
digitalWrite(x,n6);
z++;
if (z>=9)
z=0;
}
}
void digital_7()
{
/*=========display 7======*/
int n7={0,0,0,1,1,1,1,1};
intz=0;
for (int x=2;x<=9;x++)
{
digitalWrite(x,n7);
z++;
if (z>=9)
z=0;
}
}
void digital_8()
{
/*=========display 8======*/
int n8={0,0,0,0,0,0,0,1};
intz=0;
for (int x=2;x<=9;x++)
{
digitalWrite(x,n8);
z++;
if (z>=9)
z=0;
}
}
void digital_9()
{
/*=========display 9======*/
int n9={0,0,0,0,1,0,0,1};
int z=0;
for (int x=2;x<=9;x++)
{
digitalWrite(x,n9);
z++;
if (z>=9)
z=0;
}
}
void digital_a()
{
/*=========display a======*/
int na={1,1,0,0,0,1,0,1};
int z=0;
for (int x=2;x<=9;x++)
{
digitalWrite(x,na);
z++;
if (z>=9)
z=0;
}
}
void digital_b()
{
/*=========display b======*/
int nb={1,1,0,0,0,0,0,1};
int z=0;
for (int x=2;x<=9;x++)
{
digitalWrite(x,nb);
z++;
if (z>=9)
z=0;
}
}
void digital_c()
{
/*=========display c======*/
int nc={0,1,1,0,0,0,1,1};
int z=0;
for (int x=2;x<=9;x++)
{
digitalWrite(x,nc);
z++;
if (z>=9)
z=0;
}
}
void digital_d()
{
/*=========display d======*/
int nd={1,0,0,0,0,1,0,1};
int z=0;
for (int x=2;x<=9;x++)
{
digitalWrite(x,nd);
z++;
if (z>=9)
z=0;
}
}
void digital_e()
{
/*=========display e======*/
int ne={0,0,1,0,0,0,0,1};
int z=0;
for (int x=2;x<=9;x++)
{
digitalWrite(x,ne);
z++;
if (z>=9)
z=0;
}
}
void digital_f()
{
/*=========display F======*/
int nF={0,1,1,1,0,0,0,1};
int z=0;
for (int x=2;x<=9;x++)
{
digitalWrite(x,nF);
z++;
if (z>=9)
z=0;
}
}
初始参数设置
void setup()
{
Serial.begin(9600);
pinMode(13,OUTPUT);
//激活13号引脚,我们需要用它供电
for (int n=2;n<=9;n++)
{
pinMode(n,OUTPUT);
}
}
循环内容
void loop()
{
digitalWrite(13,HIGH);
int temp;
temp=analogRead(A0);
digital_0();
while (analogRead(A0)>1000); //如果读到模拟口A0的值为1000说明有按键按下
{Serial.println(temp); delay(100);}
digital_1();
while (analogRead(A0)>1000);
{Serial.println(temp); delay(100);}
digital_2();
while (analogRead(A0)>1000);
{Serial.println(temp); delay(100);}
digital_3();
while (analogRead(A0)>1000);
{Serial.println(temp); delay(100);}
digital_4();
while (analogRead(A0)>1000);
{Serial.println(temp); delay(100);}
digital_5();
while (analogRead(A0)>1000);
{Serial.println(temp); delay(100);}
digital_6();
while (analogRead(A0)>1000);
{Serial.println(temp); delay(100);}
digital_7();
while (analogRead(A0)>1000);
{Serial.println(temp); delay(100);}
digital_8();
while (analogRead(A0)>1000);
{Serial.println(temp); delay(100);}
digital_9();
while (analogRead(A0)>1000);
{Serial.println(temp); delay(100);}
digital_a();
while (analogRead(A0)>1000);
{Serial.println(temp); delay(100);}
digital_b();
while (analogRead(A0)>1000);
{Serial.println(temp); delay(100);}
digital_c();
while (analogRead(A0)>1000);
{Serial.println(temp); delay(100);}
digital_d();
while (analogRead(A0)>1000);
{Serial.println(temp); delay(100);}
digital_e();
while (analogRead(A0)>1000);
{Serial.println(temp); delay(100);}
}
这个图是VBB画的吗? 不是,是从原教程(数码管实验--迷你强 )图中取得图片,再在window附带绘图软件中添加的.
页:
[1]