CONSIGLI E AIUTO PER REALIZZAZIONE COMPARATORE

ok, mi rivolgerò altrove.

Aspetta........
che appena abbiamo un minuto ( forse un pò di più ) ti risolviamo il problema

Ad esempio, per una versione con i fili non è un grosso problema, un piccolo Arduino, una tastierina con display per ogni utente e un'altro Arduino che riceve i dati e li visualizza su un display TFT
Roba da 5/6 euro a postazione e un pò di più per il ricevente.
Il problema semmai è come farli comunicare......
Per collegarli bastano 4 fili, Vcc, GND, Tx e Rx ( non ci sono problemi di distanza )
Solo che protocollo usare ?
Potrebbe andare bene la PJON ( che trovi all'inizio della sezione Software ).... si, forse come protocollo è quello che andrebbe meglio, solo che io, ad esempio, non la conosco
Oppure un semplice Software Serial sul ricevente ? Puoi aprire 10 istanze ( una alla volta ) e interrogare ogni device ( ma mi pare un modo "barbaro" per gestire la cosa ), solo che richiede 2 pin per ogni periferica
Lasciando perdere il collegamento RS485, che anche se semplificherebbe la comunicazione mi pare inutile se siete tutti vicini, si potrebbero multiplexerare le porte Seriali in modo da avere una sola istanza seriale e switchare singolarmente le periferiche. Semplice e poco costoso, si implementa con un paio di euro solo sul ricevente.

Oppure in WiFi, però richiederebbe una WiFi disponibile ( WiFi e Wireless sono una cosa diversa )
O in Wireless, però viene a costare un pò di più, circa 10 Euro a postazione

A te come piacerebbe ?

Ps. Scusate se sono stato un pò confusionario, ma è come se avessi scritto quello che pensavo a voce alta

mah, guarda...
io per me, per me personalmente, me lo sono già fatto tutto questo cinema, dentro nella mia testa
e so esattamente che scelte ho fatto e perché, mi sono pensato tutti e due i programmi e non sento il bisogno di andare oltre
se lo OP ci mette del suo, e comincia a dire che arduino, che tastiera, che display e come vuole collegare le macchine OK ci sono per dargli una mano
ma se posso, esprimo i miei dubbi:
dopo un'anno, lo dice lui, io non sono andato a vedere, non è riuscito a scrivere un minimo di programma per un hardware che ha (un telefonino android) con un linguaggio più semplice di quello di arduino (e questo lo dite voi, io non programmo android)
a questo punto io temo che scrivere un programma su un hardware che non ha e non conosce, richiederà un tempo e uno sforzo incomparabili (non proporzionati) al risultato atteso
dubbio alimentato dal fatto che mentre noi continuiamo a chiedere notizie riguardo alla connessione lui continua a chiedere della comparazione.
e qui faccio il cattivo: sarà perché non riesce a capire il messaggio che la "connessione" tra le macchine è problema più importante della semplice comparazione?
o perché non lo vuole capire?
comunque io ho una parola sola e questa parola è : "Forse"
no, scherzo, se lo OP comincia a tirar fuori dettagli io lo aiuto

con brunello ci siamo incrociati

moduli hc12? seriale da un lato e radio dall'altro, multimaster multipunto uno a uno, uno a tanti, 1800mt di portata , li comperi col resto delle sigarette...
mi sembrerebbero la scelta ideale

ORSO2001:
io dico la mia...giusto consigliare la via più "economica" e più omogenea per realizzare un progetto...ma se uno si "fissa" in testa di realizzare il suo progetto con determinati mezzi e/o determinati modi altrettanto giusto dargli dritte su come fare.

Nessuno voleva impedirgli di fare nulla, era solo un consiglio per spendere meno e farlo in modo più veloce :slight_smile:

Non è semrpe giusto aiutare se ci si fissa su qualcosa di sbagliato :slight_smile:
Comunque non essendo questo il caso in quanto lui puo' divertirsi come vuole, e anche inutile parlarne :slight_smile:

Nessuno voleva impedirgli di fare nulla, era solo un consiglio per spendere meno e farlo in modo più veloce

Ok, il sistema meno costoso è quello di usare dei cellulari, un tablet e svilupparsi una App.... Solo che lui non sa come sviluppare una App,

moduli hc12?

Si, sarebbe semplice, puoi anche mettere ogni periferica su un canale diverso e interrogare quella che vuoi.
Però è la più costosa, circa una decina di Euro, più va aggiunta l'alimentazione ( cosa che in una modalita cablata sarebbe unica )

prima ricerca su e-bay trovato 3.09 spedizione gratuita dalla repubblica popolare, magari approfondendo ricerca anche meglio e non parlatemi di tempi si potevano ordinare mesi fa
anche alimentatore, la vedo dura fare un solo alimentatore per 11 display a vari metri di lunghezza, oggi va, domani lo metti via, dopodomani hai qualche cavo strappato, magia

brunello22:
Ok, il sistema meno costoso è quello di usare dei cellulari, un tablet e svilupparsi una App.... Solo che lui non sa come sviluppare una App,

Veramente mi son riferito al PHP, che non è la stessa cosa.
Poi pensi che per lui sia più semplice farlo in hardware e software con arduino ?
Devono farglielo gli altri come sviluppare in codice php.
La differenza che in PHP gli basterebbe imparere solo un minimo del linguaggio, che non è poi così difficile.

Poi se vuole farlo con arduino è libero ma non è la cosa più semplice. Non è giusto fargli pensare il contrario.

Concordo con quello che dici
Il problema è che lui non sa programmare ( e mi sà che anche come Hardware non è messo meglio )
Altrimenti perchè si rivolgerebbe a questo sito... perchè qui qualche buonanima che gli sviluppa un codice la trova

Infatti :slight_smile:

Comunque sui forum si possono trovare ragazzi che per 50-100 euro gli fanno questo programmino. Vedo che lui è disposto a spendere qualche euro.

Poi chiaro che se si trovano persone gentili che ti aiutano a far tutto meglio così.

Secondo me mi sono veramente fatto capire poco:

io ho scritto un messaggio a questo forum perchè mi serviva aiuto a capire se potevo realizzare questa "cavolata" (nel senso dell'utilità non della difficoltà realizzativa) e mi incuriosiva arduino.

Come hardware sono messo male, come qualcuno di voi dice, io faccio un lavoro simile ma diverso. Io assemblo e riparo pc dalla mattina alla sera; non ho mai pensato che arduino fosse una cavolata, ma mi incuriosiva, e dove cercare un aiuto a capire come muoversi? dal fruttarolo? ...scrissi qui.

Le mie nozioni di programmazione si fermano al pascal e al c++ scolastico di , ormai, 25 anni fa;

non so nemmeno che linguaggio usi arduino.

Per questo ho scritto che vorrei provare a capire se ci posso riuscire "guidato" o se anche guidato da voi mi accorgo che è troppo lontano da quello che io posso arrivare a fare allora desisto. Poi magari per tigna pago qualcuno per il tempo dedicatomi e lo faccio lo stesso, ma inizialmente l'idea era quella di capire se fosse una cosa che uno come me può riuscire a fare.

Ho reso? ben accetti tutti i consigli sulla convenienza, e le vostre domande che danno per scontato un mio livello leggermente piu alto di quello che è; avete davanti uno NON stupido, ma ignorante, diciamo cosi.

si può far qualche cosa o rinuncio? non muoio e fa nulla, e grazie comunque

ma cert che si puo' fare
ma anche tu capirai che aiutarti a completare un programma è una cosa partire da zero con le specifiche e tutto è un'altra
voto per arduino, quale modello lo consiglierà qualcuno piu' esperto, m una UNO per cominciare serve senz'altro
display LCD con interfaccia IIC
tastiera a 16 tasti a matrice
radio HC12

comincia con l'imparare a scrivere un valore numercio con la tastiera, cancellarlo, cambiarlo
che poi si passa a trasmetterlo, compararlo e via così
hai scaricato lo IDE di arduino, hai provato a far lampeggiare un led?

Oggi, all’ora di pranzo mi sono divertito a vedere cosa si può fare, intanto ho buttato giù un progettino per la versione “remote” ( quella dei 10 pezzi ).
Che poi uno può scegliere se farla cablata o wireless .

Questo è lo schema
Fantacalcio_remote.jpg

e questo è cosa viene fuori
fanta_remote.jpg

eE c’è anche un abbozzo di sketch, a cui manca ancora la parte di trasmissione

#include <Keypad.h>
#include <Led7Segment.h>  // https://github.com/janezd/Led7Segment
Led7Segment display(11, 10); // CLK, DIO

char keyInsert[4];
int val = 0;
byte j = 0;

const byte ROWS = 4; //four rows
const byte COLS = 3; //three columns
char keys[ROWS][COLS] = {
  {'1', '2', '3'},
  {'4', '5', '6'},
  {'7', '8', '9'},
  {'*', '0', '#'}
};
byte rowPins[ROWS] = {8, 3, 4, 6}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {7, 9, 5}; //connect to the column pinouts of the keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup() {
  Serial.begin(9600);
  display.setBrightness(0);  // set the brightness da 0 a 7
  // delay(1000);                
  display.clearDisplay();
  display.showNumber(0);
}

void loop() {
  char key = keypad.getKey();

  if (key != NO_KEY && j < 4 && key != '*') {
     display.setBrightness(7); // aumenta luminosita'
    keyInsert[j] = key;
    val = atoi(keyInsert );
    display.showNumber(val);
    j++;
  }
  if (key == '#') {
    for ( int a = 0; a < 4; a++ ) {
      keyInsert[a] = '\0';
    }
    j = 0 ;
    display.clearDisplay();
    punti();
     display.setBrightness(0); 
    display.showNumber(0);
  }

  if (key == '*') {
    //  Serial.print (val);
    for ( int a = 0; a < 6; a++ ) {
      display.turnOff();
      delay(100);
      display.turnOn();
      delay(100);
    }
  }
} // Fine Loop

   // Blink the dot(s) in the middle (e.g. like a clock)
void punti()  {
  for(int i = 0; i < 5; i++) {
        display.setDots(4);
        delay(100);
        display.setDots(0);
        delay(100);
    }
}

bravissimo
per la parte trasmissione si potrebbe pensare a una cosa del tipo

il master interroga gli slave con un polling
un messaggio del tipo:
start
indirizzo (alfabetico) // sì lo so sono monomaniaco
cifra di controllo
stop

lo slave risponde
start
indirizzo (suo)
valore (alfabetico) // molto maniaco
cifra di controllo
stop

per cifra di controllo ricicliamo il mio vecchio era stagione di pin remoti

se il master riceve e la ricezione passa il test di controllo il master interroga lo slave successivo
altrimenti riprova 3 volte, alla quarta interrompe l’asta per assenza di un utente

in pseudocodice:

loop
for i=0; i<numerosatelliti; i++

offerta[i]=interrogasatellite(i);



int interrogasatellite(int i)
{
for j=0; j<4;j++


if j==4 blocco il programma con messaggio d'errore
else
   radio.write(caratteredistart);
   raio.print i;
   radio.write(....

e per adesso vado a mangiare, mamma chiama Nelson obbedisce


}