The Money Acceptor is a crucial component in vending machines, kiosks, and other automated systems that require the acceptance and validation of currency, such as coins or bills. This device ensures that only legitimate currency is accepted, providing a secure and efficient way to handle transactions.
Common applications and use cases include:
Parameter | Value |
---|---|
Operating Voltage | 12V DC |
Current Consumption | 500mA (max) |
Accepted Currency | Coins and Bills |
Interface | Serial (RS232) / Pulse Output |
Validation Speed | < 2 seconds |
Dimensions | 150mm x 100mm x 50mm |
Weight | 300g |
Pin Number | Pin Name | Description |
---|---|---|
1 | VCC | Power Supply (12V DC) |
2 | GND | Ground |
3 | TX | Transmit Data (to host) |
4 | RX | Receive Data (from host) |
5 | NC | Not Connected |
Pin Number | Pin Name | Description |
---|---|---|
1 | VCC | Power Supply (12V DC) |
2 | GND | Ground |
3 | COIN | Coin Pulse Output |
4 | BILL | Bill Pulse Output |
5 | INHIBIT | Inhibit Signal (active low) |
Below is an example code to interface the Money Acceptor with an Arduino UNO using the pulse output interface.
// Define pin connections
const int coinPin = 2; // Coin pulse output connected to digital pin 2
const int billPin = 3; // Bill pulse output connected to digital pin 3
const int inhibitPin = 4; // Inhibit signal connected to digital pin 4
// Variables to store pulse counts
volatile int coinCount = 0;
volatile int billCount = 0;
// Interrupt service routine for coin pulse
void coinISR() {
coinCount++;
}
// Interrupt service routine for bill pulse
void billISR() {
billCount++;
}
void setup() {
// Initialize serial communication
Serial.begin(9600);
// Set pin modes
pinMode(coinPin, INPUT);
pinMode(billPin, INPUT);
pinMode(inhibitPin, OUTPUT);
// Attach interrupts to pulse pins
attachInterrupt(digitalPinToInterrupt(coinPin), coinISR, RISING);
attachInterrupt(digitalPinToInterrupt(billPin), billISR, RISING);
// Enable currency acceptance
digitalWrite(inhibitPin, HIGH);
}
void loop() {
// Print pulse counts to serial monitor
Serial.print("Coins: ");
Serial.println(coinCount);
Serial.print("Bills: ");
Serial.println(billCount);
// Add a delay to avoid flooding the serial monitor
delay(1000);
}
Currency Not Accepted:
Incorrect Pulse Count:
Communication Issues (Serial Interface):
By following this documentation, users should be able to effectively integrate and troubleshoot the Money Acceptor in their automated systems.