Buongiorno a tutti,
avrei l'esigenza di creare una serratura comandata da tastierino numerico dove il codice è variabile e impostato da remoto in un server.
Essendo alla mia primissima esperienza mi rendo conto che il progetto è enorme ma sono convinto che sia pienamente fattibile.
Praticamente il tutto dovrebbe funzionare così:
immetto un numero (5 cifre) sul tastierino numerico USB collegato al host shield USB
host shield USB riconosce le cifre immesse
le mette a disposizione
il Wi-Fi shield ESP 12E ESP8266 UART le va a confrontare con le cifre nel server
se corrispondono arduino uno abilita una uscita analogica per 2 secondi (elettroserratura)
il mio dilemma è:
se iserisco a pettine queste tre schede devo modificare l'hardware?
secondo voi è fattibile o mi sono infilato in un percorso troppo irto di spine?
Mai comprare da chi non fornisce la documentazione ...
... in queste condizioni possiamo solo fare supposizioni ...
La prima è che la USB Host Shield usi la stessa piedinatura di quella ufficiale (dato che sembra usare la stessa libreria), per cui:
Arduino communicates with the MAX3421E using the SPI bus (through the ICSP header). This is on digital pins 10, 11, 12, and 13 on the Uno and pins 10, 50, 51, and 52 on the Mega. On both boards, pin 10 is used to select the MAX3421E. Pins 7, 8 and 9 are used for GPX, INT and RES pins.
Come vedi sono usati molti pin e, salvo i TRE pin del bus SPI (MISO, MOSI e SCK) che sono sempre in comune, gli altri sono specifici e non possono essere usati, quini 10, 7, 8 e 9 sono usati.
La seconda, relativa allo shield WiFi ... leggo pessime recensioni tra cui:
l prodotto non può funzionare a causa di un errore di progetto. Occorrerebbe sostituire due transistor con altro tipo.
Completa assenza di documentazione.
Assolutamente non consigliato
e ancora:
This shield is far from ready just to plug in and code it up. I bought it because it seemed to be a great price to get an Arduino Uno wifi enabled quickly. I wish I'd googled the shield first: turns out that the esp8266 chip needs flashed and some sites talk about desoldering connections on the board to get it working. With hindsight, it's much easier and cheaper just to buy an esp8266 or esp32 development board than trying to get this one working.
e ancora:
This board requires modification before it will function as intended. Found info on this on “instructables”.
Requires the use of soldering iron to replace 2 SMD transistors.
Better options are available.
... per cui si tratta di MONNEZZA che ti suggerisco di resituire finché sei in tempo e di trovare un altro modulo WiFi che NON vada però in conflitto con lo shield USB Host.
Condivido tutte le riflessioni fatte fino ad ora, acui aggiungo una perplessità : hai veramente bisogno di usare un tastierino numerico USB? Secondo me è un inutile complicazione...
E' esattamente la stessa domanda che mi ponevo anche io.
Un normalissimo tastierino a matrice 4x4 tipo QUESTO montato magari su una WeMos D1 ad esempio (va bene anche la ESP32, ma mi pare sprecata per questo task così semplice) che ha già anche il WiFi, non necessita di altri shield o circuiteria (tranne un relè per attivare l'elettroserratura, a meno che questa non sia già controllabile via TTL).
PS: acquistare hardware senza aver prima progettato il tutto e verificato la fattibilità con ciò che si cerca, non è mai consigliabile.
perchè il tastierino è bello che fatto. riesco a lasciarlo fuori dalla porta. per le tastiere dedicate ad arduino non ho trovato dei box (supporti) già fatti ecco perchè ho puntato al tastierino USB
grazie
Ok, capisco, ma come dicevo è opportuno progettare più in dettaglio possibile e verificare la fattibilità prima di acquistare il materiale. La complicazione aggiunta da un USB Host e la gestione del tastierino non è banalissima, soprattutto se, come te, uno è alla "primissima esperienza", non ti pare?
Capisco che un tastierino completo di scatola e cavo sia comodo per semplificare l'installazione, ma intanto ho qualche dubbio che quel tastierino sia pensato per stare all'esterno (spero non sotto alla pioggia), in ogni caso quello che vedi nel link che ti ho consigliato si può installare in una qualsiasi scatoletta in plastica senza grossi problemi (basta fare un foro rettangolare e fissarlo con 4 vitine). E la stessa scatoletta potrebbe ospitare l'Arduino o meglio il WeMos. Ma ci sono anche tastierini a membrana come QUESTO sottilissimi e che puoi anche semplicemente incollare da qualche parte (purché tu possa far uscire il cavo flat).
Per la connettività WiFi io uso sempre i WeMos D1 (anche in versione "mini", piccolissimo!) che di fatto sono ESP8266 e che programmi con lo stesso IDE di Arduino, lo stesso linguaggio, e (quasi) esattamente lo stesso codice ma ti risolvi il problema di interfacciarti con un ESP esterno, tanto più se su shield che se ne utilizzi più di uno o due possono dare problemi di compatibilità tra loro.
Se fai ancora in tempo (hai 30 giorni con Amazon), magari restituisci quell'hardware e prendi un WeMos D1 ed un tastierino 4x4 e hai risolto.
Se invece vuoi continuare ad usare quei componenti, temo che troverai più difficoltà a farli andare insieme piuttosto che fare una scatoletta di plastica con un foro quadrato. Decidi tu.
ho seguito questo consiglio.
ho fatto reso e penso di prendere questi articoliù tastierino 4x4 scheda d1
li ordinerò subito dopo il reso quindi sono in tempo per cambiare idea se avete suggerimenti
ps per il contenitore del tastierino pensavo a questo o comunque una cosa simile
consapevole che troppa carne al fuoco non si cucina bene e che sto approffitando della vostra pazienza e competenza vi faccio un'ulteriore domanda
con la nuova configurazione avrei problemi ad aggiungere un display come questo
il display servirebbe come feedback a chi agisce sul tastierino logicamente dovrei far comparire ** e non le cifre digitate
NON avere fretta, ricorda sempre di verificare le tensioni di funzionamento e gli eventuali problemi che potresti avere.
Ad esempio, gli ESP, qualsiasi tipo, hanno tutti gli I/O che lavorano a 3.3V, i moduli LCD e gli adattatori I2C sono normalmente fatti per i 5V quindi ... molto probabilmente dovrai mettere nel mezzo dei traslatori di livello adatti al bus I2C come, ad esempio, QUESTI ...
Per l'LCD da te scelto, la descrizione è, come sempre per le cinesate, ingannevole:
Freenove I2C LCD 1602 Module (2 Pack), New Type IIC TWI Serial 16x2 Display, Compatible with Arduino Raspberry Pi Pico ESP32 ESP8266
... quindi sembra perfettamente compatibile con gli ESP, ma nei commenti (cha ancora una volta ti invito a leggere) poi trovi:
Domanda:
questo display e' compatibile con una tensione di 3,3 volts?
Risposta:
It should connect to 5V power supply.
Da Freenove in data 21 novembre 2022
... e, se è alimentato a 5V, molto probabilmente darà problemi se si fa lavorare il bus I2C a 3.3V o, peggio, potrebbbe avere già moltate le resistenze di pull-up verso i 5V
Assolutamente no, nessun problema. Quell'LCD 16x2 con l'interfaccia I2C è facile da gestire ed io stesso ho fatto vari progetti proprio con le WeMos D1 (anche "mini") e LCD 16x2 con I2C.
L'unica cosa alla quale dovrai fare attenzione, è la libreria per gestire l'LCD in I2C perché in giro ce ne sono varie, con lo stesso identico nome purtroppo, ma non funzionano bene o si fa presto a non capire perché non funzioni l'LCD se si usa un codice scritto per una versione diversa. Io uso in genere quella di Marco Schwarz (la trovi nel library manager) ma ne esiste anche una versione sicuramente buona, gestita da un altro utente della community Arduino, che ora non ho però sottomano...
E come hai risolto il fatto che quelle interfaccie hanno le resistenze di pull-up verso i 5V? ... perché ho visto in giro post di gente che ha dissaldato le resistenze e gente che usa i traslatori di livello
Il datasheet del PCF8574/PCF8574A parla chiaramente del fatto che il valore HIGH sui pin di I/O deve essere 0.7 x VDD e quindi 5V x 0.7 = 3.5V per non avere problemi ...
Che intendi? Non ho risolto, nel senso che non ho modificato nulla, quei display mi funzionano benissimo anche "lisci", con il pin VCC del backpack collegato al 5V dei WeMos D1 mini, e SDA ed SCL ai pin D2 e D1, come previsto.
E uno di questi è da 2 anni che è persino acceso 24 ore al giorno per cui non so dirti...
Sei stato fortunato ...
... in passato abbiamo già dimostrato che gli ESP8266 NON sono 5V tolerant sui pin di I/O, per cui ... può andare bene, ma può anche andare male e casi isolati non fanno la "norma", anzi, NON me la sento prioprio di consigliare la cosa.