KKM: UREĐAJ ZA PRIHVAĆANJE KOVANICA

KKM: UREĐAJ ZA PRIHVAĆANJE KOVANICA-Uncategorized @hr

Početnik si s Dasduinom. Ili s elektronikom? Za oko ti je zapeo određeni modul, ali ne znaš kako ga koristiti? Bez brige, tu je KKM! Kako Koristiti Module (KKM) je serija blog tutorijala tvrtke soldered na kojoj ćeš pronaći sve što ti treba kako bi započeo rad sa svojim omiljenim modulom. Tutorijali obuhvaćaju: tehničke karakteristike, princip rada, upute kako povezati modul s Dasduinom te osnovni kod. Sve ostalo prepuštamo tebi na maštu.

UVOD

U ovom tutorijalu upoznat ćemo se s jednim uređajem koji, ne znajući, često koristimo. Radi se o uređaju za prihvaćanje kovanica ili žetona koji se koristi za razne svrhe. Možemo ga susresti u aparatima za prodaju kave, sokova ili grickalica, aparatima za naplatu parkiranja pa čak i u aparatima za igranje. Ovaj uređaj prihvaća samo jednu vrstu kovanica (žetona) za koji ga programiramo, ali ima uređaja koji mogu prihvaćati više vrsta kovanica. U nastavku ćemo se upoznati s načinom rada uređaja i saznat ćemo kako ga povezati i koristiti sa Dasduinom.

KAKO RADI?

Uređaj za prihvaćanje kovanica ima u sebi mikrokontroler koji obrađuje podatke sa senzora koji se nalazi unutar uređaja. Senzor prikuplja razne podatke o žetonu (kovanica) koji prođe kroz njegov otvor i pomoću tih podataka mikrokontroler zna treba li taj žeton propustiti u spremnik ii vratiti van ovisno o tome za koje žetone je uređaj programiran.
Uređaj se lako programira pomoću tipkala koje se nalazi na vrhu, pritisnemo tipkalo i držimo 4 sekunde dok ne zasvijetli LED dioda te onda pustimo tipkalo. Dok dioda svijetli ubacujemo žeton(kovanicu) za koji želimo programirati uređaj (trebamo koristiti istu vrstu kovanica ili žetona, npr. Ako želimo programirati uređaj za kovanice od 1 kn onda ćemo ubacivati samo kovanicu od 1 kn dok programiramo uređaj). Trebamo 30 puta staviti istu kovanicu u uređaj da bi zapamtio kovanicu, nakon što je programiranje gotovo LED dioda će se ugasiti i uređaj je spreman za korištenje.

Uređaj nam na izlazu daje impuls za svaku ubačenu kovanicu te s brojanjem impulsa možemo znati koliko kovanica je ubačeno.
Uređaj također ima i tri prekidačima s kojima možemo odabrati kakav ćemo signal dobiti na izlazu.
Prvi prekidač ima tri položaja i s njime odabiremo širinu impulsa( možemo odabrati 20 ms, 40 ms ili 60 ms). S drugim prekidačem odabiremo hoće li impuls biti +5 V(NC) ili 0 V(NO), odnosno hoćemo li na izlazu imati +5 V dok nema impulsa ili će na izlazu biti 0 V, što je prikazano na slici.
Zadnjim prekidačem odabiremo preciznost uređaja i za to imamo tri razine koje namještamo ovisno o potrebi.

KAKO POVEZATI?

Uređaj je jednostavno povezati sa Dasduinom jer koristi samo jednu žicu koju trebamo povezati na Dasduino. COIN izlaz iz uređaja povezujemo na Dasduino, te također trebamo spojiti GND napajanja uređaja s GND Dasduina. Za napajanje uređaja nam je potrebno napajanje od 12 V koje spajamo na označena mjesta.
Kako bi Dasduino mogao ispravno očitati impulse trebamo mu između pina na koji smo spojili COIN s uređaja i +5 V sa Dasduina spojiti otpornik od 10KΩ što nam je prikazano na shemi.

ARDUINO KOD

Dan je primjer koda koji se može koristiti za razne primjene u kojima je potreban brojač kovanica. U varijablu brojač spremamo broj ubačenih kovanica te nju možemo koristiti za razne primjene samo trebamo nadodati svoj kod koji radi nešto drugo i koji bi trebao da smanjuje vrijednost brojač (npr. možemo napraviti naplatu ulaza u prostoriju pa da se otvore vrata kada se ubaci novac ili neku igru za koju treba ubaciti novac da bi se igralo određeno vrijeme).

const int coinpin = 2;//pin na koji spajamo COIN pin s uređaja za prepoznavanje kovanica
const int ledpin = 13;//pin za LED diodu
volatile int stanje= 0; //varijabla u koju spremamo broj ubačenih kovanica
boolean bInserted = false;
void setup() {
  Serial.begin(9600);//započinjemo serijsku komunikaciju
  attachInterrupt(digitalPinToInterrupt(coinpin), coinInterrupt, RISING); //coinpin(pin 2)
  //stavljamo kao interrupt,a na rastući brid se  poziva funkcija coinInterrupt
  pinMode(ledpin, OUTPUT);//ledpin postavljamo kao izlazni
}
void loop() {
  if( bInserted  ){ // ova if petlja se izvršava kada je kovanica ubačena i u njoj
    //možemo dodati neku svoju funkciju(npr. paljenje nečega ako ima dovoljno kovanica)
     bInserted = false;
     digitalWrite(ledpin, HIGH);//palimo LED diodu na pinu 13 kada je ubačena
     //kovanica(ovaj dio je samo primjer i može se izbaciti)
     delay(1000); // pauza od 1 sekunde
  }
  else{
  // Turn off LED
  digitalWrite(ledpin, LOW); //gasimo led diodu
  } }
void coinInterrupt(){
 //svaki put kada ubacimo odgovarajuću kovanicu povećava se stanje za 1
  stanje++ ;
  bInserted = true;
 Serial.println( pulse );//na Serial monitor ispisujemo koliko je kovanica ubačeno
}