Last active
June 23, 2022 06:58
-
-
Save Sevenmojoe/e456be5fb79ad2630e88424d6e7c40d7 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const byte SIAP = 0; | |
const byte KOIN_MASUK1 = 1; | |
const byte KOIN_MASUK2 = 2; | |
const byte KOIN_MASUK3 = 3; | |
const byte KOIN_MASUK4 = 4; | |
const byte KOIN_MASUK5 = 5; | |
const byte KOIN_MASUK6 = 6; | |
const byte KOIN_MASUK7 = 7; | |
const byte SALDO_500 = 8; | |
const byte SALDO_500500 = 9; | |
const byte SALDO_500500500 = 10; | |
const byte SALDO_500500500500 = 11; | |
const byte SALDO_5005005001000 = 12; | |
const byte SALDO_5001000 = 13; | |
const byte SALDO_5001000500 = 14; | |
const byte SALDO_50010001000 = 15; | |
const byte SALDO_5005001000 = 16; | |
const byte SALDO_1000 = 17; | |
const byte SALDO_10001000 = 18; | |
const byte SALDO_1000500 = 19; | |
const byte SALDO_1000500500 = 20; | |
const byte SALDO_10005001000 = 21; | |
const byte KOIN_KELUAR = 22; | |
byte state = SIAP; | |
const float jeda_waktu = 876; | |
unsigned long time1; | |
unsigned long time2; | |
unsigned long time3; | |
unsigned long time4; | |
unsigned long time5; | |
unsigned long time6; | |
unsigned long time7; | |
#define PIN_SCE 7 | |
#define PIN_RESET 6 | |
#define PIN_DC 5 | |
#define PIN_SDIN 4 | |
#define PIN_SCLK 3 | |
#define LCD_C LOW | |
#define LCD_D HIGH | |
#define LCD_X 84 | |
#define LCD_Y 48 | |
static const byte ASCII[][5] = | |
{ | |
{0x00, 0x00, 0x00, 0x00, 0x00} // 20 | |
, {0x00, 0x00, 0x5f, 0x00, 0x00} // 21 ! | |
, {0x00, 0x07, 0x00, 0x07, 0x00} // 22 " | |
, {0x14, 0x7f, 0x14, 0x7f, 0x14} // 23 # | |
, {0x24, 0x2a, 0x7f, 0x2a, 0x12} // 24 $ | |
, {0x23, 0x13, 0x08, 0x64, 0x62} // 25 % | |
, {0x36, 0x49, 0x55, 0x22, 0x50} // 26 & | |
, {0x00, 0x05, 0x03, 0x00, 0x00} // 27 ' | |
, {0x00, 0x1c, 0x22, 0x41, 0x00} // 28 ( | |
, {0x00, 0x41, 0x22, 0x1c, 0x00} // 29 ) | |
, {0x14, 0x08, 0x3e, 0x08, 0x14} // 2a * | |
, {0x08, 0x08, 0x3e, 0x08, 0x08} // 2b + | |
, {0x00, 0x50, 0x30, 0x00, 0x00} // 2c , | |
, {0x08, 0x08, 0x08, 0x08, 0x08} // 2d - | |
, {0x00, 0x60, 0x60, 0x00, 0x00} // 2e . | |
, {0x20, 0x10, 0x08, 0x04, 0x02} // 2f / | |
, {0x3e, 0x51, 0x49, 0x45, 0x3e} // 30 0 | |
, {0x00, 0x42, 0x7f, 0x40, 0x00} // 31 1 | |
, {0x42, 0x61, 0x51, 0x49, 0x46} // 32 2 | |
, {0x21, 0x41, 0x45, 0x4b, 0x31} // 33 3 | |
, {0x18, 0x14, 0x12, 0x7f, 0x10} // 34 4 | |
, {0x27, 0x45, 0x45, 0x45, 0x39} // 35 5 | |
, {0x3c, 0x4a, 0x49, 0x49, 0x30} // 36 6 | |
, {0x01, 0x71, 0x09, 0x05, 0x03} // 37 7 | |
, {0x36, 0x49, 0x49, 0x49, 0x36} // 38 8 | |
, {0x06, 0x49, 0x49, 0x29, 0x1e} // 39 9 | |
, {0x00, 0x36, 0x36, 0x00, 0x00} // 3a : | |
, {0x00, 0x56, 0x36, 0x00, 0x00} // 3b ; | |
, {0x08, 0x14, 0x22, 0x41, 0x00} // 3c < | |
, {0x14, 0x14, 0x14, 0x14, 0x14} // 3d = | |
, {0x00, 0x41, 0x22, 0x14, 0x08} // 3e > | |
, {0x02, 0x01, 0x51, 0x09, 0x06} // 3f ? | |
, {0x32, 0x49, 0x79, 0x41, 0x3e} // 40 @ | |
, {0x7e, 0x11, 0x11, 0x11, 0x7e} // 41 A | |
, {0x7f, 0x49, 0x49, 0x49, 0x36} // 42 B | |
, {0x3e, 0x41, 0x41, 0x41, 0x22} // 43 C | |
, {0x7f, 0x41, 0x41, 0x22, 0x1c} // 44 D | |
, {0x7f, 0x49, 0x49, 0x49, 0x41} // 45 E | |
, {0x7f, 0x09, 0x09, 0x09, 0x01} // 46 F | |
, {0x3e, 0x41, 0x49, 0x49, 0x7a} // 47 G | |
, {0x7f, 0x08, 0x08, 0x08, 0x7f} // 48 H | |
, {0x00, 0x41, 0x7f, 0x41, 0x00} // 49 I | |
, {0x20, 0x40, 0x41, 0x3f, 0x01} // 4a J | |
, {0x7f, 0x08, 0x14, 0x22, 0x41} // 4b K | |
, {0x7f, 0x40, 0x40, 0x40, 0x40} // 4c L | |
, {0x7f, 0x02, 0x0c, 0x02, 0x7f} // 4d M | |
, {0x7f, 0x04, 0x08, 0x10, 0x7f} // 4e N | |
, {0x3e, 0x41, 0x41, 0x41, 0x3e} // 4f O | |
, {0x7f, 0x09, 0x09, 0x09, 0x06} // 50 P | |
, {0x3e, 0x41, 0x51, 0x21, 0x5e} // 51 Q | |
, {0x7f, 0x09, 0x19, 0x29, 0x46} // 52 R | |
, {0x46, 0x49, 0x49, 0x49, 0x31} // 53 S | |
, {0x01, 0x01, 0x7f, 0x01, 0x01} // 54 T | |
, {0x3f, 0x40, 0x40, 0x40, 0x3f} // 55 U | |
, {0x1f, 0x20, 0x40, 0x20, 0x1f} // 56 V | |
, {0x3f, 0x40, 0x38, 0x40, 0x3f} // 57 W | |
, {0x63, 0x14, 0x08, 0x14, 0x63} // 58 X | |
, {0x07, 0x08, 0x70, 0x08, 0x07} // 59 Y | |
, {0x61, 0x51, 0x49, 0x45, 0x43} // 5a Z | |
, {0x00, 0x7f, 0x41, 0x41, 0x00} // 5b [ | |
, {0x02, 0x04, 0x08, 0x10, 0x20} // 5c ¥ | |
, {0x00, 0x41, 0x41, 0x7f, 0x00} // 5d ] | |
, {0x04, 0x02, 0x01, 0x02, 0x04} // 5e ^ | |
, {0x40, 0x40, 0x40, 0x40, 0x40} // 5f _ | |
, {0x00, 0x01, 0x02, 0x04, 0x00} // 60 ` | |
, {0x20, 0x54, 0x54, 0x54, 0x78} // 61 a | |
, {0x7f, 0x48, 0x44, 0x44, 0x38} // 62 b | |
, {0x38, 0x44, 0x44, 0x44, 0x20} // 63 c | |
, {0x38, 0x44, 0x44, 0x48, 0x7f} // 64 d | |
, {0x38, 0x54, 0x54, 0x54, 0x18} // 65 e | |
, {0x08, 0x7e, 0x09, 0x01, 0x02} // 66 f | |
, {0x0c, 0x52, 0x52, 0x52, 0x3e} // 67 g | |
, {0x7f, 0x08, 0x04, 0x04, 0x78} // 68 h | |
, {0x00, 0x44, 0x7d, 0x40, 0x00} // 69 i | |
, {0x20, 0x40, 0x44, 0x3d, 0x00} // 6a j | |
, {0x7f, 0x10, 0x28, 0x44, 0x00} // 6b k | |
, {0x00, 0x41, 0x7f, 0x40, 0x00} // 6c l | |
, {0x7c, 0x04, 0x18, 0x04, 0x78} // 6d m | |
, {0x7c, 0x08, 0x04, 0x04, 0x78} // 6e n | |
, {0x38, 0x44, 0x44, 0x44, 0x38} // 6f o | |
, {0x7c, 0x14, 0x14, 0x14, 0x08} // 70 p | |
, {0x08, 0x14, 0x14, 0x18, 0x7c} // 71 q | |
, {0x7c, 0x08, 0x04, 0x04, 0x08} // 72 r | |
, {0x48, 0x54, 0x54, 0x54, 0x20} // 73 s | |
, {0x04, 0x3f, 0x44, 0x40, 0x20} // 74 t | |
, {0x3c, 0x40, 0x40, 0x20, 0x7c} // 75 u | |
, {0x1c, 0x20, 0x40, 0x20, 0x1c} // 76 v | |
, {0x3c, 0x40, 0x30, 0x40, 0x3c} // 77 w | |
, {0x44, 0x28, 0x10, 0x28, 0x44} // 78 x | |
, {0x0c, 0x50, 0x50, 0x50, 0x3c} // 79 y | |
, {0x44, 0x64, 0x54, 0x4c, 0x44} // 7a z | |
, {0x00, 0x08, 0x36, 0x41, 0x00} // 7b { | |
, {0x00, 0x00, 0x7f, 0x00, 0x00} // 7c | | |
, {0x00, 0x41, 0x36, 0x08, 0x00} // 7d } | |
, {0x10, 0x08, 0x08, 0x10, 0x08} // 7e � | |
, {0x78, 0x46, 0x41, 0x46, 0x78} // 7f → | |
}; | |
void LcdWrite(byte dc, byte data) | |
{ | |
digitalWrite(PIN_DC, dc); | |
digitalWrite(PIN_SCE, LOW); | |
shiftOut(PIN_SDIN, PIN_SCLK, MSBFIRST, data); | |
digitalWrite(PIN_SCE, HIGH); | |
} | |
void LcdCharacter(char character) | |
{ | |
LcdWrite(LCD_D, 0x00); | |
for (int index = 0; index < 5; index++) | |
{ | |
LcdWrite(LCD_D, ASCII[character - 0x20][index]); | |
} | |
LcdWrite(LCD_D, 0x00); | |
} | |
void LcdClear(void) | |
{ | |
for (int index = 0; index < LCD_X * LCD_Y / 8; index++) | |
{ | |
LcdWrite(LCD_D, 0x00); | |
} | |
} | |
void LcdInitialise(void) | |
{ | |
pinMode(PIN_SCE, OUTPUT); | |
pinMode(PIN_RESET, OUTPUT); | |
pinMode(PIN_DC, OUTPUT); | |
pinMode(PIN_SDIN, OUTPUT); | |
pinMode(PIN_SCLK, OUTPUT); | |
digitalWrite(PIN_RESET, LOW); | |
digitalWrite(PIN_RESET, HIGH); | |
LcdWrite(LCD_C, 0x21 ); | |
LcdWrite(LCD_C, 0xB1 ); | |
LcdWrite(LCD_C, 0x04 ); | |
LcdWrite(LCD_C, 0x14 ); | |
LcdWrite(LCD_C, 0x20 ); | |
LcdWrite(LCD_C, 0x0C ); | |
} | |
void LcdString(char *characters) | |
{ | |
while (*characters) | |
{ | |
LcdCharacter(*characters++); | |
} | |
} | |
void setup() { | |
//enable output on the digital pins | |
pinMode( 11, INPUT); | |
pinMode( 12, INPUT); | |
pinMode( 14, INPUT); | |
pinMode( 15, INPUT); | |
pinMode( 16, INPUT); | |
pinMode( 17, INPUT); | |
pinMode( 18, INPUT); | |
pinMode( 19, INPUT); | |
pinMode( 13 , OUTPUT); | |
pinMode( 8 , OUTPUT); | |
pinMode( 9 , OUTPUT); | |
pinMode( 10 , OUTPUT); | |
pinMode( 2 , OUTPUT); | |
digitalWrite(8, HIGH); | |
digitalWrite(9, HIGH); | |
digitalWrite(10, HIGH); | |
digitalWrite(13, LOW); | |
Serial.begin(9600); | |
Serial.println("=> Siap"); | |
LcdInitialise(); | |
LcdClear(); | |
LcdString(" Masukkan Koin Rp500 atau Koin Rp1000 @ Rp2000"); | |
delay(500); | |
} | |
void loop() { | |
int x = analogRead(14); | |
if (state == SIAP) { | |
if (x >= 33) { | |
state = KOIN_MASUK1; | |
time1 = millis(); | |
tone(2, 4200, 40); | |
Serial.println("snsr1,"); | |
Serial.println("start wkt"); | |
} | |
} | |
else if ((state == KOIN_MASUK1) && (!(digitalRead(13)))) { | |
if ((digitalRead(12)) && (state == KOIN_MASUK1)) { | |
unsigned long diff1 = (millis() - time1); | |
Serial.println("snsr2,"); | |
Serial.println("stop wkt"); | |
Serial.print("jeda wkt: "); | |
Serial.print(diff1); | |
Serial.println(" ms"); | |
if (diff1 > jeda_waktu) { | |
state = SALDO_1000; | |
LcdInitialise(); | |
LcdClear(); | |
LcdString(" diterima Saldo=Rp1000 Tambah Koin Koin Rp1000"); | |
digitalWrite (13, HIGH); | |
Serial.println("koin=Rp 1000, Saldo: Rp1000"); | |
tone(2, 4200, 299); | |
} | |
else if (diff1 < jeda_waktu) { | |
state = SALDO_500; | |
digitalWrite (13, HIGH); | |
LcdInitialise(); | |
LcdClear(); | |
LcdString(" diterima Saldo= Rp500 Tambah Koin Koin Rp500"); | |
Serial.println("koin=Rp 500, Saldo: Rp500"); | |
tone(2, 4200, 299); | |
} | |
} | |
} | |
if (state == SALDO_500) { | |
if (x >= 33) { | |
state = KOIN_MASUK2; | |
time2 = millis(); | |
tone(2, 4200, 40); | |
Serial.println("snsr1,"); | |
Serial.println("start wkt"); | |
} | |
} | |
else if ((state == KOIN_MASUK2) && ((digitalRead(13)))) { | |
if ((digitalRead(12)) && (state == KOIN_MASUK2)) { | |
unsigned long diff2 = (millis() - time2); | |
Serial.println("snsr2,"); | |
Serial.println("stop wkt"); | |
Serial.print("jeda wkt: "); | |
Serial.print(diff2); | |
Serial.println(" ms"); | |
if (diff2 > jeda_waktu) { | |
state = SALDO_5001000; | |
LcdInitialise(); | |
LcdClear(); | |
LcdString(" diterima Saldo=Rp1500 Tambah Koin Koin Rp1000"); | |
tone(2, 4200, 299); | |
Serial.println("koin=Rp 1000, Saldo: Rp1500"); | |
} | |
else if (diff2 < jeda_waktu) { | |
state = SALDO_500500; | |
LcdInitialise(); | |
LcdClear(); | |
LcdString(" diterima Saldo=Rp1000 Tambah Koin Koin Rp500"); | |
tone(2, 4200, 299); | |
Serial.println("koin=Rp 500, Saldo: Rp1000"); | |
} | |
} | |
} | |
if (state == SALDO_500500) { | |
if (x >= 33) { | |
state = KOIN_MASUK3; | |
time3 = millis(); | |
tone(2, 4200, 40); | |
Serial.println("snsr1,"); | |
Serial.println("start wkt"); | |
} | |
} | |
else if ((state == KOIN_MASUK3) && ((digitalRead(13)))) { | |
if ((digitalRead(12)) && (state == KOIN_MASUK3)) { | |
unsigned long diff3 = (millis() - time3); | |
Serial.println("snsr2,"); | |
Serial.println("stop wkt"); | |
Serial.print("jeda wkt: "); | |
Serial.print(diff3); | |
Serial.println(" ms"); | |
if (diff3 > jeda_waktu) { | |
state = SALDO_5005001000; | |
LcdInitialise(); | |
LcdClear(); | |
LcdString(" diterima Saldo=Rp2000 Pilih Produk Koin Rp1000"); | |
Serial.println("koin=Rp 1000, Saldo: Rp2000"); | |
tone(2, 4200, 799); | |
} | |
else if (diff3 < jeda_waktu) { | |
state = SALDO_500500500; | |
LcdInitialise(); | |
LcdClear(); | |
LcdString(" diterima Saldo=Rp1500 Tambah Koin Koin Rp500"); | |
Serial.println("koin=Rp 500, Saldo: Rp1500"); | |
tone(2, 4200, 299); | |
} | |
} | |
} | |
if (state == SALDO_500500500) { | |
if (x >= 33) { | |
state = KOIN_MASUK4; | |
time4 = millis(); | |
tone(2, 4200, 40); | |
Serial.println("snsr1,"); | |
Serial.println("start wkt"); | |
} | |
} | |
else if ((state == KOIN_MASUK4) && ((digitalRead(13)))) { | |
if ((digitalRead(12)) && (state == KOIN_MASUK4)) { | |
unsigned long diff4 = (millis() - time4); | |
Serial.println("snsr2,"); | |
Serial.println("stop wkt"); | |
Serial.print("jeda wkt: "); | |
Serial.print(diff4); | |
Serial.println(" ms"); | |
if (diff4 > jeda_waktu) { | |
state = SALDO_5005005001000; | |
LcdInitialise(); | |
LcdClear(); | |
LcdString(" diterima Saldo=Rp2500 Pilih Produk Koin Rp1000"); | |
Serial.println("koin=Rp 1000, Saldo: Rp2500"); | |
tone(2, 4200, 799); | |
} | |
else if (diff4 < jeda_waktu) { | |
state = SALDO_500500500500; | |
LcdInitialise(); | |
LcdClear(); | |
LcdString(" diterima Saldo=Rp2000 Pilih Produk Koin Rp500"); | |
Serial.println("koin=Rp 500, Saldo: Rp2000"); | |
tone(2, 4200, 799); | |
} | |
} | |
} | |
if (state == SALDO_5001000) { | |
if (x >= 33) { | |
state = KOIN_MASUK5; | |
time5 = millis(); | |
tone(2, 4200, 40); | |
Serial.println("snsr1,"); | |
Serial.println("start wkt"); | |
} | |
} | |
else if ((state == KOIN_MASUK5) && ((digitalRead(13)))) { | |
if ((digitalRead(12)) && (state == KOIN_MASUK5)) { | |
unsigned long diff5 = (millis() - time5); | |
Serial.println("snsr2,"); | |
Serial.println("stop wkt"); | |
Serial.print("jeda wkt: "); | |
Serial.print(diff5); | |
Serial.println(" ms"); | |
if (diff5 > jeda_waktu) { | |
state = SALDO_50010001000; | |
LcdInitialise(); | |
LcdClear(); | |
LcdString(" diterima Saldo=Rp2500 Pilih Produk Koin Rp1000"); | |
Serial.println("koin=Rp 1000, Saldo: Rp2500"); | |
tone(2, 4200, 799); | |
} | |
else if (diff5 < jeda_waktu) { | |
state = SALDO_5001000500; | |
LcdInitialise(); | |
LcdClear(); | |
LcdString(" diterima Saldo=Rp2000 Pilih Produk Koin Rp500"); | |
Serial.println("koin=Rp 500, Saldo: Rp2000"); | |
tone(2, 4200, 799); | |
} | |
} | |
} | |
if (state == SALDO_1000) { | |
if (x >= 33) { | |
state = KOIN_MASUK6; | |
time6 = millis(); | |
tone(2, 4200, 40); | |
Serial.println("snsr1,"); | |
Serial.println("start wkt"); | |
} | |
} | |
else if ((state == KOIN_MASUK6) && ((digitalRead(13)))) { | |
if ((digitalRead(12)) && (state == KOIN_MASUK6)) { | |
unsigned long diff6 = (millis() - time6); | |
Serial.println("snsr2,"); | |
Serial.println("stop wkt"); | |
Serial.print("jeda wkt: "); | |
Serial.print(diff6); | |
Serial.println(" ms"); | |
if (diff6 > jeda_waktu) { | |
state = SALDO_10001000; | |
LcdInitialise(); | |
LcdClear(); | |
LcdString(" diterima Saldo=Rp2000 Pilih Produk Koin Rp1000"); | |
Serial.println("koin=Rp 1000, Saldo: Rp2000"); | |
tone(2, 4200, 799); | |
} | |
else if (diff6 < jeda_waktu) { | |
state = SALDO_1000500; | |
LcdInitialise(); | |
LcdClear(); | |
LcdString(" diterima Saldo=Rp1500 Tambah Koin Koin Rp500"); | |
Serial.println("koin=Rp 500, Saldo: Rp1500"); | |
tone(2, 4200, 299); | |
} | |
} | |
} | |
if (state == SALDO_1000500) { | |
if (x >= 33) { | |
state = KOIN_MASUK7; | |
time7 = millis(); | |
tone(2, 4200, 40); | |
Serial.println("snsr1,"); | |
Serial.println("start wkt"); | |
} | |
} | |
else if ((state == KOIN_MASUK7) && ((digitalRead(13)))) { | |
if ((digitalRead(12)) && (state == KOIN_MASUK7)) { | |
unsigned long diff7 = (millis() - time7); | |
Serial.println("snsr2,"); | |
Serial.println("stop wkt"); | |
Serial.print("jeda wkt: "); | |
Serial.print(diff7); | |
Serial.println(" ms"); | |
if (diff7 > jeda_waktu) { | |
state = SALDO_10005001000; | |
LcdInitialise(); | |
LcdClear(); | |
LcdString(" diterima Saldo=Rp2500 Pilih Produk Koin Rp1000"); | |
Serial.println("koin=Rp 1000, Saldo: Rp2500"); | |
tone(2, 4200, 799); | |
} | |
else if (diff7 < jeda_waktu) { | |
state = SALDO_1000500500; | |
LcdInitialise(); | |
LcdClear(); | |
LcdString(" diterima Saldo=Rp2000 Pilih Produk Koin Rp500"); | |
Serial.println("koin=Rp 500, Saldo: Rp2000"); | |
tone(2, 4200, 799); | |
} | |
} | |
} | |
else if ((state == SALDO_500500500500)||(state == SALDO_5005005001000)||(state == SALDO_5001000500)||(state == SALDO_50010001000)||(state == SALDO_5005001000)||(state == SALDO_10001000)||(state == SALDO_1000500500)||(state == SALDO_10005001000)) { | |
if (((( digitalRead(13) && ( ( digitalRead(9) ) && ( digitalRead(10) ) ) ) && digitalRead(17) )) && ((digitalRead(8)))) { | |
LcdInitialise(); | |
LcdClear(); | |
LcdString(" Mohon Menunggu"); | |
Serial.println("pb1"); | |
tone(2, 4200, 200); | |
delay( 2500 ); | |
digitalWrite( 8 , LOW ); | |
Serial.println("motor1"); | |
} | |
else { | |
if ( (!(digitalRead(8)) && (!(digitalRead(11)) ))) { | |
digitalWrite( 8 , HIGH ); | |
LcdInitialise(); | |
LcdClear(); | |
LcdString(" Terima Kasih"); | |
tone(2, 4200, 100); | |
delay( 150 ); | |
tone(2, 4200, 100); | |
Serial.println("produk1 jatuh"); | |
delay( 4000 ); | |
digitalWrite( 13 , LOW ); | |
state = KOIN_KELUAR; | |
} | |
else { | |
} | |
} | |
if (((( ( digitalRead(13) && ( ( digitalRead(8) ) && ( digitalRead(10) ) ) ) && digitalRead(18) )) && ((digitalRead(9))))) { | |
LcdInitialise(); | |
LcdClear(); | |
LcdString(" Mohon Menunggu"); | |
Serial.println("pb2"); | |
tone(2, 4200, 200); | |
delay( 2500 ); | |
digitalWrite( 9 , LOW ); | |
Serial.println("motor2"); | |
} | |
else { | |
if ( (!(digitalRead(9)) && (!(digitalRead(15)) ))) { | |
digitalWrite( 9 , HIGH ); | |
LcdInitialise(); | |
LcdClear(); | |
LcdString(" Terima Kasih"); | |
tone(2, 4200, 100); | |
delay( 150 ); | |
tone(2, 4200, 100); | |
Serial.println("produk2 jatuh"); | |
delay( 4000 ); | |
digitalWrite( 13 , LOW ); | |
state = KOIN_KELUAR; | |
} | |
else { | |
} | |
} | |
if (((( ( digitalRead(13) && ( ( digitalRead(8) ) && ( digitalRead(9) ) ) ) && digitalRead(19) )) && ((digitalRead(10))))) { | |
LcdInitialise(); | |
LcdClear(); | |
LcdString(" Mohon Menunggu"); | |
Serial.println("pb3"); | |
tone(2, 4200, 200); | |
delay( 2500 ); | |
digitalWrite( 10 , LOW ); | |
Serial.println("motor3"); | |
} | |
else { | |
if ( (!(digitalRead(10)) && (!(digitalRead(16)) ))) { | |
digitalWrite( 10 , HIGH ); | |
LcdInitialise(); | |
LcdClear(); | |
LcdString(" Terima Kasih"); | |
tone(2, 4200, 100); | |
delay( 150 ); | |
tone(2, 4200, 100); | |
Serial.println("produk3 jatuh"); | |
delay( 4000 ); | |
digitalWrite( 13 , LOW ); | |
state = KOIN_KELUAR; | |
} | |
else { | |
} | |
} | |
} | |
else if ((state == KOIN_KELUAR)) { | |
if (((x <= 33) && !digitalRead(12)) && (!digitalRead(13))) { | |
state = SIAP; | |
LcdInitialise(); | |
LcdClear(); | |
LcdString(" Masukkan Koin Rp500 atau Koin Rp1000 @ Rp2000"); | |
Serial.println("=> Siap"); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment