squall87 Posted January 14 Report Posted January 14 Buongiorno a tutti. Da diverso tempo oramai abbiamo un diorama dei vigili del fuoco al quale abbiamo da subito voluto aggiungere movimenti vari luci e suoni. Nel video sottostante la configurazione di qualche anno fa. Video_The_Brick_Box_-_Grugliasco_2020.mp4 Nel diorama usiamo gia con successo i seguenti smart brick: Buwizz Sbrick (il sito non è più disponibile, il prodotto era discontinuo da un po, probabilmente han chiuso baracca e burattini?) PFx Brick (anche qua il prodotto sembra discontinuo, si stanno focalizzando ultimamente sulla creazione di binari per treni a 9v.) Dall'inizio abbiamo utlizzato scratch 2.0 con dei blocchi ad hoc per comandare gli sbrick per le varie automazioni, mentre ora che abbiamo implementato "sbick light" utilizziamo l'applicazione web sbrick pro che è compatibile con diversi prodotti (sempre programmazione a blocchi) per i vari movimenti del diorama e l'app BrickController (che è stata forkata su github visto che la versione originale non è più aggiornata da tempo) abbinato a pad della PS5 per il controllo dei mezzi telecomandati. Quello che vorrei fare adesso è automatizzare anche un tracciato dei treni e renderlo un po più bello rispetto al solo treno che fa sempre il solito ovale (il treno è sempre il treno!!) L'idea è di avere un tracciato un po più completo con scambi e di avere il tutto il più possibile "plug & play", sfruttando al più possibile quello che LEGO e creatori di terze parti (i 3 mattoncini intelligenti di prima appunto) han rilasciato sul mercato. Al momento abbiamo adottato sulla locomotiva il Control+ Technic (che ha 4 uscite Powered Up) abbinandogli 2 motori e un sensore di colore, mentre per gli scambi #1 e #2 si pensava di utilizzare il classico Hub dei treni. Per risolvere l'eterno problema dell'alimentazione, non volendo adottare un sistema di binari a 9v perchè A) è troppo dispendioso e B) abbiamo acquistato diverso materiale da TrixBrix, ho acquistato una batteria ricaricabile da Phondly che al momento mi sembra molto valida (nonchè esaurita sul sito del produttore -.-"). Al passaggio del treno sul colore giallo, ad esempio, lo scambio 1 si aziona, al passaggio del treno sul colore blu si azionano gli scambi 1 e 2 e il treno si ferma per poi ripartire dopo tot secondi e via discorrendo. Quello che vorrei capire è come integrare in un unica soluzione gli sbrick che sono all'interno del diorama con i nuovi hub powered up per il treno con meno passaggi possibili: Scratch 2.0 supporta SOLO gli sbrick. Sbrick pro supporta tutto tranne i PXf brick (al quale sopperisco usando l'app dal telefono, i giochi di luce sono già salvati nella memoria del mattoncino) ma fino a quando sarà disponibile il sito internet? Scratch 3.0 NON supporta gli sbrick (c'è un estensione "LEGO BLE Device" ma è tutta da verificare, ) I nuovi hub powered up possono essere flashati con pybrick, una volta fatto ciò eseguono le istruzioni a blocchi preimpostate, ma farli dialogare poi tra di loro diventa difficoltoso, va creato un "ponte" tramite pc, soluzione che non abbiamo ancora mai sperimentato. L'app Powered Up sembra completa, ma dal telefono mi risulta davvero macchinoso creare una sequenza, dovrei usare almeno un tablet da portare poi in esposizione, ma abbiamo già un portatile e 2 smartphone per l'app brickcontroller. The Brick Automation Project sembra fatto al caso, però tempo addietro avevo problemi a connettere gli hub tramite bluethooth, dovrei riprovare ora che ho acquistato un dongle 6.0 e sono ad ogni modo in dubbio sul riuscire ad utilizzare lo sbrick light (utilizzato per impianto semaforico automatizzato con cancello che si apre che nel video non era ancora presente). Insomma le soluzioni sono davvero tante e si intrecciano tra di loro. Nell'ultima recente esposizione ad Albenga eravamo addirittura con 2 portatili e senza scambi motorizzati, quindi abbiamo la necessità di trovare una quadra che sia il più possibile funzionale. AirMauro and Gabri.Check 2
squall87 Posted January 14 Author Report Posted January 14 edit: S2Bot sembra aggiungere a Scratch 2.0 le librerie per LEGO Boost, Powered Up, Buwizz, WeDo 2.0. Da provare, potrebbe anche questa essere una soluzione. AirMauro and Gabri.Check 2
squall87 Posted January 16 Author Report Posted January 16 Edit2: (non trovo il pulsante per fare edit al post?) ieri giornata di smanettamento.. a quanto ho capito, il nuovo dongle USB bluethoooth 6.0 non é comunque in grado di svolgere i compiti richiesti da BAP (trova gli sbrick ma li scarta in automatico, ho chiesto lumi a chat gpt che parlava di possibili errori GATT e consigliava l’acquisto di schede bluethooth basate su chip nRF52840). Devo ancora capire come configurare sbrick light fuori dal sito pro.sbrick.com (che ha i blocchi gia impostati) siccome a quanto pare il progetto sbrick é abbandonato (il sito non é piu attivo) e vorrei evitare un bel giorno di non riuscire piu ad accedervi. Gabri.Check and AirMauro 2
Gabri.Check Posted January 20 Report Posted January 20 (edited) Ciao! Innanzitutto faccio i complimenti per il diorama: è molto completo, con luci e suoni e, soprattutto, con molti movimenti che lo rendono unico nel suo genere! Per quanto riguarda la gestione dei vari brick “elettronici” come BuWizz, PU, ecc., non sono molto aggiornato; sono rimasto "fermo" ai PF. Colgo però l’occasione per descrivere brevemente l’evoluzione del mio sistema e le scelte che ho fatto nel tempo sperando di essere di aiuto, ispirazione, .... Tempo fa utilizzavo NXT e EV3insieme a un sensore IRLink della HiTechnic (link bricklink: https://www.bricklink.com/v2/catalog/catalogitem.page?P=bb0656#T=C&C=0) per comandare deviatoi, segnali e treni Power Functions. Il tutto funzionava abbastanza bene a patto di mantenere lo stessa pista, cioè seguendo uno schema fisso e creare i programmi per i brick intelligenti secondo il tracciato. Un po’ per la necessità di rendere il sistema più flessibile, cioè adattabile a diversi schemi/tracciati, e un po’ per la mia curiosità verso l’elettronica, ho deciso di abbandonare i sistemi LEGO per tutta la parte di automazione (ad eccezione delle locomotive, che ho mantenuto con batteria, ricevitore IR e motore originali) per passare a comandare ogni elemento del tracciato con Arduino (e successivamente EPS8266 e ESP32) e un po' di elettronica supplementare. Nel tempo ho quindi iniziato a sperimentare soluzioni alternative, più aperte e personalizzabili, che mi permettessero di gestire in modo più preciso e modulare i vari elementi del diorama, adattandoli alle esigenze specifiche del progetto senza dover toccare il codice flashato sulle varie schede. Tornando al vostro progetto, ho visto che è possibile comandare fino a 14 brick PU con un computer, una specifica dongle bluethoot e un programma apposito. Non ho ben chiaro se è possibile creare degli automatismi con questo sistema. Un'altra alternativa che mi piacerebbe moltissimo realizzare e forse è anche la più professionale è quella di usare Rocrail (ecco un video: https://www.youtube.com/watch?v=WOlC_8gPaHI). Rocrail è un programma che viene usato soprattutto nei plastici ferroviari in qualunque scala e permette di realizzare automatismi. Devo ancora studiarmelo, ma il signore che ha sviluppato questo sistema ha rilasciato (e rilascia tutt'ora) programmi aggiornati sul suo sito: https://mattzobricks.com/, completamente gratis! Spero di essere stato di aiuto! Edited January 20 by Gabri.Check AirMauro 1
squall87 Posted January 27 Author Report Posted January 27 Ciao e grazie per la risposta. Non ho mai usato ne NXT ne EV3 purtroppo. Ovviamente come dici tu iniziare ad usare arduino (ho appena comprato una esp32 per giocare un po ) sarebbe l'ideale ma non volevo troppa ciruiteria in giro. Diciamo che una volta capito il layout, rimarrà quello e non ho bisogno di modularità, di base il diorama è sui vigili del fuoco e il treno è un aggiunta in più. In questi giorni ho provato a pacioccare con il chip nRF52840 per avere un buon dongle bluethooth ma l ho brickato, adesso mi serve un hardware j-link e quindi al momento su quel fronte son fermo. Su BAP son quasi riuscito a far cosa volevo, il sensore colore LEGO chiaramente è un giochino e andrà testato meglio (in casa ho un pavimento in marmo che da parecchio fastidio al sensore). il sito di Mattzobricks l ho visto... fenomenale, ma è decisamente oltre quello che ho io in mente, sia per complessità (ho fatto le superiori come elettrico e non elettronico, ci capisco solo in parte) sia come appunto risultato finale, ho bisogno di un tracciato poco più che il classico ovale con soli 3 scambi automatici, li si parla di diorami di treni assolutamente completi. Lascio il link video sul (quasi) funzionamento del layout. https://youtube.com/shorts/5-65dX3JZCE?si=IofIG8edILD2LPPJ AirMauro 1
squall87 Posted April 26 Author Report Posted April 26 Rieccomi. Sto definitivamente abbandonando l idea di utilizzare hardware LEGO. - L'app powered hub è graficamente complessa e non disponibile per pc/mac. - BAP mi sta facendo impazzire, automazioni basate sul sensore di colore che non partono, motori che si scollegano dall'hub.. - Sbrick Pro discontinuo. Sto provando quindi, facendomi aiutare dall' IA, ad adottare una soluzione usando arduino, con delle board esp32 (che alla fine è quello che ha fatto mattzobrick). Dall ultimo post ho studiato parecchio e ho già implementato una board che mi permette di controllare dei led nel diorama con la quale ho fatto un po di pratica. Rocrail sarebbe effettivamente il top, ma lo reputo ancora parecchio complesso e soprattutto a me sembra piu utile per chi ha un plastico "fisso". Nelle mostre LEGO si monta/smonta nell'arco di 48-72h () e questo approccio non penso faccia per me. La grossa differenza che c'è tra il progetto che ho in mente e quello di mattzobrick è che io utilizzerei l'elettronica sul treno, mentre a terra sui binari posizionerei solo i riferimenti (magneti o i plate colorati, in base al tipo di sensore che si decide di utilizzare, hall magnetico o sensore di colore). Questo perchè appunto andare a cablare tutto sotto le rotaie è per me impossibile (sarebbe più fattibile con il sistema MILS). Scrivendo e caricando sulla board lo sketch adeguato, potrei dire al treno di eseguire determinate azioni ogniqualvolta il sensore / magnete incontra il suo riferimento a terra, ad esempio ridurre/aumentare la velocità, o attivare uno scambio. Per poter agire sugli scambi, (questi devono per forza essere alimentati tramite cavo o powerbank ) è necessaria un altra board (comunicano tra di loro tramite esp-NOW) e un driver per i motori. La parte ora complessa è riuscire a trovare il modo di alimentare tutto. I motori LEGO che vorrei mantenere sono alimentati a 9-10v, gli esp al loro interno lavoro a 3v, ma possono anche essere alimentati a 5v tramite uno dei pin. Diventa anche fondamenta capire dove mettere gli esp, nel mio caso i 3 scambi non sono vicinissimi uno all'altro, e per forza di cose del cavo "volante" va fatto passare sul tavolo, cosa che non mi entusiasma affatto. Nella foto allegata, in rosso il punto dove vanno posizionati gli scambi, le frecce rosse indicano la posizione dei due motori del passaggio a livello, la baseplate nel cerchio giallo è per dare idea delle dimensioni, è una classica baseplate 32x32. Gabri.Check and AirMauro 2
Gabri.Check Posted April 29 Report Posted April 29 (edited) Ciao! Direi che sei già a buon punto: con Arduino ed ESP32 hai praticamente carta bianca. Soluzioni come Rocrail, o sistemi simili come quello che uso io, andrebbero analizzate molto bene se l’obiettivo è renderle davvero plug and play, ma richiedono parecchio lavoro a monte. Se però sei certo che la topologia del circuito ferroviario sia effettivamente quella che hai condiviso, allora il lavoro si riduce sensibilmente. Per quanto riguarda invece i sensori a bordo del treno, se vuoi che sia il binario a comunicare al convoglio le informazioni necessarie, le soluzioni possibili sono: Magneti: piazzi dei magneti sui binari e sul treno un contatto reed o sensore Hall che leggono il passaggio del magnete. Questo sistema non ti permetterebbe di "comunicare" cosa fare in quello specifico tratto di binario, ma solo che "hai passato un punto" poi sarà la logica del programma che hai caricato sul treno a capire cosa farne di questa informazione. Elettronicamente è la più semplice siccome viene interpretato come pulsante; RFID: la sto studiando ora e secondo me è la più valida per la vera e propria comunicazione con sistemi di terra e di bordo. Ci sono dei problemi con le antenne che sono un po' grosse rispetto alle dimensioni delle locomotive. Appunto per questo sto adottando un sistema dove l'antenna sta a terra e il tag RFID sul treno (come in foto. Il tag è contenuto nel pezzo inferiore di un 60098). Necessita di comunicazioni seriali/I2C/ISP tra antenna e microcontrollore; Colore: questi sensori non mi fanno impazzire anche perché sono molto sensibili alla luce ambientale e quindi inaffidabili (esattamente come quelli dei PU, EV3, ....) . Sono abbastanza piccoli e dovrebbe essere semplice nasconderli. Anche questi spesso usano comunicazioni I2C. Per pilotare i motori di scambi e treni ci sono dei circuiti driver più o meno performanti. Per esperienza, non esiste un driver per motori DC uguale identico a quello montato nei ricevitori PowerFunctions che devo dire che veramente buono (brava LEGO ). Appunto, esistono degli integrati che svolgono lo stesso lavoro, non le stesse prestazioni, ma siamo lì. Se non vuoi stare a impelagarti con circuiti integrati, collegamenti difficili, ecc. ti consiglio delle board a cui basterebbe collegare lo stretto necessario cioè alimentazione (sia per il motore sia per far funzionale appunto l'integrato) e controllo della marcia del motore. Mi sono trovato molto bene con questa: https://alishort.com/QCYFo. Va bene per gli scambi, e quindi per tenere acceso un motore DC per poco tempo, e per i treni dove il invece il motore è costantemente in marcia. Invece per il motore da usare, prima che passassi ai servomotori che richiedono una modifica meccanica del deviatoio e quindi l'apertura di esso, avevo comprato dei motori equivalenti ai PF a cui ho rimosso il cavo originale e saldato uno realizzato da me e con dei pezzi LEGO ho realizzato il meccanismo (che si trova ovunque su internet, youtube, ecc.) In merito alla questione del cablaggio di terra, le soluzioni non sono tante. Io ho risolto il problema realizzando con la stampante 3d delle clip che si agganciano sulle traversine dei binari così da far correre i cavi parallelamente al tracciato (un esempio in foto). Comunque niente che non possa essere realizzato con dei bricks e delle plates Su AliExpress si possono comprare matasse di cavo da 20m con 3/4/5 conduttori per poco meno di 20 euro. Non so se ha tanto senso optare per un ESP per ogni scambio perché anche lì dovresti tirare un cavo per alimentare ogni board. Nella prima immagine ci sono tanti ESP tanti quanti sono gli scambi che condividono l'alimentazione, mentre nella seconda c'è un solo ESP che gestisce tutti gli scambi (il mio disegno è pessimo , ma spero si capisca) Per il passaggio a livello ti consiglierei di realizzare un modulo a se perché non sembra ma è veramente difficile lavorare con cavi volanti per tutto il plastico. Ho realizzato un video apposito l'anno scorso (anche se ora l'ho riordinato un po'): Infine per alimentare gli ESP ho adottato un sistema molto semplice e efficiente, specialmente se si ha che fare con le batterie. Uso il pacco batterie dei PF (o quelli originali LEGO o quelli su AliExpress), delle prolunghe PFs che taglio a metà (lo so, è doloroso infatti compro degli equivalenti: https://alishort.com/leApM), collego un circuito step-down (https://alishort.com/kSE0j) mi permette di abbassare la tensione proveniente dal pacco batterie (9V) a una qualunque tensione inferiore a quella di ingresso (tipo 3.3V) e successivamente collego l'ESP8266 o ESP32. Sconsiglierei l'uso di regolatori di tensione (come il mitico 7805) perché non sono molto efficienti (specialmente se si deve alimentare un grosso carico come appunto un motore). So che sembra tanta roba da fare, ma ti assicuro che il risultato finale sarà fantastico e super super gratificante! Spero di esserti stato d’aiuto e resto molto curioso di vedere come evolverà il progetto!!! A presto Gabriele Edited April 29 by Gabri.Check AirMauro, Arrow and squall87 2 1
squall87 Posted Friday at 11:22 AM Author Report Posted Friday at 11:22 AM Anzitutto grazie per la risposta super dettagliata. Hai ragione, il lavoro da fare a monte è parecchio e all'inizio scoraggia. Tant'è che io ho cercato di rimanere fedele all'ambiente LEGO il più possibile destreggiandomi tra i vari Buwizz, Sbrick e Pfx Brick per controllare i motori e cercando alternative alle classiche pile stilo per l'alimentazione (Batteria per il Techinc Hub - Batteria per il Powered Up Hub), oltre a fare come mi consigliavi te, "cannibalizzare" un cavo PF e collegarlo ad un trasformatore 9v (Attenzione: il sensore IR power function così non funziona, ne il v1 ne il v2). Insomma, dopo anni di prove, spacioccamenti, soldi spesi, programmazione a blocchi su scratch 2.0 per sbrick, sbrickpro (che pare sia definitivamente morto), app brickcontroller e relativi fork (il pad della PS5 su android 12 e 13 è buggato, ha la mappatura sbagliata e a distanza di anni che la community ha sollevato il problema, non ho trovato dei fix ) son giunto alla conclusione che per fare cose cosi complesse il modo migliore sia assolutamente Arduino. Ovviamente è tutto molto meno plug and play, per forza di cose. Io vorrei cercare di fare entrambe le cose: pacioccare il meno possibile e rendere l'allestimento del diorama il più facile e veloce possibile (Ad oggi ci mettiamo circa 6 ore per montare tutto). L idea finale al momento è questa: 1) Locomotiva: Esp32 con 16mb di memoria per caricarci sopra piccoli file audio mp3/wav batteria da modellismo per l'alimentazione , non avendo binari elettrificati e usando binari con raggio di curvatura differenti (piccola e facilmente intercambiabile quando si scarica) buck per passare dalla batteria a 5v e alimentare l'esp sensore hall (mi permette di captare anche la polarità dei magneti posizionati sui binari, ampliando la logicada caricare nella board) amplificatore audio (MAX98357A) con relativo piccolo altoparlante 4ohm 3watt driver (l' IA mi ha consigliato TB6612FNG) per i 2 motori treno power function (in rete vedo video di gente che ha 100 vagoni, io non riesco a trainarne piu di dieci, ho acquistato dei mini cuscinetti a sfera che devo ancora testare). luci varie ed eventuali (vorrebbe dire avere a bordo treno per forza di cose una breadboard con resistenze e transistor, quindi stavo anche valutando di fare una locomotiva larga 7 stud) 2) Scambi. Sono 3 abbastanza vicini, userei una sola esp comune e farei partire poi da li solo i cavi dei motori verso gli scambi. Da montare e smontare ogni volta, ma al momento è la soluzione più fattibile. esp32 alimentato con cavo da un trasformatore centrale a 9v 8-10A che eroga corrente a tutte le altre esp sul tavolo per avere in comune il GND (al momento ho diversi trasformatori 9v con cavi pf modificati, non andrebbero bene). buck per avere i 5v (i 9v sono per i motori) driver motori (2, ognuno comanda 2 motori distinti, ho ancora un eventuale uscita motori per altro) 3) Passaggio a livello. Io qua vorrei avere anche le croci di san andreas illuminate e l'avviso sonoro. Quel pezzo di binari a forma di Y rovesciata è un pezzo unico, metterei li la breadboard con tutti i cablaggi cosi avrei tutto li fisso. esp32 con 16mb di memoria per caricarci sopra piccoli file audio mp3/wav alimentazione da cavo 9v 8-10A buck per avere i 5v (i 9v sono per i motori) amplificatore audio (MAX98357A) con relativo piccolo altoparlante 4ohm 3watt luci led con relative resistenze e transistor driver motori. Qua ho un grosso dubbio: motori pf temporizzati? 2 secondi per alzare la sbarra e 3 secondi per chiuderla in maniera da avere poi sempre la stessa impostazione iniziale di partenza? Molto probabilmente i servo qua sarebbero l ideale. 4) Binari. Metterei dove mi serve dei magneti incollandoli e non avendo di mezzo cavi.Poi con la logica sulla locomotiva, creare una sorta di mappatura di questi magneti Per esempio, al primo giro il magnete n 1 non fa nulla, il num 2 attiva uno scambio, il num 10 mi indica che è ricominciato il giro. Dal punto di vista logico molto più complesso, ma avendo il sensore hall sulla locomotiva non ho molte altre alternative. Le board dovrebbero comunicare tra di loro tramite ESP-NOW. Quando l'esp Locomotiva supera il magnete n2, manda il segnale all'esp Scambi di deviare a sx lo scambio n1. Quando l'esp Locomotiva supera il magnete n5, l'esp Passaggio a Livello fa partire luci, suoni e le sbarre. Dopo x secondi (oppure con un altro magnete, ma più ne ho e più devo poi impazzire con la logica) il passaggio a livello torna ad essere libero. Questo tipo di comunicazione diventa cruciale per tutto il diorama. Senza, non si potrebbre far nulla. Ho poi in mente almeno altri 3 esp che vanno a sostituire quello che gia faccio attualmente nel diorama con gli sbrick: Cancello (con luci e suoni) e rimessa dei mezzi con portone basculante che si aprono in automatico tramite sensore ToF, automatismi del mezzo che esce ed entra dal garage con saracinesca che si apre e si chiude ecc. E ho anche sempre più idea di "arduinizzare" i due mezzi che attualmnte radiocomandiamo col pad della ps5 e brickcontroller (buggato). Hanno entrambi movimenti, luci e suoni, ma bisogna passare da un app all'altra ogni volta, luci e suoni non sono telecomandabili con l'attuale sistema adottato e risulta sempre molto scomodo. A breve dovrebbero arrivarmi i pezzi per poter iniziare con la locomotiva, da li inizierò a mettere mano fisicamente a quello che in questi mesi ho "studiato" assieme all'intelligenza artificiale. L'obiettivo è di arrivare ad ottobre (Savona Brick) pronto almeno con il tracciato dei treni completamente funzionante. AirMauro 1
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now