Nella foto ci sono i due cloni di Arduino Nano che ho nella mia collezione.
La prima a sinistra, l'ho comprata qualche tempo fa e non mi mai dato problemi.
Quella a destra invece e' un recentissimo acquisto e quando lo ho connessa ad Arduino IDE (sotto Windows e Mac) ho avuto la spiacevole sorpresa che non era presente la porta seriale e su Windows era richiesto il driver usb2.0-serial (i driver Arduino era gia' correttamente installati)
La soluzione risiede nell'installare i pacchetti scaricabili a questo indirizzo
http://www.arduined.eu/ch340g-converter-windows-7-driver-download/
perche' sui cloni Arduino recenti viene montato un convertitore CH340G USB/Serial al posto del normale FTDI
venerdì 21 agosto 2015
giovedì 20 agosto 2015
Midi over Usb con Arduino
Arduino non puo' diventare un vero e proprio dispositivo Midi a meno che non si faccia una modifica al firmware (nel qual caso poi non diventi poi piu' programmabile) ma puo' comunque inviare stringhe MIDI via seriale che sono poi convertite, via software, da programmi Serial->Midi.
Questa prova e' stata fatta su Mac ma in linea di principio e' ripetibile anche su Windows (con altri software) ma io non ci sono riuscito
(da importare la libreria Arduino Midi Library, codice modificato dal primo esempio)
-------------------------------------------------
#include <MIDI.h>
MIDI_CREATE_DEFAULT_INSTANCE();
#define LED 13
void setup()
{
pinMode(LED, OUTPUT);
MIDI.begin(1);
Serial.begin(115200);
}
void loop()
{
digitalWrite(LED,HIGH);
MIDI.sendNoteOn(42,127,1); // Send a Note (pitch 42, velo 127 on channel 1)
delay(1000); // Wait for a second
MIDI.sendNoteOff(42,0,1); // Stop the note
digitalWrite(LED,LOW);
}
-------------------------------------------------
Poi si va in Applicazioni/Utility e si carica Configurazioni Midi Audio, Mostra Studio Midi Driver IAC e si attiva il driver
Per la conversione del segnale seriale derivante da Arduino in segnale Midi si puo' usare Hairless-MidiSerial. Il funzionamento e' quanto mai semplice. A sinistra si imposta la porta seriale dell'Arduino e sulla destra gli input ed output Midi (nel mio caso era solo un input in quanto Arduino spedisce solo dati)
E' ovviamente noioso ma basta inserire un po' di pulsanti e riprogrammare Arduino per rendere tutto piu' interattivo
Questa prova e' stata fatta su Mac ma in linea di principio e' ripetibile anche su Windows (con altri software) ma io non ci sono riuscito
(da importare la libreria Arduino Midi Library, codice modificato dal primo esempio)
-------------------------------------------------
#include <MIDI.h>
MIDI_CREATE_DEFAULT_INSTANCE();
#define LED 13
void setup()
{
pinMode(LED, OUTPUT);
MIDI.begin(1);
Serial.begin(115200);
}
void loop()
{
digitalWrite(LED,HIGH);
MIDI.sendNoteOn(42,127,1); // Send a Note (pitch 42, velo 127 on channel 1)
delay(1000); // Wait for a second
MIDI.sendNoteOff(42,0,1); // Stop the note
digitalWrite(LED,LOW);
}
-------------------------------------------------
Poi si va in Applicazioni/Utility e si carica Configurazioni Midi Audio, Mostra Studio Midi Driver IAC e si attiva il driver
Per la conversione del segnale seriale derivante da Arduino in segnale Midi si puo' usare Hairless-MidiSerial. Il funzionamento e' quanto mai semplice. A sinistra si imposta la porta seriale dell'Arduino e sulla destra gli input ed output Midi (nel mio caso era solo un input in quanto Arduino spedisce solo dati)
Come destinatario del segnale Midi, non avendo altro a disposizione, ho provato Virtual Midi Piano Keyboard
Tramite questa catena e' possibile far suonare ad Arduino il pianoforte Midi
E' ovviamente noioso ma basta inserire un po' di pulsanti e riprogrammare Arduino per rendere tutto piu' interattivo
Samba su Centos 7
Per installare Samba su Centos 7 ho seguito questi passi (la macchina ha Selinux disattivato)
yum install samba samba-client samba-common
systemctl enable smb.service
systemctl enable nmb.service
systemctl restart smb.service
systemctl restart nmb.service
[global]
firewall-cmd --permanent --zone=public --add-service=samba
smbpasswd -a www_user
yum install samba samba-client samba-common
ed in seguito
systemctl enable nmb.service
systemctl restart smb.service
systemctl restart nmb.service
ad un primo tentativo il servizio nmd non veniva tirato su, ho risolto facendo uno yum update (e' quindi consigliabile farlo da subito prima dell'installazione dei pacchetti)
dato che il server su cui lo ho installato ha due interfacce (una con ip pubblico ed una con ip privato) ho modificato il file /etc/samba/smb.conf per mettere in ascolto solo sull'interfaccia interna modificando
interfaces = 10.1.1.16 lo
bind interfaces only = yes
per verificare che tutto sia andando a buon fine si puo' digitare netstat -tapn | grep smbd
Rimane da aprire la porta del firewall
firewall-cmd reload
visto che era richiesto l'accesso autorizzato ad una cartella condivisa e' stato creato un utente samba generico che permette di scrivere sulla directory del web server
il file smb.conf finale e' di questo tipo
---------------------------------------------------
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = centos
security = user
map to guest = bad user
dns proxy = no
interfaces = 10.1.1.16 lo
bind interfaces only = yes
#============= Share Definitions ==============
[www]
path = /var/www/html
valid users = www_user
read only = No
create mask = 0777
directory mask = 0777
mercoledì 19 agosto 2015
Errore collect2.exe: error: ld returned 5 Arduino IDE
Su Arduino IDE 1.6.5 per Windows XP (non ho provato sulle altre piattaforme) in fase di compilazione di un codice leggittimo (che si compilava in precedenza) viene generato il seguente errore
collect2.exe: error: ld returned 5 exit status
Errore durante la compilazione
dopo un po' di prove ho scoperto che la riga incriminata che genera l'errore e' relativa all'istruzione delay (commentata la riga tutto funziona). Non ho trovato soluzione se non installare una versione piu' vecchia dell'IDE
martedì 18 agosto 2015
NFC Mifare e Nexus
Un paio di anni fa mi ero interessato all'uso degli Rfid su Android per un progetto che non e' mai partito ed allo scopo avevo comprato un centinaio di tag solo leggibili ed un tag riscrivibile in formato Mifare Classic 1K (con una memoria di 1024 byte, un po' costoso all'epoca devo ammettere)
Le prove le avevo eseguite con il Nexus S che era all'epoca il telefono di sviluppo
Ho ripreso in mano il progetto per un nuovo possibile utilizzo stavolta utilizzando il Nexus 4.
Con mia sorpresa ho scoperto che il sensore di N4 non ha compatiblita' con il formato Mifare Classic 1K ed ho dovuto ordinare dei nuovi tag Ntag 203 (che dovrebbero essere universali)
NFC e' sempre rimasto un aspetto marginale di Android e di sicuro continuera' ad esserlo se non vengono definiti degli standard stabili nel tempo
Le prove le avevo eseguite con il Nexus S che era all'epoca il telefono di sviluppo
A sinistra Nexus 4, al centro Mifare Classic ed a destra Nexus S |
Con mia sorpresa ho scoperto che il sensore di N4 non ha compatiblita' con il formato Mifare Classic 1K ed ho dovuto ordinare dei nuovi tag Ntag 203 (che dovrebbero essere universali)
NFC e' sempre rimasto un aspetto marginale di Android e di sicuro continuera' ad esserlo se non vengono definiti degli standard stabili nel tempo
lunedì 17 agosto 2015
Salvare pagine html on line per rassegna stampa
Uno dei problemi che si incontrano quando si cercano di salvare pagine html sui vari siti (per esempio per creare una rassegna stampa) e' che la qualita' del risultato e' sempre scarsina, qualunque sia il formato di salvataggio
Per esempio partiamo da uno screenshot di una notizia sulla recensione della mia applicazione Abetone Trail Park
se si salva il contenuto in pdf mediante Chrome il risultato e' questo
Per esempio partiamo da uno screenshot di una notizia sulla recensione della mia applicazione Abetone Trail Park
se si salva il contenuto in pdf mediante Chrome il risultato e' questo
Il tutto e' ovviamente non impaginato
Ho trovato utile usare il software Paparazzi, che riporta una impaginazione decisamente fedele del sito desiderato
venerdì 14 agosto 2015
Musescore e Songbook
Desktop
La versione desktop del programma puo' essere scaricata all'indirizzo https://musescore.org/it,e' opensource e multipiattaforma con sorgenti disponibili
Creando un nuovo spartito (File/Nuovo) viene chiesto il titolo, l'autore, lo o gli strumenti da usare, l'armatura di chiave,l'unita' di tempo (3/4, 4/4 per esempio) ed il numero di battute
Per inserire le note (modalita' di edit) si preme il tasto N oppure l'icona
Le note possono essere inserite dopo aver cliccato nella barra seguente indicando la durata direttamente posizionandole sul pentragramma
per inserire una pausa si entra in modalita' edit, si seleziona la lunghezza della nota e poi si clicca
Attenzione : il programma in corso d'opera cerchera' di far sempre tornare la lunghezza della battuta. Per esempio se si ha una battuta in 4/4 e si e' aggiunta nota (per esempio una minima 1/2) aggiustera' il resto della battuta con una pausa di minima (1/2)
Per aggiungere elementi quali Articolazioni ed Abbellimenti (come staccati, crescenti ed altro) si deve uscire dalla modalita' edit (N) e si trascina l'elemento sulla nota interessata (cosi' come per le alterazioni non in chiave)
In automatico Musescore tende a raggruppare le note (per esempio di solito raggruppa le crome a due a due) . Se non si e' soddisfatti si puo' usare in Tavolozze i comandi Proprieta' Gruppo note. Per raggruppare per esempio di clicca la seconda icona da sinistra nella file in alto e si trascina sulla seconda nota tra quelle che si devono raggruppare
E' possibile effettuare la trasposizione automatica della tonalita' utilizzando il menu' Note/Trasporto
Per esempio dalla tonalita' originale in Do maggiore
a Sol Maggiore
Una volta completato lo spartito (od anche in corso d'opera) si puo' ascoltare il brano con i tasti
(il play corrisponde al tasto spazio sulla tastiera)
Musescore viene distribuito con una libreria di suoni midi. Se si vuole un suono migliore si puo' scaricare una libreria SF2 piu' avanzata come quella per esempio FluidR3 GM2-2.SF2 (144 Mb!!) reperibile qui e qui
Per installare la nuova libreria si devono aggiornare le Preferenze
ed in seguito Visualizza/Sintetizzatore/Aggiungi
(Curiosamente sono costretto ad impostare i suoni personalizzati ogni volta che apro il programma perche' si perdono le impostazioni)
Songbook
L'applicazione Musescore per Android ed IOS e' solo un player e visualizzatore dei file .mscz. Ne esistono due versioni: Musescore e' un programma che non permette di visualizzarea gli spartiti salvati sul proprio dispositivo portatile (ha quindi la necessita' del collegamento di rete per scaricare i dati dal sito di Musescore dopo aver fatto il login) e Songbook che permette di usare i propri file mscz.
Su Songbook non esiste la possibilta' di avere un file manager. Per aggiungere i propri spartiti si deve
- su Android con un file manager si clicca sul .mscz e si indica "Apri con" Musescore Songbook
- su IOS non e' possibile importare i dati mediante ITunes. Il sistema piu' semplice e' allegare i file degli spartiti anche una mail e poi "Apri con" l'allegato verso Musescore Songbook
Un paio di problemi:
- Solo su IOS l'applicazione portatile permette solo la modalita' portrait. Se si ruota lo schermo lo spartito non viene ridimensionato (su Android e' tutto a posto)
- Esistono solo il tasto Play ed il tasto Ritorna all'inizio. Su brani lunghi questa e' una notevole limitazione ed esiste un trucco non immediato. Si deve premere sulla nota da cui si vuole partire in modo prolungato fino a che non viene emesso il suono della nota. A questo punto si puo' premere Play e l'esecuzione inizia dal punto prescelto
Iscriviti a:
Post (Atom)
Debugger integrato ESP32S3
Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede nell'ID USB della porta Jtag. Nel modulo...
-
In questo post viene indicato come creare uno scatterplot dinamico basato da dati ripresi da un file csv (nel dettaglio il file csv e' c...
-
Questo post e' a seguito di quanto gia' visto nella precedente prova Lo scopo e' sempre il solito: creare un sistema che permet...
-
La scheda ESP32-2432S028R monta un Esp Dev Module con uno schermo TFT a driver ILI9341 di 320x240 pixels 16 bit colore.Il sito di riferiment...