投幣機

#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(" - 系統重置,將歸零計算,"); 
                 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();
}

留言

石甘佳寫道…
https://www.facebook.com/groups/Arduino.Taiwan/permalink/1945174425632004/
此為討論文, 的出處。

這個網誌中的熱門文章

無效的努力

股市-華頓S&P黃豆(00693U) 操作法