1.本文整理自视频 太极创客 零基础入门学用Arduino 第一部分 合辑.
需要的硬件:一个Arduino Uno开发板、一个200-500欧姆电阻、一个共阴极数码管、一个按键、数条杜邦线、跳线
![在这里插入图片描述](https://img-blog.csdnimg.cn/b41618c6cff34a2ba9f3877d63e2166a.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6ZqU5aOB5a6255qE546L5bCP55Cq,size_20,color_FFFFFF,t_70,g_se,x_16)
2.显示数字其实就是显示各个数码管,注意需要在点亮led后进行要给清理显示内容的操作,下面介绍了显示1.2.3的四路。先在setup()里面设置IO为输出模式,然后在loop()里面设置显示。
![在这里插入图片描述](https://img-blog.csdnimg.cn/a037c334498b4ab1b7d21be70e99c985.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6ZqU5aOB5a6255qE546L5bCP55Cq,size_20,color_FFFFFF,t_70,g_se,x_16)
void setup()
{
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
}
void loop()
{
//显示数字1
digitalWrite(4,HIGH)
digitalWrite(7,HIGH)
delay(500)
//清理显示内容
digitalWrite(3,LOW)
digitalWrite(4,LOW)
digitalWrite(5,LOW)
digitalWrite(6,LOW)
digitalWrite(7,LOW)
digitalWrite(8,LOW)
digitalWrite(9,LOW)
delay(500)
//显示数字2
digitalWrite(3,HIGH)
digitalWrite(4,HIGH)
digitalWrite(5,HIGH)
digitalWrite(8,HIGH)
digitalWrite(9,HIGH)
delay(500)
//清理显示内容
digitalWrite(3,LOW)
digitalWrite(4,LOW)
digitalWrite(5,LOW)
digitalWrite(6,LOW)
digitalWrite(7,LOW)
digitalWrite(8,LOW)
digitalWrite(9,LOW)
delay(500)
//显示数字3
//…………
//清理显示内容
digitalWrite(3,LOW)
digitalWrite(4,LOW)
digitalWrite(5,LOW)
digitalWrite(6,LOW)
digitalWrite(7,LOW)
digitalWrite(8,LOW)
digitalWrite(9,LOW)
delay(500)
}
//用while语句来替换掉一些重复的代码
void setup()
{
int pinNumber=3;
while(pinNumber<=9)
{
pinMode(pinNumber,OUTPUT);
pinNumber=pinNumber+1;
}
}
//替换掉如下代码
void setup()
{
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
}
3.if和if……else和switch case的区别
![在这里插入图片描述](https://img-blog.csdnimg.cn/4df1996846484cff9ae5b2dec97448b0.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6ZqU5aOB5a6255qE546L5bCP55Cq,size_19,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/db3f3da747dc4762a1c26e9e26a6797d.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6ZqU5aOB5a6255qE546L5bCP55Cq,size_18,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/26131d02713a432b83e00ef49f4cc08b.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6ZqU5aOB5a6255qE546L5bCP55Cq,size_15,color_FFFFFF,t_70,g_se,x_16)
4.自定义函数。清除显示函数
void setup()
{
int pinNumber=3;
while(pinNumber<=9)
{
pinMode(pinNumber,OUTPUT);
pinNumber=pinNumber+1;
}
randomSeed(analogRead(A0));//产生真的随机数
}
void loop()
{
int myNumber;
if(!digitalRead(2))//如果2脚为低电平,即按下
{
myNumber=getRandomNumber(0,10);//产生随机数字0-9
}
displayNumber(myNumber);//显示数字
delay(500);
displayClear();//清除显示
delay(500);
}
//下面都是自定义的三个函数
int getRandomNumber(int minNumber,int maxNumber)//定义一个返回值是整型的函数
{
int randomNumber;//定义整型变量randomNumber
randomNumber=random(minNumber,maxNumber);//运用Arduino自带的函数random取随机值
Serial.print("randomNumber = ");//串口打印字符串"randomNumber ="
Serial.println(randomNumber);//串口打印randomNumber的值,并换行
Serial.println("");//串口打印空白,并换行
return randomNumber;//将变量randomNumber的值返回函数
}
void displayClear()//定义清除显示的函数
{
//清理显示内容
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
}
void displayNumber(int ledNumber)//定义通过判断显示0-9
{
switch (ledNumber)
{
case 1://显示数字1
digitalWrite(4,HIGH);
digitalWrite(7,HIGH);
break;
case 2://显示数字2
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(8,HIGH);
break;
case 3://显示数字3
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
break;
///
case 4://显示数字4
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
break;
case 5://显示数字5
digitalWrite(3,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
break;
case 6://显示数字6
digitalWrite(3,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
break;
case 7://显示数字7
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(7,HIGH);
break;
case 8://显示数字8
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
break;
case 9://显示数字9
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
break;
case 0://显示数字0
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
break;
default:
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
}
}