Passa ai contenuti principali

CBL

Suoniamo la nostra musica!

Anzi, facciamola suonare alle nostre macchine intelligenti.

Computer e ... gattini.

Laptop e personal computer al servizio di Scratch.

Hardware

Un Personal Computer (PC) o un laptop dotato di periferiche Audio (altoparlanti/cuffie).

Software

  • Scratch:
    "is a free programming language and online community where you can create your own interactive stories, games, and animations".
Direttamente dal M.I.T. (Massachusetts Institute of Technology)

Stage e Sprite: in Scratch questi sono gli elementi fondamentali cui legare la programmazione:
    • Stage è il palcoscenico, lo sfondo di una scena
    • Sprite sono gli... attori
  • Avviamo Scratch 3
  • Programmiamo il LAPTOP affinchè esegua una canzone
  • Scarichiamo l'immagine della tastiera di un piano a questo link (grazie a https://pixabay.com): la useremo per visualizzare eventuali note suonate
  • Programmiamo il LAPTOP affinchè ci permetta di suonare su una tastiera... reale, ma non del piano 😅!

Robot, costruzioni e... tamburi

Il mondo Lego al nostro servizio

Hardware

  • 1 mattoncino intelligente LEGO NXT/EV3
  • 1 servomotore
  • 1 Personal Computer (PC) o un laptop per programmare il robot
  • mattoncini LEGO per la costruzione dei necessari dispositivi
  • cavetteria
    • 1 cavo USB type A per il collegamento PC<--->Robot
    • 1 cavo per il collegamento Robot<--->attuatore (servomotore)
Per saperne di più vai al post dedicato su questo blog.

Software

  • Linguaggio di programmazione LEGO EV3 (parzialmente compatibile con robot LEGO NXT): vai alla pagina LEGO per il download cliccando qui.
Suonare una canzone
Se le macchine intelligenti possono suonare, facciamo suonare il robot LEGO NXT?! 
Una vera opera d'arte 😁: Twinkle twinkle little star
  • Di cosa stiamo parlando (spartito):
  1. Deduciamo le note!
  2. Avviamo NXT-G (il linguaggio di programmazione dedicato al robot LEGO NXT)
  3. Salviamo il file con il nome "Twinkle_Twinkle"
  4. Inseriamo i blocchi di istruzione per la riproduzione delle singole note

  1. Test e debug
  2. Eventuali modifiche
  3. Salvataggio versione finale

Creare un accompagnamento (percussioni)
Ora cerchiamo di realizzare un ... percussionista: il robot suonerà un tamburo seguendo un tempo 
  • Costruiamo il dispositivo per attuare le percussioni

  • Avviamo NXT-G
  • Inseriamo i blocchi di istruzione per la riproduzione del ciclo temporale........ (inserire immagine)

Di seguito una ulteriore, possibile idea da sviluppare: un sequenziatore...

Arduino, servomotori e... spartiti

Noi nell'Universo Arduino

Hardware

  • 1 scheda programmabile Arduino
  • [1 scheda per la prototipazione di circuiti elettrici (breadboard)]
  • 1 servomotore
  • cavetteria
  • 1 Personal Computer (PC) o un laptop per programmare la scheda

Software
OS Win10 64bit

Cosa occorre:
  • loopMIDI
    "This software can be used to create virtual loopback MIDI-ports to interconnect applications on Windows that want to open hardware-MIDI-ports for communication"
  • hairless-midiserial:
    "is the easiest way to connect serial devices (like Arduinos) to send and receive MIDI signals"
  •  IDE Arduino Ambiente di programmazione integrato per Arduino
    "The open-source Arduino Software (IDE) makes it easy to write code and upload it to the board. This software can be used with any Arduino board"
  • LMMS (Linux MultiMedia Studio)
    "Scrivere musica non è mai stato così facile"
Per mezzo di LMMS creeremo uno spartito (!)
Utilizzeremo l'IDE Arduino per creare il programma tramite il quale, in funzione delle note dello spartito, comanderemo il movimento del servomotore.
Il software loopMIDI ci servirà per creare un cavo virtuale per la comunicazione MIDI (invio delle note) tra PC e Arduino (aprirà una porta sul sistema operativo).
Il software hairless-midiserial ci servirà per  rendere possibile e monitorare il flusso di dati (note MIDI) dal PC verso Arduino.

La configurazione


Realizziamo i collegamenti fisici indicati in figura:
  • Colleghiamo un cavetto giallo al terminale giallo del servo
  • Colleghiamo un cavetto rosso al terminale rosso del servo
  • Colleghiamo un cavetto nero al terminale marrone del servo
  • Colleghiamo l'altro terminale del cavetto rosso al PIN 5V della scheda
  • Colleghiamo l'altro terminale del cavetto nero al PIN GND della scheda
  • Colleghiamo l'altro terminale del cavetto giallo al PIN ~3 della scheda
  • Alimentiamo (collegando il PC alla scheda Arduino per mezzo del cavo USB)
Occorre quindi procedere all'installazione e configurazione dei software:

IDE Arduino
Creiamo il programma che, in funzione della nota letta, proveniente da LMMS, attiverà il servomotore. Se di vostro interesse propongo di seguito il link al post dedicato su questo blog... sull'(introduzione all') Universo Arduino.
E' nostro scopo immediato scrivere il programma, lo sketch, secondo il linguaggio Arduino. Sarà pertanto necessario compiere le seguenti operazioni:
  • Apriamo l'IDE Arduino
  • Dal menu File selezioniamo l'opzione Nuovo
  • Dal menu File selezioniamo Salva con nome salvando il programma ora aperto, nominandolo CBL_Arduino
  • Apriamo questo link allo sketch in parte già scritto (URL blog dell'Insegnante)
  • Selezioniamo tutto il testo
  • Copiamo il testo
  • Incolliamo il testo copiato all'interno dello sketch CBL_Arduino
  • Digitiamo, nello spazio lasciato libero, le istruzioni contenute nel rettangolo rosso:
  • Dal menu File selezioniamo Salva per salvare lo sketch
  • Verifichiamo la correttezza sintattica dello sketch digitato
  • (Test e debug)
  • Eventuali modifiche
  • Salvataggio versione finale
  • Dal menu Strumenti selezioniamo Scheda: ---> Arduino/Genuino Uno
Ho condiviso una versione definitiva dello sketch a questo link.

loopMIDI
  • [Eventualmente Installare il sw]
  • avviare il sw
  • creare una nuova porta 
  • attribuirle il nome desiderato (Midi_Arduino_CBL, nel nostro caso)

Creare una nuova porta, attribuendole il nome

hairless-midiserial
  • [Eventualmente Scaricare il sw]
  • avviamo il sw
  • Controlliamo su Serial port la corretta connessione con la porta seriale della scheda Arduino (Arduino Uno (COM3) in figura)
  • Controlliamo su MIDI OUT la corretta connessione con la porta aperta da loopMIDI (Midi_Arduino_CBL)
LMMS
  • [Eventualmente Installare il sw]
  • Avviamo il sw
  • Creiamo uno spartito

  • Vediamone gli effetti sul... servomotore.
  • Procediamo introducendo alcune modifiche sullo spartito e testandone gli effetti sul servomotore




Questo un filmato di quanto potremmo ottenere.



E ricordiamo: "La mente è come un paracadute. Funziona solo se si apre!" [A.E.]

Buon lavoro e... Buon divertimento 😉😀! [D.N.]

Commenti

Post popolari in questo blog

Il circuito elettrico

Una catena chiusa di conduttori dove scorre la corrente elettrica "Una corrente elettrica è un flusso continuo di particelle dotate di carica che può scorrere soltanto in un circuito formato da una catena ininterrotta di elementi conduttori. Nel circuito deve esserci un generatore, per esempio una pila, in grado di far muovere le cariche elettriche. Il passaggio della corrente serve per trasportare sia energia sia informazioni.[...]" [V.  http://www.treccani.it/enciclopedia/circuito-elettrico_%28Enciclopedia-dei-ragazzi%29/  ] Una semplice guida alle caratteristiche principali di un circuito elettrico la trovate a  questo link . E allora costruiamo un semplice circuito elettrico:  Ed entriamo più nel dettaglio analizzando il circuito dal punto di vista chimico/fisico:

Progettazione degli impianti elettrici

Come progettare un impianto elettrico. Innanzitutto determiniamo la potenza contrattuale e di progetto .  Iniziamo poi con alcune informazioni su come progettare l'impianto elettrico di una civile abitazione: dai criteri di progettazione alla realizzazione con schemi topografici e unifilari, definizioni e formule da utilizzare. Riportiamo inoltre un riferimento al sistema elettrico italiano , dalla produzione alla trasmissione , alla distribuzione e al dispacciamento (contiene il link alla presentazione sulla centrale idroelettrica di Villagrande Strisaili ). I contenuti sono disponibili nelle presentazioni linkate. L’impianto elettrico per civile abitazione [ un click qui per la presentazione ] Criteri progettuali di un impianto elettrico per civile abitazione Progetto elettrico Livelli prestazionali secondo la CEI 64-8 Numero di circuiti da prevedere Criteri generali di posizionamento delle prese La rete di distribuzione e l’impianto elettrico ( 2 ) [ un click qui ...

Arduino e... dintorni

Dal manuale alla... realizzazione Abbiamo spesso parlato di sistemi intelligenti , in senso lato, intendendo sistemi che, fissata la composizione hardware, permettono di svolgere compiti, risolvere problemi, di volta in volta differenti a seconda del software installato. Arduino è una scheda programmabile che, a pieno titolo, possiamo annoverare tra i sistemi intelligenti. Il primo approccio all'utilizzo della scheda sarà quello di chi, totalmente a digiuno di approfondimenti, leggendo schemi e conoscendo, strada facendo, dispositivi ed apparati, debba realizzare un... progetto . Potremmo sintetizzare il percorso nel motto "Dal manuale alla... realizzazione" . Nella fase di ricerca questi sono stati i documenti/manuali da voi "prodotti" : Andrea Spanu Emanuele Pusceddu Matteo Chessa Ma, più precisamente...  WHAT IS ARDUINO? Arduino is an open-source electronics platform based on easy-to-use hardware and software. It's intended for anyone mak...