venerdì 7 ottobre 2016

AKAI LPK25 e ZynAddSubFx

Sulla base del precedente tentativo, ho accoppiato la AKAI LPK25 ad un altro synth software disponibile su Linux ovvero ZynAddSubFx

La procedura e' leggermente differente perche', dopo aver attivato il sintetizzatore, da consolle si digita

aconnect -o



Ci si appunta i numeri di dispositivo dei client (in questo caso la tastiera come input ed il synt come output) e si collegano di due dispositivi con
aconnect nr_client1 nr_client2
nel caso acconnect 24 128


mercoledì 5 ottobre 2016

AKAI LPK25 con Linux

Il blog rinasce in una nuova veste abbondando l'elettronica ed interessandosi di tutto un po' con piu' attenzione alla musica

In questo post viene descritto come interfacciare una LPK25, un midi controller a basso costo con una estensione di due ottave (l'altezza e' modificabile con un Octave +/-)


Il dispositivo su Ubuntu viene immediatamente riconosciuto come dispositivo MIDI over USB

Per poterci suonare, essendo una tastiera priva di suoni, si deve utilizzare un sintetizzatore software (fluidsynth con interfaccia grafica QSynth) e da un programma che connette la tastiera al sintetizzatore (in questo caso vmpk). Tutti questi programmi si possono installare mediante apt-get.

Prima di iniziare a suonare ci sono un po' di impostazioni da fare. Si parte da QSynth entrando in setup (pulsante in basso a sinistra) abilitando l'input Midi sul primo tab


Nel tab Audio si setta il driver Alsa


e poi dove e' inserito il file dei suoni nel tab Soundfonts

Si avvia QSynth e ci si sposta su Virtual MIDI Piano Keyboard e dal menu Edit/Connections e si seleziona come Input MIDI la LPK25



















mercoledì 31 agosto 2016

martedì 30 agosto 2016

Intel Galileo Gen 2

Questa Intel Galileo e' stata presa su Ebay a circa 25 euro. Di fatto e' un prodotto che non si differenzia moltissimo da Intel Edison

Attenzione: la Galileo Gen 2 si differenzia dalla  Gen 1 per l'assenza del jack da 3.5 mm della porta seriale a fianco della porta Ethernet

In questo caso si tratta di un processore Quark x86  32 bit a 400 MHz di classe Pentium contro Atom di Edison, una scheda di rete cablata al posto della WiFi di Edison, 256 Mb di memoria flash contro gli 8 Gb di Edison



Ne vale la pena???
Per quanto l'ho pagata io decisamente si' ma il prezzo del componente nuovo varia tra gli 80 e 100 euro ed a questo punto la decisione vira decisamente per Intel Edison

La scheda viene venduta con il proprio alimentatore (e questo comincia ad essere un bel risparmio) ed al contrario di Edison non ha una porta di programmazione micro USB


Per entrare in consolle si deve connettere il cavo FTDI al connettore tra l'Ethernet e microUsb client. Il pin GND e' quello nero posto all'estrema sinistra della foto mentre le posizioni Rx e Tx occupano le posizioni 2 e 3 partendo da destra (il primo pin e' CTS)

La configurazione dei pin e' quindi

GND
RTS
vuoto
RX
TX
CTS

per entrare in shell l'account di default e' root senza password

La porta microUSB client e' usata solo per la programmazione degli sketch da Arduino IDE mentre la porta USB Host puo' alloggiare tastiera, mouse ed altri dispositivi
E' presente un lettore di carte microSD (fino a 32 Gb) ed un connettore per la LiPo in posizione simile a quello di Edison
E' possibile selezionare il voltaggio della parte Arduino a 3.3V e 5V con un apposito jumper al di sotto del connettore seriale ed inoltre nella parte inferiore c'e' l'ingresso per una scheda mini Pci Express (tipicamente per montare una schedina WiFi full length)

Esiste anche la comoda possibilita' di montare un modulo per l'alimentazione via POE

Importante : la scheda Ethernet di default non e' configurata (nemmeno via DHCP), si deve quindi alla prima accesione configurare il tutto via FTDI, assicurarsi il collegamento di rete e solo successivamente passare ad SSH







giovedì 25 agosto 2016

PTZ con servo SG90

Mi sono preso una basetta PTZ motorizzato con due micro servo SG90 dal solito ecommerce cinese (su Amazon Italia costava tre volte di piu' ed era lo stesso modello)


Il kit arriva nei pezzi sotto indicati ma senza istruzioni. Ma il problema non e' questo ... gli accessori dei servo non si adattano alla basetta nera.


Il primo passo e' quello di prendere la basetta superiore ed incatrare un GY90 nei due fermi. Si deve fare attenzione ad avvitare il servo il proprio rotore (in bianco) dalla parte opposta del fulcro nero


e qui inizia il primo problema....il braccetto bianco in dotazione non entra nell'apposita scanalatura.



Si deve quindi dotarsi di forbici ed adattare la lunghezza. Si avvita quindi il braccetto



si ribalta quindi il PTZ e si incastra il secondo servo nelle scanalature


e si inseriscono le viti per bloccare la base


e qui un altro problema, di nuovo il braccetto bianco non si adatta alla sede. A destra si vede il pezzo originale ed a sinistra il pezzo tagliato e gia' montato nella base


e si conclude serrando l'ultima vite al di sotto della base


Arduino 101 Cannot Open DFU device 8087:0aba

Primo problema con Arduino 101...come caricare uno sketch??
Su Centos 7 ed IDE 1.6.8 al momento di caricare il programma veniva generato l'errore 
Cannot Open DFU device 8087:0aba



Frugando sul forum di Arduino e' saltato fuori questo post
In pratica si deve lanciare lo script create_dfu_udev_rule per modificare udev

nel mio caso il path del comando e' differente
/home/linnocenti/.arduino15/packages/Intel/tools/arduino101load/1.6.9+1.24/scripts/create_dfu_udev_rule

Phase Laser Ranging Module CY30-MB

Prima cosa: se viene acquistato da Aliexpress arriva senza nessun tipo di documentazione sia sulla parte hardware che sulla parte software... considerando il costo non e' proprio una bella notizia. Peraltro e' presente un flat cable a 8 poli da 0.5 mm con un clamshell sul dispositivo ma non sulla basetta verde su cui inserire i connettori


Comunque contattando separatamente il venditore si scopra che oltre alla pedinatura sul flat cable esistono 4 piazzole su cui saldare direttamente i contatti (Vcc, GND, TX ed RX). Attenzione: 3.3V massimo




Per veder meglio le connessioni

Ho fatto notare al customer care che non esiste un pin quadrato dove connettere il GND. La risposta e' la seguente



Il modulo che ho preso ha una portata di 40 m ed i dati di errori dichiarati indicano una standard deviation di 2 mm a 10 m e 3.5 mm a 40 m (secondo la regola ± 2 + 0.05 * (D-10) dove D e' la distanza. La dimesione del punto di misura e' di 6 mm di diametro a 10 m

La connessione quindi e' una standard seriale a 115200 8N1.

Per effettuare le misure si inviano dei codici al sensore

Instruction List
instruction content
Content
Answer
Memo
Start single measurement
$00022123&
ok(Confirm)
Measurement data after confirm
Lights
$0003260130&
Confirm + repeat command

Open the continuous measurement
$00022426&
ok(Confirm)

Stop continuous measurement
$0003260029&
Confirm + repeat command

Instruction confirmation
$00023335&
This is the confirmation instruction from the submachine

Last 7 bits
0001643
No signal

Last 7 bits
0001542
The distance is too close

Closed continuous measurement
$00022123&
Confirm + repeat command

Turn off the laser
$00022123&
ok(Confirm)
The module does not have a sleep mode,if need to close the laser, use a single instruction
nella documentazione viene usato in termine improprio la parola bits. Sarebbe meglio sostituire con "posizione"

Misura singola
In modalita' singola misura il sensore rimanda indietro il codice $00023335& seguito da altre informazioni


$00023335&$0006210000008916& 0.08916 M

in questo caso 008916 indicano 0 decametri, 0 metri, 8 decimetri, 9 centimetri, 1 milllimetro

i dati in blu indicano il codice di risposta di conferma di esecuzione
i dati in verde indicano la distanza con le prime due posizioni che indicano la parte intera e le ultime 5 indicano la parte decimale (misure in metri)

altrimenti vengono generati questi codici di errore


Error code
Reason
Error Response Time
$00023335&$0006210000001542&
Distance too short
About 5 seconds from sending instructions to returning an error code
$00023335&$0006210000001643&
No echo
About 5 seconds from sending instructions to returning an error code
$00023335&$0006210000001744&
reflection is too strong
About 5 seconds from sending instructions to returning an error code
$00023335&$0006210000001845&
ambient light is too strong
About 5 seconds from sending instructions to returning an error code

Modo continuo
In questa modalita' ogni 5 misure il laser viene spento e riacceso. Vengono effettuate sessioni da 500 misure
Per attivare il modo continuo si invia $00022426& e riceve risposte che iniziano con $001624.
Nella risposta si ha il numero progressivo di misura, il valore massimo e minimo ed istantaneo della distanza del bersaglio. I separatori 000 indicano misura corretta, altrimenti errore


i codici di errore per il modo continuo sono

Error code
Reason
Error Response Time
Illustrate
$001624999900000015000
000000000000053&
Distance too short
About 5 seconds from sending instructions to returning an error code
If an error occurs in the continuous measurement, the measurement will be stopped, the number counter (data 7th to 10th Bit) automatically set to 9999, start a new easurement will start at 1
$001624999900000016000
000000000000054&
No echo
About 5 seconds from sending instructions to returning an error code

$001624000100118297001
182970011829711&
Ranging error
About 5 seconds from sending instructions to returning an error code
Distance data invalid


Per l'uso in esterno si devono usare riflettori

FigSpec FS-60CL

A lavoro mi hanno rifilato questo sensore iperspettrale cinese (pushbroom 400-1000 nm con larghezza di banda di 0.5 nm compatibile con DJI M...