Pagina 1 di 1

gettoniera economica

Inviato: 20/05/2018, 13:55
da mrshark
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...

Immagine

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:
https://pastebin.com/P23KvqAq

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);
  }
}

Re: gettoniera economica

Inviato: 21/05/2018, 11:29
da antoniomauro
interessante!

Re: gettoniera economica

Inviato: 21/05/2018, 13:54
da acordo76
grazie per aver postato la guida anche qua!