|
本帖最后由 wqes4205 于 2013-6-21 11:57 编辑
數字8碼顯示於LCD之第一列,由Serial Monitor 輸入一介於0~9間之數字 n,每按下按鈕,數字各碼依次與n相加數,顯示於LCD第二列之對應位置(結果請以16進位制表示,進位不顯示),當相加結果發生進位時,蜂鳴器叫1 秒,未進位則點亮LED,最後,請將統計進位之個數顯示Serial Monitor 上。
#include <SerialLCD.h>
#include <SoftwareSerial.h>
int buttonState = 0;
int button= A0 ;
SerialLCD slcd(11,12);
int incomingByte = 0;
int bee = 6 ;
int led = 13 ;
int i=0,a=0;
int aa[]={0,0,3,7,0,8,7,1};
void setup() {
Serial.begin(9600);
pinMode(bee, OUTPUT);
pinMode(led, OUTPUT);
slcd.begin();
}
void loop() {
slcd.home();
buttonState = analogRead(button)/1023.0*8.0;
slcd.setCursor(0,1);
slcd.print(buttonState,DEC);
slcd.setCursor(0,0);
for(i=0;i<buttonState;i++)
{
slcd.print(aa,DEC);
}
if (Serial.available() > 0)
{
incomingByte = Serial.read()-48;
Serial.print("number: ");
Serial.println(incomingByte, DEC);
for(i=0;i<buttonState;i++)
{
if(aa>=incomingByte)
{
a++;
}
}
Serial.println(a);
if(a>=2)
{
digitalWrite(led, HIGH);
a=0;
}
else
{
digitalWrite(led,LOW);
}
}
delay(1000);
slcd.clear();
}
|
|