投幣機
#include "SPI.h"
const int PinBase= 2;
boolean bDI[7]={0};
int nType = 0;
int nMoney[7]={0};// coin type
const char *wCoin[]={"日","台"};
const int XX[2][7]={{1,50,5,100,10,500,0},{1,0 ,5,0 ,0 ,10 ,50}};
void setup()
{
Serial.begin(57600);
Serial.println(" - 請選擇分類幣種,1 = 台幣,2 = 日幣");
}
void ConfigSystem()
{
nType = 0; for(int i=0;i<7;i++){nMoney[i] =0;}
}
void loop()
{
if(Serial.available()) //判斷選擇幣種,優先進入此邏輯
{
char keyin = Serial.read();
if (keyin == '1'){Serial.println(" - 將進行台幣分類計算"); nType = 0; }
else if (keyin == '2'){Serial.println(" - 將進行日幣分類計算"); nType = 1; }
else if (keyin == '3'){Serial.println(" - 系統重置,將歸零計算,");
const int PinBase= 2;
boolean bDI[7]={0};
int nType = 0;
int nMoney[7]={0};// coin type
const char *wCoin[]={"日","台"};
const int XX[2][7]={{1,50,5,100,10,500,0},{1,0 ,5,0 ,0 ,10 ,50}};
void setup()
{
Serial.begin(57600);
Serial.println(" - 請選擇分類幣種,1 = 台幣,2 = 日幣");
}
void ConfigSystem()
{
nType = 0; for(int i=0;i<7;i++){nMoney[i] =0;}
}
void loop()
{
if(Serial.available()) //判斷選擇幣種,優先進入此邏輯
{
char keyin = Serial.read();
if (keyin == '1'){Serial.println(" - 將進行台幣分類計算"); nType = 0; }
else if (keyin == '2'){Serial.println(" - 將進行日幣分類計算"); nType = 1; }
else if (keyin == '3'){Serial.println(" - 系統重置,將歸零計算,");
Serial.println(" 請再重新選擇幣種進行分類"); ConfigSystem(); }
}
for(int i=0;i<7;i++){ bDI[i] = digitalRead(PinBase+i); if(bDI[i]==0) delay(100);}
Prt();
}
void Prt()
{
for(int i=0;i<7;i++)
{
if(bDI[i]==0)
{
Serial.println(" -");Serial.print(wCoin[nType]);Serial.println("-幣-");
Serial.println("XX[nType][i]");Serial.println("-");
nMoney[i] ++;
}
}
PrtSum();
}
void PrtSum() //序列視窗檢視
{
int sum=0; for(int i=0;i<7;i++){ sum+=nMoney[i];}
Serial.print(" -這是第 "); Serial.print(sum); Serial.print(" 顆硬幣 -");
sum=0; for(int i=0;i<7;i++){ sum+=nMoney[i]*XX[nType][i];}
Serial.print(" -目前金錢總額為: "); Serial.print(sum); Serial.println(" $-");
Serial.println(" -目前各金錢為: ");
for(int i=0;i<7;i++)
{
if(XX[nType][i]!=0)
{
Serial.print(" -"); Serial.print(wCoin[nType]); Serial.print(" ");
Serial.print(XX[nType][i]); Serial.print(" 元: ");
Serial.print(nMoney[i]*XX[nType][i]);
Serial.print(" - 共: "); Serial.print(nMoney[i]); Serial.println(" 顆");
}
}
Serial.println();
}
}
for(int i=0;i<7;i++){ bDI[i] = digitalRead(PinBase+i); if(bDI[i]==0) delay(100);}
Prt();
}
void Prt()
{
for(int i=0;i<7;i++)
{
if(bDI[i]==0)
{
Serial.println(" -");Serial.print(wCoin[nType]);Serial.println("-幣-");
Serial.println("XX[nType][i]");Serial.println("-");
nMoney[i] ++;
}
}
PrtSum();
}
void PrtSum() //序列視窗檢視
{
int sum=0; for(int i=0;i<7;i++){ sum+=nMoney[i];}
Serial.print(" -這是第 "); Serial.print(sum); Serial.print(" 顆硬幣 -");
sum=0; for(int i=0;i<7;i++){ sum+=nMoney[i]*XX[nType][i];}
Serial.print(" -目前金錢總額為: "); Serial.print(sum); Serial.println(" $-");
Serial.println(" -目前各金錢為: ");
for(int i=0;i<7;i++)
{
if(XX[nType][i]!=0)
{
Serial.print(" -"); Serial.print(wCoin[nType]); Serial.print(" ");
Serial.print(XX[nType][i]); Serial.print(" 元: ");
Serial.print(nMoney[i]*XX[nType][i]);
Serial.print(" - 共: "); Serial.print(nMoney[i]); Serial.println(" 顆");
}
}
Serial.println();
}
留言
此為討論文, 的出處。