-
Contenuti
6578 -
Registrato il
-
Ultima visita
-
Vittorie
552
Tipo di contenuto
Profili
Forum
Calendario
Tutto il contenuto inserito da GianCann
-
Pybricks: MicroPython per Powered UP
GianCann ha risposto al topic di GianCann in Automazione, Illuminazione e Programmazione
Ecco un micro-esempio, della modalità che abbiamo denominato (per ora) PRM: Permanent Running Mode. Questo è il mio Move Hub... lo accendo, e poi premendo sul pulsate, ottengo un movimento di 90° in senso orario del motore interno "A". Notate il led dell'Hub... non lampeggia (come farebbe l'hub appena accesso con il firmware originale, per indicare che è in attesa di un dispositivo 'master') ma diventa immediatamente blue, ad indicare che è pronto per ricevere uno script tramite seriale. Siccome uno script è già stato memorizzato al suo interno, è sufficiente premere sul pulsante per eseguirlo. Lo script "precaricato" è banalmente: leftMotor = Motor(Port.A) leftMotor.run_angle(500,90) -
Pybricks: MicroPython per Powered UP
GianCann ha risposto al topic di GianCann in Automazione, Illuminazione e Programmazione
Giusto per fare un esempio pratico del vantaggio di Pybricks, rispetto l'App ufficiale LEGO. Prendiamo questo modulo GBC dell'ingegnoso Akiyuki. Quando lo ha realizzato ancora non c'era il supporta per il multi-hub e quindi doveva utilizzare uno smartphone per ogni carrello e per la stazione di caricamento. Oggi, se gli va bene, con un solo smartphone forse riuscirrebbe a far funzionare 2-3 carrelli, e la stazione di caricamento. Con PyBricks, non ci sarà bisogno di alcuno smartphone/tablet e i carrelli potranno essere anche 10! Ognuno con la sua intelligenza autonoma... -
Pybricks: MicroPython per Powered UP
GianCann ha risposto al topic di GianCann in Automazione, Illuminazione e Programmazione
Nel weekend ho proseguito con i test su Pybricks. Specifico che la prima versione del firmware che ci è stata messa a disposizione (che è non è ancora beta) non consente ancora di salvare in modo permanente un nostro script MicroPython nella memoria flash del micro. Non perché il firmware non è sia ancora in grado di farlo ma perché, in questa fase di test del runtime MicroPython, sarebbero numerose le scritture sulla flash e gli sviluppatori preferiscono non 'eccedere'. Chi ha avuto, o ha a che fare con i microcontrollori sa che le memorie flash hanno un numero di scritture limitato (comunque elevato, da non dover preoccupare: andiamo sull'ordine delle decine di migliaia di volte). Però, quanto meno in questa fase, i ragazzi del team Pybricks vanno molto cauti su questo aspetto e stanno persino valutando per il futuro una modalità "deep sleep" dove l'Hub possa mantenere nella memoria "ram" il codice dello script anche in caso di cambio delle batterie (grazie al generoso condensatore presente sulla scheda elettronica) così come avveniva ai tempi dell'RCX. Ovviamente, sia io che gli altri beta tester abbiamo sottolineato che il punto di vista di forza di Pybricks deve essere quello di poter programmare a piacimento lo Smart Hub e di poterlo usare, anche a distanza di mesi, senza preoccuparsi di nulla (ovvero di dover ricaricare il programma, nel caso le batterie si fossero nel frattempo esaurite). Quindi, di poter salvare il modo *permamenente* il nostro script sulla memoria flash. Come funziona Pybrycks? Come penso sia ormai chiaro, Pybricks è un firmware (ovvero un software che viene memorizzato nella memoria permanente di un microcontrollore) e quindi, innanzitutto, è necessario procedere alla sostituzione di quello originale LEGO. E' un'operazione che è possibile effettuare grazie alla modalità "Bootloader" che LEGO ha implementato sui suoi smart hub proprio per aggiornare/sostituire il proprio firmware via via che aggiungo le funzionalità e/o risolvono i bug (nel mondo reale, non ci sono software che non soffrono di bug). Per poter quindi caricare un nuovo firmware è necessario forzare lo smart hub ad entrare in modalita "Bootloader": Da Hub spento, è necessario tener premuto il pulsante di accensione finché il LED non diventa di colore viola. A questo punto, lo smart hub è pronto a ricevere il nuovo firmware (trasferito come un flusso di byte, via Bluetooth) A trasferimento dati completato, lo smart Hub si riavvia ed entra in modalità Pybricks (LED accesso sul colore blue). Il team di sviluppo ha integrato il meccanismo di "flashing" del firmware direttamente all'interno dell'editor MU. MU è un semplice editor opensource pensato per scrivere programmi in Python/MicroPython. E' pensato per essere semplice e, nondimeno, per programmare i microcontrollori che supportano MicroPython (incluso Micro:bit, ESP, ed altre board simili). Cos'è esattamente Pybrikcs? Sostanzialmente è un interprete di codice MicroPython in grado di eseguire script con estensione *.mpy MicroPython è un linguaggio di programmazione derivato dal fratello maggiore Python, ed è pensato appositamente per poter funzionare sui microcontrollori. Con Pybricks, questi script (abbastanza semplici da scrivere) possono essere trasferiti via Bluetooth sulla memoria Ram del micro dove per poi essere realmente interpretati/eseguiti. Questa è la grossa (e non unica, tra l'altro) differenza con il firmware originale LEGO: Il programma è interpretato ed eseguito direttamente nel micro, a differenza dell'App LEGO dove il codice viene eseguito sullo smartphone che, in un continuo passaggio di dati con lo Smart Hub (via Bluetooth), invia i comandi verso i motori e/o legge i dati dai sensori. La differenza di eseguire il codice direttamente sul microcontrollore comporta una serie di vantaggi, a partire dalla velocità di esecuzione dello stesso: parliamo di fattori di moltiplicazione che vanno da 10 a 100 volte più veloci e che consentono quindi di realizzare cose impossibili con l'App (pensate, ad esempio, ad un line follower molto preciso e veloce oppure ad un robot self-balanced, così come un treno che può interpretare molto velocemente e precisamente i checkpoint colorati lungo il percorso). Il firmware Pybricks, inoltre, estende le funzionalità dello Smart Hub implementando già ora il protocollo LEGO UART Messaging Protocol e, in futuro, una più generale classe UART per la comunicazione via seriale con dispositivi/sensori custom. A regime, il programma *.mpy potrà essere salvato sulla memoria del micro ed essere eseguito all'accensione (probabilmente, con una sequenza di 2-3 click sul pulsante verde). Ne stiamo discutendo proprio stamani, sul sistema più idoneo su come gestire questa modalità. Ieri sera, dopo uno primo scambio di idee con gli sviluppatori, ci hanno rilasciato una nuova versione del firmware dove c'è una preview di questa possibilità. Comunque, rispetto al firmware originale LEGO, qui siamo su un altro pianeta... Certamente Pybricks non sarà per tutti, ma per molti. Giusto per farvi capire, ecco uno script di esempio. #definisco le variabili che rappresenta l'Hub e il motore connesso alla porta A hub = MoveHub() leftMotor = Motor(Port.A) #eseguo il ciclo per 10 volte for i in range(10): #scrivo una stringa sullo stdout (via seriale BLE) print("Blink!", i) #accendo il LED dell'Hub sul colore arancione hub.light.on(Color.ORANGE) #aspetto 100 millisecondi wait(100) #accendo il LED dell'Hub sul colore verde hub.light.on(Color.GREEN) #faccio fare un giro completo (360°) al motore, ad una velocità di 500°/s leftMotor.run_angle(500, 360) -
Non posso che darti ragione al 100%. Premesso che io sono dell'idea che anche in autunno non si potrà fare nulla, allo stato attuale buona parte degli eventi saltati sono stati spostati nel secondo semestre 2020 e, più precisamente nel trimestre settembre-novembre. Questi eventi, pertanto, si andrebbero a sovrapporre ad altri già programmati di default per quel periodo andando a riempire ancor di più un calendario che, già di per se, è diventato molto fitto senza chiamare in causa il virus. Prendiamo il Play di Modena: inizialmente programmato per inizio aprile è stato spostato a fine maggio e slitterà ulteriormente a settembre. Ma, a settembre, c'è anche il Modena Nerd (negli stessi spazi) con il quale condivide una buona fetta di pubblico. Fare due eventi "simili" (perchè questi eventi, alla fine, sono un potpourri delle medesime cose, con percentuali di mescolamento diverse), nella stessa zona geografica, a distanza di 1-2-3 settimane, non ha senso... E, più o meno, accadrà la stessa cosa anche per il nostro specifico settore degli eventi LEGO. Chi non vorrà fare a meno di mettere in piedi l'evento, dovrà farlo tenendo conto che, nello stesso weekend, potranno esserci molti altri eventi paralleli. A cose normali, ho annotato persino 7 eventi nello stesso weekend. Cosa succederà in autunno? Comunque, ribadisco: molto probabilmente in autunno non si potranno ancora fare assembramenti di persone e, nel caso fosse possibile, non so quanto sarà forte la fobia.... Questo è uno studio sul fenomeno relativo dei "ritorni" del virus. Allo stato attuale, c'è solo una certezza: è un virus dalla elevata diffusione per il quale, prima di un anno (se va bene) non ci sarà vaccino. E, dati alla mano, gli esperti dicono che non c'è alcuna evidenza che una volti guariti non si possa nuovamente ricadere nella malattia. Il Consiglio dei Ministri sta valutando l'ipotesi di iniziare il prossimo anno scolastico in modalità "a distanza". Se a settembre i ragazzi non potranno tornare sui banchi di scuola, pensate si potranno organizzare eventi fisici? Vi lascio il link a questo servizio del TG3 Toscana, andato in onda ieri, e che parla di 'grandi manifestazioni'. Parliamoci chiaro... questo 2020 è, e continuerà ad essere, un anno difficile e molti "danni collaterali" li vedremo meglio solo nei prossimi mesi, con licenziamenti, chiusure di attività e forte recessione dell'economia.
-
Pybricks: MicroPython per Powered UP
GianCann ha risposto al topic di GianCann in Automazione, Illuminazione e Programmazione
Sin da quando uscì il sistema Powered Up mi chiesi se, un giorno, sarebbe stato possibile implementare sensori personalizzati... Quel giorno è arrivato Nel firmware PyBricks c'è la classe LUMPDevice (LUMP è l'acronimo di LEGO UART Messaging Protocol, introdotto anni fa con l'NXT) che consente di scambiare dati tramite comunicazione seriale. Oggi ho provato questa classe, usando un Micro:Bit come sensore. Sul Micro:Bit gira un codice MicroPython che legge i dati dell'accelerometro/giroscopio, li "normalizza" leggermente, e poi li trasmette via seriale. Il cavetto USB rosso che si vede nel video è usato solo per alimentare il microcontrollore. Sul Move Hub, invece, gira un semplice loop che legge continuamente i dati in ingresso tramite la classe LUMPDevice. I dati ricevuti, vengono mostrati sulla console di output di MU (il software usato per programmare l'Hub) e sono ricevuti tramite Bluetooth. Questa cosa, naturalmente, apre scenari interessanti -
Pybricks: MicroPython per Powered UP
GianCann ha risposto al topic di GianCann in Automazione, Illuminazione e Programmazione
Si, è questione di tempo. Benché l'architettura sia simile tra i vari HUB, ci sono lievi differenze sia hardware che software. Sono partiti con il Boot Move Hub perché è il primo che è stato rilasciato e quindi ci studiano da più tempo (hanno fatto tutto in reverse engineering). -
Pybricks: MicroPython per Powered UP
GianCann ha risposto al topic di GianCann in Automazione, Illuminazione e Programmazione
Beh... funziona Ovviamente stiamo parlando di una versione Alpha e quindi non tutto fila sempre liscio... Al momento siamo in 3 a "giocarci": io, un francese (Philo Hurbain) e un portoghese (Jorge Pereira). Ho fatto varie prove, dal classico "Hello Word" per microcontrollori (il blink di un LED) fino a provare varie combinazioni di motori e, non di meno, l'uso del sensore di colore come trasmettitore IR Insomma, ci sono belle prospettive... Nel prossimo post entrerò più nel dettaglio, anche perché devo ancora approfondire alcuni aspetti. -
Pybricks: MicroPython per Powered UP
GianCann ha risposto al topic di GianCann in Automazione, Illuminazione e Programmazione
Ecco una bella notizia: sono entrato nel programma di alpha-testing!!! Stasera potrò finalmente provare PyBricks con le mie mani @Pix stay tuned! -
Penso che possa essere di interesse per molti questa "live FaceBook" organizzata da Lega Nerd e che vedrà come ospiti i direttori di Lucca Comics & Games, di Play Modena e del Comicon di Napoli. L'incontro si svolgerà il 3 aprile, dalle 13.30 alle 15.30, sulla pagina Facebook e sul canale Twitch di Lega Nerd.
-
Brickset ha pubblicato molte altre immagini: https://brickset.com/sets/42111-1
-
-
Pybricks: MicroPython per Powered UP
GianCann ha inserito un topic in Automazione, Illuminazione e Programmazione
Sono passati oramai 3 mesi da quando vi parlai, per la prima volta, di Pybricks. A quei tempi c'era veramente ben poco ,oltre al sito... È ora arrivato il momento di aprire in topic specifico visto che, nel frattempo, il lavoro è andati avanti e una prima beta-release pubblica sta per essere rilasciata. Faccio un brevissimo riassunto per chi non avesse seguito il topic dedicato al Powered UP. PyBricks è un firmware (software per microcontollori) alternativo a quello originale LEGO che, una volta installato su uno degli smart hub Powered Up (Move/Smart/Technic Hub) consentirà di programmarlo con il linguaggio MicroPython per far eseguire il nostro programma senza necessità di uno smartphone/tablet. Sostanzialmente, una volta programmato, basterà accendere l' Hub e immediatemente inizierà ad eseguire la sequenza di comandi secondo la logica da noi stabilità. Oltre al vantaggio di non richiedere un device esterno (smartphone o tablet che sia), ci saranno tempi di esecuzione del codice molto più veloci perché lo stesso sarà in esecuzione direttamente nel micro, e non nello smartphone con tutto il passaggio di informazioni tramite Bluetooth che ne consegue. I ragazzi che stanno sviluppando questo firmware (la prima beta sarà rilasciata solo per il Move Hub) ha da poco aggiornato il sito e, soprattutto, hanno iniziato a rendere pubblica la documentazione (seppur non definitiva) https://docs.pybricks.com/en/latest/ Aggiornerò questo topic esplorando PyBricks illustrando come impiegarlo nei nostri diorami/MOC -
Non ci ho mai pensato...
-
Eh... non te lo posso dire Comunque, tecnicamente, mi sembra un progetto che non può funzionare. Il tunnel di cascata che porta i pezzi LEGO nei cassetti si può riempire facilmente con tutte le conseguenze del caso. Soprattutto perché sembra più un prodotto destinato a bambini, e non agli AFOL. Oltre al fatto che puoi "smistare" giusto 16 tipologie di pezzi alla volta. P.S. In questi giorni in diversi hanno criticato il metodo di comunicazione del nostro primo ministro, che annuncia i decreti per poi emetterli effettivamente uno-due giorni dopo... che dire, quindi, di IKEA e LEGO che hanno annunciato la loro JV a giugno del 2018? Dopo quasi due anni da quel comunicato, ancora non s'è visto alcun risultato di questa loro collaborazione
-
Segnalo (ai vari AFOL che non disdegnano l'uso di binari prodotti da terze parti) che TrixBix ha rilasciato la Parts Library dei suoi binari per il software BlueBrick: https://www.trixbrix.eu/en_US/i/Track-Planning/22
-
-
Avrebbero dovuto osare di più, e proporre una scatola che replicasse veramente quelle degli anni '90, con folder apribile e blister interni. Anche a costo di far lievitare il prezzo a 250 euro.
-
Non c'è più la percentuale sul venduto?
-
Considerato quanti ne venderanno, secondo me l'ha presa molto, molto bene
-
LEGO Wall Art? Marilyn Monroe (31197) – 3,341 pieces The Beatles (31198) – 2,933 pieces Iron Man (31199) – 3,406 pieces Star Wars (31200) – 3,167 pieces https://www.thebrickfan.com/rumored-LEGO-mosaic-themed-sets-coming-soon
-
LEGO PoweredUp! (aka power functions 2.0)
GianCann ha risposto al topic di Laz in Automazione, Illuminazione e Programmazione
I ragazzi di PyBricks hanno appena pubblicato un nuovo video!!! Smart trains, autonomous trains, fast trains, so many options With code running locally, you won't miss a single sensor reading. Detect colors on the track even as you drive at full speed. Who else can't wait for the very first beta release? -
Control Lab "revival"
GianCann ha risposto al topic di GianCann in Automazione, Illuminazione e Programmazione
In realtà, il motor PF 'M' ha lo stesso assorbimento del 2838 (il rettangolare 9v): 320ma Comunque si, finché devi farli girare a vuoto, nessun problema... ma se devi farli girare con un carico, e per diverso tempo, credo che il Control Lab si possa particolarmente surriscaldare nella parte di pilotaggio del motore. Sarei veramente curioso di vedere l'elettronica utilizzata al suo interno -
Control Lab "revival"
GianCann ha risposto al topic di GianCann in Automazione, Illuminazione e Programmazione
-
Control Lab "revival"
GianCann ha risposto al topic di GianCann in Automazione, Illuminazione e Programmazione
-
Purtroppo, da ieri pomeriggio, Campustore non effettuerà più alcuna spedizione perchè il loro corriere (BRT) gli ha comunicato che effettueranno solo spedizioni di beni primari: https://www.innovationforeducation.it/news/sospensione-delle-spedizioni-per-gli-ordini-sul-sito-campustore/ Questa è la comunicazione ricevuta stamani, via email: Le confermiamo di aver ricevuto il suo ordine, a causa però della situazione di emergenza COVID-19 presente ora in Italia e della congestione del sistema di spedizione tramite corriere che si deve concentrare sui beni di prima necessità Campustore ha scelto di fermarsi per non sovraccaricare il sistema. Riprenderemo le spedizioni non appena la situazione di emergenza sarà passata. Ho contattato il servizio clienti, specificando che l'ordine è stato fatto prima che comparisse il messaggio di sospensione e che l'acquisto è stato fatto proprio in ragione della permanenza forzata in casa di una ragazzo, ma l'unica cosa che possono fare è quella di annullare l'ordine...
