Anda di halaman 1dari 5

#include<Servo.

h>
Servo myservo;
int val = 0;
int ledA = 13;
int ledB = 12;
int ledC = 11;
int ledD = 10;
int ledE = 9;
int ledF = 8;
int ledG = 7;
int led1 = 6;
int led2 = 5;
int led3 = 4;
int button = A0;
int bank = A1;
volatile int n = 0;
volatile int d = 1;
volatile int coins = 0;
volatile int buttonState = 0;
volatile int b = 0;
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(ledA, OUTPUT);
pinMode(ledB, OUTPUT);
pinMode(ledC, OUTPUT);
pinMode(ledD, OUTPUT);
pinMode(ledE, OUTPUT);
pinMode(ledF, OUTPUT);
pinMode(ledG, OUTPUT);
pinMode(servo, OUTPUT);
pinMode(bank,OUTPUT);
pinMode(button, INPUT);
digitalWrite(ledA,LOW);
digitalWrite(ledB,LOW);
digitalWrite(ledC,LOW);
digitalWrite(ledD,LOW);
digitalWrite(ledE,LOW);
digitalWrite(ledF,LOW);
digitalWrite(ledG,LOW);
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
delay(1000);
Serial.begin(9600);
pinMode (2,INPUT_PULLUP);
myservo.attach(3)
}
void loop()
{
digitalWrite(bank,LOW);
attachInterrupt(0, coinInserted, FALLING);
Serial.println(coins);
n=coins;
if (n < 1000)
{

for (int t=0;t<190;t++)


{
dig(n,d);
if (d < 4)
{
d++;
}
if (d == 4)
{
d = 1;
}
buttonState = digitalRead(button);
if (buttonState == HIGH && n >= 10)
{
b = 1;
}
if (b = 1 && n)
{
digitalWrite(bank,HIGH);
myservo.attach(3);
myservo.write(180);
delay(800);
digitalWrite(bank,LOW);
myservo.detach();
n=n-10;
}
delay(5);
}
if (n >= 1000)
{
digitalWrite(ledA,LOW);
digitalWrite(ledB,LOW);
digitalWrite(ledC,LOW);
digitalWrite(ledD,LOW);
digitalWrite(ledE,LOW);
digitalWrite(ledF,LOW);
digitalWrite(ledG,LOW);
digitalWrite(led1,HIGH);
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
digitalWrite(bank, HIGH);
}
void coinInserted()
{
coins = coins + 1;
}
void dig(int nu, int dig)
{
if (dig == 1)
{
digitalWrite(led1,HIGH);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
int r = nu/100;
num(r);
}
if (dig == 2)
{

digitalWrite(led1,LOW);
digitalWrite(led2,HIGH);
digitalWrite(led3,LOW);
int r = nu%100;
if (r>=0&&r<10)
{
num(0);
}
if (r>=10&&r<20)
{
num(1);
}
if (r>=20&&r<30)
{
num(2);
}
if (r>=30&&r<40)
{
num(3);
}
if (r>=40&&r<50)
{
num(4);
}
if (r>=50&&r<60)
{
num(5);
}
if (r>=60&&r<70)
{
num(6);
}
if (r>=70&&r<80)
{
num(7);
}
if (r>=80&&r<90)
{
num(8);
}
if (r>=90&&r<100)
{
num(9);
}
}
if (dig == 3)
{
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,HIGH);
num(nu%10);
}
}
void num(int n)
{
if (n == 0)
{
digitalWrite(ledA,LOW);
digitalWrite(ledB,LOW);

digitalWrite(ledC,LOW);
digitalWrite(ledD,LOW);
digitalWrite(ledE,LOW);
digitalWrite(ledF,LOW);
digitalWrite(ledG,HIGH);
}
if (n == 1)
{
digitalWrite(ledA,HIGH);
digitalWrite(ledB,LOW);
digitalWrite(ledC,LOW);
digitalWrite(ledD,HIGH);
digitalWrite(ledE,HIGH);
digitalWrite(ledF,HIGH);
digitalWrite(ledG,HIGH);
}
if (n == 2)
{
digitalWrite(ledA,LOW);
digitalWrite(ledB,LOW);
digitalWrite(ledC,HIGH);
digitalWrite(ledD,LOW);
digitalWrite(ledE,LOW);
digitalWrite(ledF,HIGH);
digitalWrite(ledG,LOW);
}
if (n == 3)
{
digitalWrite(ledA,LOW);
digitalWrite(ledB,LOW);
digitalWrite(ledC,LOW);
digitalWrite(ledD,LOW);
digitalWrite(ledE,HIGH);
digitalWrite(ledF,HIGH);
digitalWrite(ledG,LOW);
}
if (n == 4)
{
digitalWrite(ledA,HIGH);
digitalWrite(ledB,LOW);
digitalWrite(ledC,LOW);
digitalWrite(ledD,HIGH);
digitalWrite(ledE,HIGH);
digitalWrite(ledF,LOW);
digitalWrite(ledG,LOW);
}
if (n == 5)
{
digitalWrite(ledA,LOW);
digitalWrite(ledB,HIGH);
digitalWrite(ledC,LOW);
digitalWrite(ledD,LOW);
digitalWrite(ledE,HIGH);
digitalWrite(ledF,LOW);
digitalWrite(ledG,LOW);
}
if (n == 6)
{
digitalWrite(ledA,LOW);
digitalWrite(ledB,HIGH);

digitalWrite(ledC,LOW);
digitalWrite(ledD,LOW);
digitalWrite(ledE,LOW);
digitalWrite(ledF,LOW);
digitalWrite(ledG,LOW);
}
if (n == 7)
{
digitalWrite(ledA,LOW);
digitalWrite(ledB,LOW);
digitalWrite(ledC,LOW);
digitalWrite(ledD,HIGH);
digitalWrite(ledE,HIGH);
digitalWrite(ledF,HIGH);
digitalWrite(ledG,HIGH);
}
if (n == 8)
{
digitalWrite(ledA,LOW);
digitalWrite(ledB,LOW);
digitalWrite(ledC,LOW);
digitalWrite(ledD,LOW);
digitalWrite(ledE,LOW);
digitalWrite(ledF,LOW);
digitalWrite(ledG,LOW);
}
if (n == 9)
{
digitalWrite(ledA,LOW);
digitalWrite(ledB,LOW);
digitalWrite(ledC,LOW);
digitalWrite(ledD,HIGH);
digitalWrite(ledE,HIGH);
digitalWrite(ledF,LOW);
digitalWrite(ledG,LOW);
}
}

Anda mungkin juga menyukai