RM5 coin acceptor

hi,
I have a RM5 coin acceptor and I want to controled with my arduino uno
RM5 have (10 Pin standard connector) and (serial connector)
who can help me to connect with the two connector and what is an inhibit pin?
thnaks

Have you taken a look at the user manual?

jremington:
Have you taken a look at the user manual?

yes

My guess is that the inhibit pin inhibits something.

Care to share that user manual with us then? Might be easier to contribute something useful…

the manual of RM5 evolution manual-download thanks for your helps

You don't say which model you have - that manual covers more than one model.

MarkT:
You don't say which model you have - that manual covers more than one model.

RM5 Evolution version connection /E0 / AT

Well its not easy to interpret that manual...

It seems everything is meant to use open-collector, so the outputs probably can work
with external pull-up resistors to 5V OK (check with a multimeter first), and I suspect the
inputs will work with an NPN transistor to drive them (not clear if there are internal pullup
resistors).

So its multimeter time. I'm not even certain from a first reading which are definitely
inputs or outputs. I suspect the traces in red are the inputs that you have to drive to
enable operation. The CH5/6 outputs are high current outputs it seems for operating the
"separator", ie a solenoid to route the coin to reject or not I think. It looks like you cannot
make that decision based on validation though, only on whether you are ready for a coin or not.

tyusm:
hi,
I have a RM5 coin acceptor and I want to controled with my arduino uno
RM5 have (10 Pin standard connector) and (serial connector)
who can help me to connect with the two connector and what is an inhibit pin?
thnaks

The inhibit pin is typically used to prevent you putting any more coins in when you have already established enough credit to play a game/make a vend.

Once the inhibit signal has been asserted, then any further coins inserted should be returned to you.

This signal is sometimes termed the "blocker".

MarkT:
Well its not easy to interpret that manual...

It seems everything is meant to use open-collector, so the outputs probably can work
with external pull-up resistors to 5V OK (check with a multimeter first), and I suspect the
inputs will work with an NPN transistor to drive them (not clear if there are internal pullup
resistors).

So its multimeter time. I'm not even certain from a first reading which are definitely
inputs or outputs. I suspect the traces in red are the inputs that you have to drive to
enable operation. The CH5/6 outputs are high current outputs it seems for operating the
"separator", ie a solenoid to route the coin to reject or not I think. It looks like you cannot
make that decision based on validation though, only on whether you are ready for a coin or not.

how can I get the value of each piece

this schema can work?

ch5 --------> pin arduino(interupt)
ch6 --------> pin arduino(interupt)
12 v ------->12
gnd -------->gnd

and read the pulse output from RM5 and use the transistor because RM5 output is 12v
you can view this youtube video validateur de monnaie - coin validator- comestero RM5 with Arduino - YouTube

JohnLincoln:
The inhibit pin is typically used to prevent you putting any more coins in when you have already established enough credit to play a game/make a vend.

Once the inhibit signal has been asserted, then any further coins inserted should be returned to you.

This signal is sometimes termed the "blocker".

thanks

Here is a link that explains how to connect an RM5 coin validator to a Pc using a RS232 TTL cable. I imagine that what you want is to read coins with your arduino, email me and I'll send you an arduino example.
Regards

Sorry, this is the link: CABLE USB / RS232 TTL

Here is a link that explains how to connect an RM5 coin validator to a Pc using a RS232 TTL cable. I imagine that what you want is to read coins with your arduino, email me and I'll send you an arduino example.
Regards

eliomaticsat:
email me and I’ll send you an arduino example.

Why not post it here? Then a) others can comment and suggest, and b) in a year’s time someone else with a similar need can see the code.

Ok not_a_noob, your being right, in a few days I prepare a tutorial and publish it.

I will try to write a tutorial and arduino code in a short time.

/*
ARDUINO LEYENDO VALIDADORES DE MONEDAS
PROGRAMADO POR JUAN A. GOMEZ PARA FORO ARDUINO
POR FAVOR, MANTENER ESTAS LINEAS COMO PREMIO AL ESFUERZO DEL AUTOR

ARDUINO READING COINS VALIDATORS
CODE BY JUAN A. GOMEZ / ARDUINO FORUM
PLEASE KEEP THIS LINES AS APPRECIATION TO THE AUTHOR
*/

// *** MODO PARALELO - PARALLEL MODE ***
// LOS VALORES DE CANALES, DEBEN COINCIDIR CON LOS DE VALIDADOR DE MONEDAS
// CHANNELS VALUES MUST MATCH WITH COIN VALIDATOR CHANNELS

int canal1=100; // VALOR EN CENTIMOS DEL CANAL 1 - VALUE IN CENTS OF THE CHANNEL 1
int canal2=200; // VALOR EN CENTIMOS DEL CANAL 2 - VALUE IN CENTS OF THE CHANNEL 1
int canal3=5; // VALOR EN CENTIMOS DEL CANAL 3 - VALUE IN CENTS OF THE CHANNEL 1
int canal4=10; // VALOR EN CENTIMOS DEL CANAL 4 - VALUE IN CENTS OF THE CHANNEL 1
int canal5=20; // VALOR EN CENTIMOS DEL CANAL 5 - VALUE IN CENTS OF THE CHANNEL 1
int canal6=50; // VALOR EN CENTIMOS DEL CANAL 6 - VALUE IN CENTS OF THE CHANNEL 1
int lectura=0; // VALOR DE LA LECTURA DE LA MONEDA - COIN PRESENT VALUE
int Acumulado=0; // SUMA ACUMULADA DE LAS MONEDAS - COINS ACCUMULATED VALUE

void setup() {
Serial.begin(9600);
Serial.println("Arduino Forum");
Serial.println("Reading coins validators ");
Serial.println("By ELIOMATIC SOLUTIONS 2019 v.1.0 Seville - Spain");
Serial.println("");
PORTB= B111111;
/*
ARDUINO PIN D8 CH1
ARDUINO PIN D9 CH2
ARDUINO PIN D10 CH3
ARDUINO PIN D11 CH4
ARDUINO PIN D12 CH5
ARDUINO PIN D13 CH6
*/
}

/*

EN EL TUTURIAL SE EXPLICA COMO TRADUCIR LOS VALORES BINARIOS LEIDOS AL CANAL CORRESPONDIENTE
TUTORIAL DOCUMENT EXPLAINS HOW TO CONVERT VALUES READ TO THE COIN VALIDATOR CHANNEL
*/

void loop() {
if(PINB!=63){
lectura=63-PINB;
switch (lectura) {
case 1:
Acumulado=Acumulado+canal1;
Serial.println(float(Acumulado)/100);
break;
case 2:
Acumulado=Acumulado+canal2;
Serial.println(float(Acumulado)/100);
break;
case 4:
Acumulado=Acumulado+canal3;
Serial.println(float(Acumulado)/100);
break;
case 8:
Acumulado=Acumulado+canal4;
Serial.println(float(Acumulado)/100);
break;
case 16:
Acumulado=Acumulado+canal5;
Serial.println(float(Acumulado)/100);
break;
case 32:
Acumulado=Acumulado+canal6;
Serial.println(float(Acumulado)/100);
break;
}
delay(100);
}
}

A tutorial in Spanish