int keyPin=7;
int ledPin=13;
void setup() {
// put your setup code here, to run once:
pinMode(keyPin,INPUT);
pinMode(ledPin,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
boolean Value=digitalRead(keyPin);
if(Value==HIGH)
{
digitalWrite(ledanhPin,LOW);
}
else
{
digitalWrite(ledPin,HIGH);
}
}
今天做的第一个小硬件是轻触开关按键实验。
首先是对我们会用到的两个装置进行定义,一个是开关,也就是keyPin,其接在7号引脚上面; 然后是ledPin,这里用到的等是arduino上自带的等,就在13号管脚处,所以不用再接线。
然后keyPin作为输入,所以用INPUT,而ledPin作为输出,用OUTPUT。
在loop函数中,首先是一个布尔型函数,判断value的状态(我查的value有明度的意思),而value读取的是keyPin的状态,然后是一个if语句,如果keyPin处于闭合状态,返回LOW,则ledPin处于HIGH状态,亮光;如果keyPin处于打开状态,返回HIGH,则ledPin处于LOW状态,亮光;
int signPin=7;
int ledPin=13;
boolean signState=0;
void setup() {
// put your setup code here, to run once:
pinMode(signPin,INPUT);
pinMode(ledPin,OUTPUT);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
signState=digitalRead(signPin);
Serial.println(signState);
if(signState==HIGH)
{
digitalWrite(ledPin,LOW);
}
else
{
digitalWrite(ledPin,HIGH);
}
}
今天做的第二个实验是倾斜开关实验。用到了一个倾斜开关模块
首先还是对要用到的几个名称进行定义,signPin连在了7接口上面,ledPin还是13接口,这次在开始就用了布尔型来判断signState的状态。
然后在setput函数里面与上一个实验一样,我就不多赘述了。
在loop函数里面,我们先对signState进行定义,其对于signPin的状态,当signPin平放的时候,属于打开状态,输入HIGH,ledPin则表现出LOW的状态,不良光。signPin斜着放时情况相反。
#include<IRremote.h>
int irReceiverPin=7;
int ledPin=13;
IRrecv irrecv(irReceiverPin);
decode_results results;
void setup() {
// put your setup code here, to run once:
pinMode(ledPin,OUTPUT);
Serial.begin(9600);
irrecv.enableIRIn();
}
void loop() {
// put your main code here, to run repeatedly:
if(irrecv.decode(&results))
{
Serial.print("irCode:");
Serial.print(results.value,HEX);
Serial.print(",bits:");
Serial.print(results.bits);
irrecv.resume();
}
delay(600);
if(results.value==0xFFA25D)
{
digitalWrite(ledPin,HIGH);
}
else
{
digitalWrite(ledPin,LOW);
}
}
第三个实验厉害了,用红外遥控器做了一个红外控制灯光的实验。
怎么解释呢?我也不是很懂。。。欲知为啥,请听下回分解。(你找别人的看吧,我是个菜鸟)