Aiuto per gestire output in mame

Tutto quello che c'è da sapere lo trovate qui.
Avatar utente
Barito
Arcade Maniac
Arcade Maniac
Messaggi: 3205
Iscritto il: 08/12/2015, 19:18
Reputation: 763

Re: Aiuto per gestire output in mame

Messaggio da Barito » 14/01/2019, 17:21

Un software scritto male può anche funzionare, per carità


Dal ciglio della strada osservo sbraitando i lavori in corso nel mondo arcade...


hashmaker
Gamer
Gamer
Messaggi: 55
Iscritto il: 02/01/2019, 18:57
Reputation: 0

Re: Aiuto per gestire output in mame

Messaggio da hashmaker » 14/01/2019, 18:32

ti confermo che oltre 1000 prove sono andate con esito positivo ... se poi vogliamo migliorarlo / completarlo ... magari con sensori di livello delle monete presenti ( queste idee sono sempre colpa di [joint.gif] lampi di creatività ) il mio arduino cosi come il rele il motore e il sensore sono a disposizione :)


Avatar utente
Gibranx
Extreme Arcader
Extreme Arcader
Messaggi: 1800
Iscritto il: 26/02/2018, 12:06
Medaglie: 5
Reputation: 475
Località: Benevento
:
Medaglia d'oro Medaglia d'argento Medaglia di legno
Contatta:

Re: Aiuto per gestire output in mame

Messaggio da Gibranx » 15/01/2019, 11:15

Grande @Barito !
Complimenti per il tutto!
http://nircada.weebly.com/


"Piegando un foglio di carta a metà per 103 volte, raggiungeremmo uno spessore di quasi 100 miliardi di anni luce, oltre il diametro dell’Universo conosciuto".


hashmaker
Gamer
Gamer
Messaggi: 55
Iscritto il: 02/01/2019, 18:57
Reputation: 0

Re: Aiuto per gestire output in mame

Messaggio da hashmaker » 15/01/2019, 14:03

è vero onore al merito


hashmaker
Gamer
Gamer
Messaggi: 55
Iscritto il: 02/01/2019, 18:57
Reputation: 0

Re: Aiuto per gestire output in mame

Messaggio da hashmaker » 15/01/2019, 20:34

allora ho anche avuto in regalo un display lcd gdm 1602 s , e ho visto un po in rete sembra che si possa collegare ad arduino ? Barito che ne pensi , lo mettiamo e stampiamo su quel display i messaggi del monitor seriale , no?


Avatar utente
Barito
Arcade Maniac
Arcade Maniac
Messaggi: 3205
Iscritto il: 08/12/2015, 19:18
Reputation: 763

Re: Aiuto per gestire output in mame

Messaggio da Barito » 15/01/2019, 20:45

In bocca al lupo: quei display è un vero terno al lotto farli funzionare. Chip diversi, produttori diversi rendono le librerie poco "universali".
Dal ciglio della strada osservo sbraitando i lavori in corso nel mondo arcade...


hashmaker
Gamer
Gamer
Messaggi: 55
Iscritto il: 02/01/2019, 18:57
Reputation: 0

Re: Aiuto per gestire output in mame

Messaggio da hashmaker » 16/01/2019, 6:55

e invece con stupore e sorpresa e senza l'aiuto di nessuno , ci sono riuscito a fare sia i collegamenti sia la programmazione .
Questo è lo sketch poi piu tardi uppo le foto :)

#include <LiquidCrystal.h>
LiquidCrystal lcd(13, 3, 4, 5, 6, 7);
const int optoPin = 8; //questo è il pin a cui è collegato l'optoswitch
const int relePin = 2;
int pin;
int value;
bool optoState; //stato dell'opto
bool lastOptoState; //stato precedente dell'opto
int coins = 0;
unsigned long startTime;
#define TIMEOUT 10000

void setup() {
// imposta il numero di colonne e righe del display utilizzato:
lcd.begin(16, 2);
pinMode(optoPin, INPUT_PULLUP);
pinMode(relePin, OUTPUT);
digitalWrite(relePin, LOW);
Serial.begin(9600); //inizio comunicazione seriale
optoState = digitalRead(optoPin);
lcd.setCursor(0, 0);
lcd.print("labucciata slot");
delay(5000);
lcd.setCursor(2, 1);
lcd.print("init hopper");
delay(5000);

}
void loop() {

checkForCredits();
releaseTokens();
tokensCountDown();
}

void checkForCredits() {
while (Serial.available() > 0) {
value = Serial.parseInt();
if (Serial.read() == 'x') {
if (value > 0) {
coins ++;

}
}
}
}

void releaseTokens() {
if (coins > 0) {
// Se il motore è fermo, memorizzo il momento in cui parte.
// In questo modo mi assicuro di impostare la variabile solo al fronte di salita di relePin
if(digitalRead(relePin) == LOW){
startTime = millis();
}
digitalWrite(relePin, HIGH); //rilascio gettoni
optoState = digitalRead(optoPin);
lcd.begin(16, 2);
lcd.setCursor(3, 0);
lcd.print("erogazione");
}
else {
digitalWrite(relePin, LOW); //STOP rilascio gettoni
lcd.begin(16, 2);
lcd.setCursor(5, 0);
lcd.println("ready ");
}

// Solo se il motore è ancora acceso, dopo 10 secondi dall'attivazione, resetto l'uscita
if(digitalRead(relePin) == HIGH){
if(millis() - startTime > TIMEOUT ){
digitalWrite(relePin, LOW); //STOP rilascio gettoni
lcd.begin(16, 2);
lcd.setCursor(5, 0);
lcd.print("refill");
delay(3000);
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print("gettoni mancanti:");
delay(1000);
lcd.setCursor(13, 1);
lcd.println(coins );
coins = 0;
delay(30000);
}
}

}

void tokensCountDown() {
if (optoState != lastOptoState) { // se lo stato dell'opto è cambiato (cioè qualcosa sta passando, in entrata o uscita)
lastOptoState = optoState;
delay (100); //debounce "economico" (questo serve perchè nel passaggio di stato possono esserci fluttuazioni che portano a conteggi errati)
if (lastOptoState == LOW && coins > 0) {
coins = coins - 1 ; //decremento gettoni
startTime = millis(); //reset timer
lcd.setCursor(0, 0);
lcd.print("numero gettoni:");
lcd.setCursor(0, 1);
lcd.println(coins);
}
}
}


Avatar utente
Barito
Arcade Maniac
Arcade Maniac
Messaggi: 3205
Iscritto il: 08/12/2015, 19:18
Reputation: 763

Re: Aiuto per gestire output in mame

Messaggio da Barito » 16/01/2019, 7:35

Bene che ci sei riuscito! La motivazione è il maggior fattore di successo in questi progetti


Dal ciglio della strada osservo sbraitando i lavori in corso nel mondo arcade...


hashmaker
Gamer
Gamer
Messaggi: 55
Iscritto il: 02/01/2019, 18:57
Reputation: 0

Re: Aiuto per gestire output in mame

Messaggio da hashmaker » 16/01/2019, 13:09

eccerto adesso che sto capendo bene il funzionamento dello sketch mi sta risultando tutto piu chiaro , e , sopratutto anche grazie alla tua pazienza nel spiegarmi le cose dei post precedenti. Ho appena aggiunto anche un buzzer che all'accensione suona una volta, quando c'e da fare il refill suona a intermittenza :) poi appena monto il tutto nel cabinato faccio un paio di foto e video che dimostra il funzionamento dell'hopper , del display e del buzzer :) che dire .... Sei stato il n1 . Ricorda che se per caso ti trovi a passare da bari , minimo una birra sta pagata ;) [shake2.gif] [hammer.gif]


Avatar utente
Barito
Arcade Maniac
Arcade Maniac
Messaggi: 3205
Iscritto il: 08/12/2015, 19:18
Reputation: 763

Re: Aiuto per gestire output in mame

Messaggio da Barito » 16/01/2019, 13:20

Hehe, sono praticamente astemio, ma qualche mangiarino locale lo accetto volentieri
Dal ciglio della strada osservo sbraitando i lavori in corso nel mondo arcade...


hashmaker
Gamer
Gamer
Messaggi: 55
Iscritto il: 02/01/2019, 18:57
Reputation: 0

Re: Aiuto per gestire output in mame

Messaggio da hashmaker » 16/01/2019, 17:25

allora una mangiata locale e una sfida a metal slug :D :D :D


Rispondi