Aiuto per gestire output in mame

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

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: 58
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
Arcade Maniac
Arcade Maniac
Messaggi: 2592
Iscritto il: 26/02/2018, 12:06
Medaglie: 6
Reputation: 633
Località: Vinavilandia
Nazione: Alaska
:
Medaglia d'oro Medaglia d'argento Medaglia di legno

Re: Aiuto per gestire output in mame

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

Grande @Barito !
Complimenti per il tutto!
"Piegando un foglio di carta a metà per 103 volte, raggiungeremmo uno spessore di quasi 107 miliardi di anni luce, oltre il diametro dell’Universo conosciuto".

hashmaker
Gamer
Gamer
Messaggi: 58
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: 58
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: 3570
Iscritto il: 08/12/2015, 19:18
Reputation: 823

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: 58
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: 3570
Iscritto il: 08/12/2015, 19:18
Reputation: 823

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: 58
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: 3570
Iscritto il: 08/12/2015, 19:18
Reputation: 823

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: 58
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

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

Re: Aiuto per gestire output in mame

Messaggio da hashmaker » 22/01/2019, 14:11

ciao barito , ascolta tutto cio che abbiamo fatto attualmente sta funzionando abbastanza bene. L'unico problema che sto riscontrando è che di tanto in tanto mi si blocca il programma mamehooker e , quindi fa smettere di funzionare l'hopper. Sto cercando in qualche maniera di capire cosa è che lo fa andare in crash.

Ti elenco il software che uso attualmente sulla macchina.
Joytokey , Feel , mamehooker .

Ho provato a lanciare feel cancellando il file hook.exe presente ma continua a bloccarsi , ho provato lanciando solo mame senza feel e sembra funzionare . ( non ho fatto tante prove però sembra che vada). Potrebbe essere qualche sorta di conflitto che mi genera il joytokey o feel ?

Edit. Sembra sia feel il . responsabile . Lanciando solo mame senza feel con joytokey e mamehooker funziona bene.
Come posso fare?

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

Re: Aiuto per gestire output in mame

Messaggio da Barito » 22/01/2019, 15:47

Difficile dire cosa ci sia che va in conflitto e fa crashare (?) mamehooker. Tanto più che mamehooker manda messaggi che poi vanno letti e interpretati d altri programmi, quindi a lui di quello che fnno gli altri, gliene frega zero. Direi però che l'approccio sottrattivo (eliminare tutti i programmi in più fino a verificare che mamehooker funzioni senza crash, e successivamente rimetterli uno dopo l'altro fino alla ricomparsa del crash) sia quello giusto.
Dal ciglio della strada osservo sbraitando i lavori in corso nel mondo arcade...

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

Re: Aiuto per gestire output in mame

Messaggio da hashmaker » 22/01/2019, 16:11

Come ti ripeto è il frontend in qualche modo il responsabile , perche se lancio solo mame con tutti gli altri programmi , funziona.
Sto cercando di guardare nelle configurazioni di FEEL se c'e qualcosa che mi sballa , il vero problema è che con feel gestisco pure i flipper virtuali , cosa che non saprei fare con altri front end . In ogni caso , quale front end mi consiglieresti che si avvicini il piu possibile a FEEL?

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

Re: Aiuto per gestire output in mame

Messaggio da Barito » 22/01/2019, 17:43

Non saprei: attract mode?
Dal ciglio della strada osservo sbraitando i lavori in corso nel mondo arcade...

Rispondi