gettoniera economica
Inviato: 20/05/2018, 13:55
salve,
ecco come realizzare un economico sistema di rilevazione monete, ossia una gettoniera o "coin acceptor"... non sarà un sistema professionale, non sarà quindi possibile rilevare il TIPO di monete o addirittura se quel che passa in mezzo alle 2 torrette del sensore a sinistra nell'immagine a seguire sia realmente una moneta, ma fa il suo dovere: quando qualcosa passa in mezzo, viene inviata una sequenza di tasti al dispositivo cui è collegato...
in particolare vengono inviati in rapida sequenza in modalità emulazione tastiera HID i tasti "," e "." (come se aveste premuto i rispettivi tasti), che si possono collegare a Coin1 e Coin2... nel vostro emulatore collegate quindi il tasto "," a Coin1, e il tasto "." a Coin2. Potete ovviamente cambiare i tasti, sono alle righe 18 e 21 del codice di seguito riportato, oppure eliminare le righe da 19 a 21 se volete solo Coin1.
la board verrà vista come una tastiera dal dispositivo dove la collegherete, sentirete in Windows il tipico suono di nuova periferica 2 volte: la prima volta verrà riconosciuta per lo sviluppo, che serve per la programmazione come di seguito dettagliato, mentre la seconda volta (dopo 5 secondi circa dalla prima) come tastiera vera e propria...

materiale necessario:
1 tra le 2 board seguenti, sono equivalenti, cambia solo la connessione... la prima ha usb diretto, la seconda richiede un cavetto usb-microusb...
https://it.aliexpress.com/item/1pcs-Dig ... 12379.html
https://it.aliexpress.com/item/Digispar ... 75067.html
il sensore ottico di fine corsa:
https://it.aliexpress.com/item/3-Pcs-3D ... 05059.html
i collegamenti:
i pin di alimentazione del sensore vanno ai relativi pin 5V e GND dei suddetti microcontrollori, mentre il pin dati S va collegato al pin P0
ambiente di sviluppo:
scaricate da qui l'ambiente di sviluppo Arduino, io ho usato la versione 1.6.13:
https://www.arduino.cc/en/Main/OldSoftw ... s#previous
seguite questa guida per aggiungere al suddetto ambiente di sviluppo il supporto alle board Digispark:
http://www.adrirobot.it/arduino/digispark/digispark.htm
codice da caricare:
questo il codice dello sketch da caricare sulla board, SEGUITE ALLA LETTERA la guida al link precedente per sapere QUANDO collegarla al pc:
ecco come realizzare un economico sistema di rilevazione monete, ossia una gettoniera o "coin acceptor"... non sarà un sistema professionale, non sarà quindi possibile rilevare il TIPO di monete o addirittura se quel che passa in mezzo alle 2 torrette del sensore a sinistra nell'immagine a seguire sia realmente una moneta, ma fa il suo dovere: quando qualcosa passa in mezzo, viene inviata una sequenza di tasti al dispositivo cui è collegato...
in particolare vengono inviati in rapida sequenza in modalità emulazione tastiera HID i tasti "," e "." (come se aveste premuto i rispettivi tasti), che si possono collegare a Coin1 e Coin2... nel vostro emulatore collegate quindi il tasto "," a Coin1, e il tasto "." a Coin2. Potete ovviamente cambiare i tasti, sono alle righe 18 e 21 del codice di seguito riportato, oppure eliminare le righe da 19 a 21 se volete solo Coin1.
la board verrà vista come una tastiera dal dispositivo dove la collegherete, sentirete in Windows il tipico suono di nuova periferica 2 volte: la prima volta verrà riconosciuta per lo sviluppo, che serve per la programmazione come di seguito dettagliato, mentre la seconda volta (dopo 5 secondi circa dalla prima) come tastiera vera e propria...

materiale necessario:
1 tra le 2 board seguenti, sono equivalenti, cambia solo la connessione... la prima ha usb diretto, la seconda richiede un cavetto usb-microusb...
https://it.aliexpress.com/item/1pcs-Dig ... 12379.html
https://it.aliexpress.com/item/Digispar ... 75067.html
il sensore ottico di fine corsa:
https://it.aliexpress.com/item/3-Pcs-3D ... 05059.html
i collegamenti:
i pin di alimentazione del sensore vanno ai relativi pin 5V e GND dei suddetti microcontrollori, mentre il pin dati S va collegato al pin P0
ambiente di sviluppo:
scaricate da qui l'ambiente di sviluppo Arduino, io ho usato la versione 1.6.13:
https://www.arduino.cc/en/Main/OldSoftw ... s#previous
seguite questa guida per aggiungere al suddetto ambiente di sviluppo il supporto alle board Digispark:
http://www.adrirobot.it/arduino/digispark/digispark.htm
codice da caricare:
questo il codice dello sketch da caricare sulla board, SEGUITE ALLA LETTERA la guida al link precedente per sapere QUANDO collegarla al pc:
Codice: Seleziona tutto
#include "DigiKeyboard.h"
int Led = 1 ;// define LED Interface
int buttonpin = 0; // define the photo interrupter sensor interface
int val ;// define numeric variables val
void setup ()
{
pinMode (Led, OUTPUT) ;// define LED as output interface
pinMode (buttonpin, INPUT) ;// define the photo interrupter sensor output interface
}
void loop ()
{
val = digitalRead (buttonpin) ;// digital interface will be assigned a value of 3 to read val
if (val == HIGH) // When the light sensor detects a signal is interrupted, LED flashes
{
digitalWrite (Led, HIGH);
DigiKeyboard.sendKeyStroke(0);
DigiKeyboard.println(",");
DigiKeyboard.delay(200);
DigiKeyboard.sendKeyStroke(0);
DigiKeyboard.println(".");
}
else
{
digitalWrite (Led, LOW);
}
}