Applicazioni varie


Theremino Translator

Theremino Translator

Questa applicazione è unica nel suo genere, attualmente (2024) non si trova niente di simile online o utilizzare in locale, nemmeno pagandola. Abbiamo cercato a lungo ma ci sono solo applicazioni per tradurre documenti e sono tutte inadatte per chi lavora con il software.

Programmer Stress

Tradurre il software è una operazione terribilmente noiosa e stressante.

Basta perdere la concentrazione un attimo e può capitare di modificare qualcosa di importante e causare errori strani e difficili da trovare.

Per cui alla fine ci siamo decisi a scrivere questa applicazione e non è stato facile perché si devono fare delicate operazioni chirurgiche sui file senza sbagliare un solo carattere.

Però non aspettatevi che questa applicazione faccia tutto da sola,
leggete la documentazione per imparare a usarla bene.


Theremino System - File di documentazione in italiano
Theremino_Translator_Help_ITA.pdf

Theremino System -   English documentation file
Theremino_Translator_Help_ENG.pdf

 中文文档文件
Theremino_Translator_Help_CHN.pdf

Theremino System -Theremino System -  Documenti originali in formato ODT
Theremino_Translator_OpenOfficeDocs.zip


Note per le versioni
Versione 1.0: Questa versione, anche se è la prima pubblicata, è già ben collaudata e non dovrebbe contenere errori.

Downloads di Theremino Translator – Versione 1.0
Theremino_Translator_V1.0

Theremino_Translator_V1.0_WithSources (progetto completo per programmatori)
Versione per tutti i Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.


Theremino OCR

Theremino OCR

Questa applicazione è utilissima per estrarre il testo dalle immagini e dopo averlo estratto lo si può anche tradurre immediatamente, senza bisogno di copiare il testo su Google Translator e poi ricopiarlo dove serve.

Una manna da cielo in questi tempi di globalizzazione per chi ha spesso a che fare con software e oggetti cinesi, e forse ancora di più per i cinesi che devono convivere con un mondo di software tutto in inglese.


Note per le versioni
Versione 1.0: Questa versione, anche se è la prima pubblicata, è già ben collaudata e non dovrebbe contenere errori.

Downloads di Theremino OCR – Versione 1.0
Theremino_OCR_V1.0

Theremino_OCR_V1.0_WithSources (progetto completo per programmatori)
Versione per tutti i Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.


Theremino Updater

Theremino Updater

Questa applicazione è utilissima per aggiornare il file EXE delle nostre applicazioni in tutti i vostri progetti.

Questa applicazione può aggiornare ogni tipo di file ma noi consigliamo di mantenere nei vostri progetti i vostri file INI, e di sostituire solo il file EXE (tranne in casi speciali dove si devono sostituire anche le DLL o altri file).

Nel nostro sistema solitamente teniamo per ogni progetto una cartella che contiene tutte le applicazioni di quel progetto. Per cui se pubblichiamo una nuova versione dell’HAL, o dello SlotViewer, o di Automation, vi potrebbe capitare di doverla aggiornare in decine di progetti diversi. In questi casi utilizzando questa applicazione risparmierete un bel po’ di tempo.

Funzionamento

  • Nella prima casella trascinate il file EXE della nuova versione.
  • Nella seconda casella trascinate la cartella padre sotto la quale ci sono le cartelle con tutti i vostri progetti thereminici.
  • Mantenete attivo il quadretto “Different files only”
  • Premete il pulsante “Find files”
  • Nella finestra di testo grande appariranno tutti i file da aggiornare.
  • Premendo il grosso pulsante “Replace all the listed files…” li aggiornerete tutti in un secondo.

Note per le versioni
Versione 1.0: Questa versione, anche se è la prima pubblicata, è già ben collaudata e non dovrebbe contenere errori.

Downloads di Theremino Updater – Versione 1.0
Theremino_Updater_V1.0

Theremino_Updater_V1.0_WithSources (progetto completo per programmatori)
Versione per tutti i Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.


Theremino 3D

   

Cos’è questo? Il Theremino System già lo si capiva poco, con il Theremino3D siamo proprio a posto. Non è un editor di oggetti 3D, non serve per fare giochi, la playstation va meglio… ma allora non serve a niente, SPQT!

Calma, Theremino3D è una applicazione didattica, una base da cui partire per trafficare con il 3D, la gravità e la fisica dei solidi. Il sistema Theremino non vuole fare produzione o vendere, ma si accontenta di mostrare “come si fa”.

E, per piacere, non cominciate a dire che ci sono giochi che hanno una grafica migliore, lo sappiamo, ma c’è una differenza, non li potete aprire e modificare. Invece il Theremino3D è Open Source e DIY, il suo codice è libero e potete farne quel che vi pare.

Theremino3D è una collezione di tecniche 3D, semplificate al punto da essere “quasi” usabili. I migliori algoritmi messi a disposizione del “Fai Da Te”. L’applicazione è organizzata in cento “scene” e ci sono molte scene lasciate appositamente vuote per esperimenti. Usare oggetti 3D non è per niente facile, ma il Theremino3D potrebbe essere, per alcuni, la strada più semplice per iniziare.

I parametri fisici degli oggetti, la gravità, le interazioni tra corpi solidi (Rigid Bodies) e tessuti (Soft Bodies) sono simulati molto bene da Bullet (motore OpenSource che gestisce le collisioni). Le ombre (molto realistiche) sono calcolate con algoritmi inediti, studiati da noi. Il 3D è eseguito con DirectX. L’efficienza è “mostruosa”, con centinaia di oggetti in collisione e suoni 3D collegati agli oggetti, il consumo di CPU è praticamente zero (su macchine che hanno una buona scheda video)

Naturalmente anche il Theremino3D può comunicare con le altre applicazioni del sistema, attraverso gli SLOT. Diventa quindi possibile ogni “stramba” interazione, come muovere gli oggetti 3D con comandi MIDI, o con le banane, come in questo video: www.youtube.com/watch?v=5aYvvhURFaU

Questa è la finestra dei controlli, per aprirla premere F1. Tutti gli altri comandi sono ben spiegati nel riquadro “Commands” di questa finestra.

Mini HELP
Ricordate di premere F per vedere meglio, di provare le frecce della tastiera e i pulsanti del mouse, anche in congiunzione con CTRL e SHIFT. La rotella del mouse avvicina e allontana. Il pulsante sinistro del mouse “prende” gli oggetti per spostarli e, con CTRL e SHIFT, li sposta avanti e indietro. La barra spazio serve per cambiare modo di movimento. I tasti da 0 a 9 e da CTRL-0 a CTRL-9, per cambiare le scene. Per fare amicizia con il Theremino3D, puntate il cursore su qualcosa e premete il tasto destro del mouse.

– – – – – –

Librerie necessarie
Nel caso che l’applicazione non funzionasse, installare DirectX, come indicato nelle note di installazione. Dalla versione 1.4 in poi la installazione di DirectX non dovrebbe più essere necessaria, su nessun sistema operativo. 

Downloads di Theremino 3D – Versione 1.7
Theremino_3D_V1.7

Theremino_3D_V1.7_WithSources (versione per i programmatori)
Versione per tutti i Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.


Antenna Optimizer

Questa applicazione è un simulatore numerico di campi elettromagnetici. La si utilizza principalmente per ottimizzare antenne. In via provvisoria pubblichiamo la applicazione “AntSym”, antenata di “Theremino_AntennaOptimizer”, che pubblicheremo entro la primavera del 2017.

Sia AntennaOptimizer che AntSym sono compatibili con il formato di file “.NEC” utilizzato da 4NEC2 (applicazione molto conosciuta scritta dal nostro amico svedese Arie Voors). Per cui in internet si trovano numerosi esempi ed è possibili scambiarsi i file. Se si preferisce è anche possibile modificare i file con editor appositi per i file delle antenne. Nella cartella NecFiles sono già disponibili oltre 1200 esempi di antenne (alcuni ben realizzati, altri assurdi o incompleti, ma tutti utili e interessanti).

Antenna simulator - old 2002 version

AntSym - old 2002 version  AntSym - old 2002 version


Semplici istruzioni

Non tutti i file sono utilizzabili per effettuare ottimizzazioni. Per il processo di ottimizzazione i file devono essere strutturati in modo adeguato, con linee SY che definiscono i parametri modificabili.

Per editare i file si preme “Edit input file” e si modifica il testo con l’editor predefinito nel sistema (solitamente Notepad o Notepad++) . Per capire come si editano i file si esplorano i file di esempio.

I file vengono poi trasformati nel formato di input di NEC. Si può vedere come vengono trasformati premendo il pulsante “View In”. Il protocollo accettato da NEC è nel file “NEC User’s Guide“.

Infine il motore NEC produce un file di uscita e si può esplorarlo premendo il pulsante “View out”

Il processo di ottimizzazione dipende dai parametri:

  • Weight (merit) – Questo è il punteggio che viene dato alla antenna e che gli algoritmi di ottimizzazione cercano di migliorare. Il punteggio viene calcolato in base ai “weight”, che sono i “pesi”, cioè l’importanza relativa che si da alle caratteristiche della antenna. I “weight” sono spiegati uno per uno nel prossimo paragrafo.
  • Range – Regola la quantità di variazione che viene effettuata ad ogni tentativo di ottimizzazione.
  • Precision – Il numero di cifre significative da utilizzare nei parametri della antenna,

Il processo di ottimizzazione dipende dai pesi (weight) che si impostano premendo il tasto “Weight” e regolando i cursori per favorire alcune caratteristiche piuttosto che altre:

  • SWR – Questo è il rapporto di onde stazionarie, il valore ottimale sarebbe “1”, ma normalmente si considerano accettabili anche valori fino a 1.5 e, in alcuni casi, se si dispone di un accordatore di antenna, anche valori molto maggiori.
  • Gain – Il guadagno della antenna. Di solito è bene che sia più alto possibile.
  • F/B – Rapporto tra il guadagno in avanti e laterale. Di solito è bene che sia più alto possibile.
  • F/R – Rapporto tra il guadagno in avanti e indietro. Di solito è bene che sia più alto possibile.
  • Beam – Ampiezza del fascio per un guadagno di – 3dB rispetto al massimo.
  • Xsize – Lunghezza della antenna in millimetri. Di solito è preferibile avere antenne piccole.
  • Ysize – Larghezza della antenna in millimetri. Di solito è preferibile avere antenne piccole.
  • Zsize – Altezza della antenna in millimetri. Di solito è preferibile avere antenne piccole.

Sono disponibili tre diversi algoritmi di ottimizzazione:

  • Climb – Ogni elemento selezionato viene modificato leggermente e il processo viene ripetuto più volte fino a che il massimo locale è stato trovato. Si può immaginare il massimo locale come la punta di una collina in un territorio complesso composto da molte valli e colline. Il metodo Climb individua solo la punta della collina più vicina ma non è in grado di superare le valli e individuare colline lontane che potrebbero essere più alte.
  • Mutate – Ogni elemento selezionato viene modificato con mutazioni casuali. Questo metodo può in alcuni casi spaziare su un territorio più vasto del semplice Climb.
  • Genetic – Oltre alle mutazioni casuali si utilizza una popolazione di molti individui e ad ogni generazione solo i migliori si riproducono (utilizzando una metà casuale dei parametri di coppie di essi). Questo metodo è simile a quello della selezione naturale e in alcuni casi è notevolmente più veloce dei due metodi precedenti.

l tasto “Reset” azzera le linee rosse e verdi che mostrano i peggioramenti e miglioramenti durante l’ottimizzazione.

Il tasto “Weight” mostra i cursori con cui si regolano i pesi e quindi si indica all’ottimizzatore quali caratteristiche deve favorire.

I tasti con i numeri (100 10 1 0.1 – 0.1 1 10 100) modificano il parametro selezionato. Con questi tasti si possono variare le caratteristiche della antenna per guidare la ottimizzazione o effettuare manualmente parte della ottimizzazione.


Applicazioni simili

Esistono applicazioni simili, ad esempio l’ottima 4NEC2 scritta dal nostro amico svedese Arie Voors. Circa nel 2000 iniziammo insieme a scrivere queste applicazioni e ci siamo scambiati molto codice, noi gli abbiamo insegnato come usare il 3D e lui ci ha insegnato molti aspetti di NEC. Poi abbiamo preso due direzioni diverse. Ariel ha scritto una applicazione molto completa, che indaga ogni aspetto delle antenne tra cui, ad esempio, anche il “Near field”. Noi invece ci siamo dedicati alla ottimizzazione della velocità e al confronto tra il motore di calcolo NEC2 e varie versioni semplificate in C++ e VB con nome “Mininec”.

Poter confrontare motori di calcolo diversi può aumentare la affidabilità. Se due motori diversi danno risultati simili allora la antenna non è critica e la simulazione è bene impostata. Tutte le versioni di Mininec sono funzionalmente identiche, ma alcune sono notevolmente più veloci di NEC2, che è fondamentalmente la versione originale scritta in Fortran su schede perforate.

Esistono anche altre applicazioni più complesse, commerciali e a codice chiuso, ma soprattutto pesanti da installare e difficili da utilizzare. Sono applicazioni che richiedono un lungo tempo di apprendimento iniziale, quindi consigliamo di usarle solo se si è specialisti del settore.


Il NEC2 originale scritto in Fortran

Punched Card

Le generose pubblicazioni Open Source di Jerry Burke and A. Poggio, che hanno scritto le versioni originali di NEC (Numerical Electromagnetic Code) presso il “Lawrence Livermore Labs”, nel 1981, hanno dato il via a tutto questo. A loro va un doveroso ringraziamento e anche ammirazione. Gli algoritmi che hanno scritto con i mezzi limitati di allora (e non era per niente facile) sono ancora validi dopo quasi quarant’anni.


Documentazione


Downloads

Presto (primavera 2017) pubblicheremo la applicazione Theremino_AntennaOptimizer, completa di istruzioni e in pieno stile thereminico. Per ora (solo per gli impazienti e i programmatori esperti), pubblichiamo la versione originale di AntSym con qualche piccolo ritocco. Questa versione è sostanzialmente uguale a come era nel 2002, compreso l’errore nel titolo (Symulator al posto di Simulator), niente istruzioni e uno stile di programmazione selvatico e ingenuo.

Note per le versioni
Versione 2.0: Corretti alcuni errori ma la interfaccia utente è sempre quella del 2002.
Versione 2.1: Corretto un errore che causava la perdita di alcune zone del 3D utilizzando il motore NEC2 su antenne molto complesse – La interfaccia utente è sempre quella del 2002.

Downloads di AntSym – Versione 2.1 – Antica versione scritta nel 2002 in VB6
AntSym_VB6_V2.1 (solo per impazienti, non ci sono istruzioni e l’interfaccia utente è selvatica)
Per far funzionare questa versione si devono registrare le DLL premendo il tasto destro del mouse sul file “CopyAndRegisterDLL(run as admin).exe” che si trova nella cartella “RegisterDLL” e poi scegliendo “Esegui come amministratore”.


Led Calculator

Questa applicazione è un Jolly per le misure sui led, facilita le conversioni tra le unità di misura e aiuta a progettare sistemi illuminanti e array di led dotati della massima efficienza. Il file di help “Measuring devices” descrive un semplice strumento di misura realizzabile in pochi minuti, con tre componenti che costano in totale meno di 9 euro. 

Note per le versioni
Versione 2.2: Corretti gli errori nella lettura dei file per cui alcuni valori venivano modificati o perdevano i decimali. Anche i nomi dei file non venivano ripristinati e salvati correttamente. Ora le istruzioni sono anche in inglese.
Versione 2.3: Migliorati i colori e il gradiente dei menu per Windows7 e Windows10.

Downloads di LedCalc – Versione 2.3
LedCalc_V2.3

LedCalc_V2.3_WithSources (progetto completo per programmatori)
Versione per tutti i Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.

Documentazione originale per i revisori delle traduzioni
LedCalc_OpenOffice_Docs


Flicker Meter

Theremino Flicker Meter

Il “Flicker”, chiamato anche “Sfarfallio”, è la instabilità della luce prodotta dalle lampade elettriche.

Numerosi studi hanno evidenziato che lo sfarfallio, anche se ad alta frequenza e quindi del tutto invisibile, può ugualmente causare emicranie, affaticamento della vista e nausea.

Inoltre gli animali domestici sono molto più sensibili di noi agli effetti dello sfarfallio. Molti di essi, ad esempio gli uccelli, vedono variazioni di luce fino a frequenze intorno ai 200 Hz, quindi dieci volte maggiori di quello che vediamo noi. Per loro un film appare come una sequenza di fotografie e una lampada che ai nostri occhi sembra perfettamente stabile, potrebbe apparire come una forte lampada stroboscopica e provocare un grave disagio.

Per misurare lo sfarfallio esistono apparecchi commerciali molto costosi (da 700 a 3000 Euro). Ma possiamo facilmente costruire questo misuratore, spendendo una decina di Euro o anche meno, sfruttando un modulo Master e un Tablet che già abbiamo.

Theremino FlickerMeter schematics

Il misuratore contiene solo tre componenti per cui è possibile costruirlo “Fai da te”. Il terzo componente che qui non si vede è il modulo Master. I tre fili GND, Pin1 e 3.3V vanno al connettore ICSP del Master come spiegato nella documentazione seguente.

Una volta costruito questo apparecchio basterà munirsi di un tablet e si potrà fare un giro panoramico della propria abitazione e di quelle degli amici. E sarà una sorpresa scoprire che una buona metà delle lampade, anche le più insospettabili, hanno uno sfarfallio medio alto e sono da eliminare.

Un avvertimento importante per chi costruirà questo apparecchio
Durante la misura sia la lampada che il misuratore devono stare ben fermi. Bastano minime vibrazioni o dondolii per falsare i valori misurati. Questo effetto si aggrava quando si misurano valori molto bassi, intorno all’uno per cento o meno. In questi casi basta anche solo camminare nella stanza per alterare il valore misurato.

Documentazione in italiano
Theremino_FlickerMeter_Application_ITA.pdf
Theremino_FlickerMeter_Hardware_ITA.pdf
Theremino_FlickerMeter_TestLamps_ITA.pdf  

Documentazione in inglese
Theremino_FlickerMeter_Application_ENG.pdf  
Theremino_FlickerMeter_Hardware_ENG.pdf  
Theremino_FlickerMeter_TestLamps_ENG.pdf 

Documentazione originale per i revisori delle traduzioni
FlickerMeter_ODT-Docs.zip

Note per le versioni
Versione 1.1: Questa versione, anche se è la prima pubblicata, è già ben collaudata e non dovrebbe contenere errori.
Versione 1.2: Corretto l’allineamento del testo nella casella “Percent Flicker”

Downloads di FlickerMeter – Versione 1.2
FlickerMeter_V1.2

FlickerMeter_V1.2_WithSources (progetto completo per programmatori)
Versione per tutti i Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.


DAA – Analizzatore audio e oscilloscopio

Theremino DAA V4.0

Questa applicazione è stata scritta oltre 22 anni fa, ai tempi di Windows95 e Windows98. Non è solo un oscilloscopio, comprende anche un generatore di segnali, un analizzatore di spettro e sofisticate funzioni per misurare i sistemi acustici. Nella gamma audio è migliore di qualunque oscilloscopio perché campiona a 16 bit mentre gli oscilloscopi classici (ad esempio Tektronix e Lecroy) hanno gli Adc da 8, 10 o al massimo 12 bit. In compenso gli oscilloscopi classici misurano anche le alte frequenze mentre con il DAA si arriva a poche decine di KHz (a seconda della scheda audio e dei suoi driver).

Abbiamo usato a lungo questa applicazione per equalizzare i grandi impianti audio di discoteche e concerti e quando lavoravo come fonico in sala di incisione.  Le ultime versioni (dalla 4 in poi), sono notevolmente migliorate. Ora la applicazione funziona anche esattamente come un oscilloscopio classico a due canali.

Si possono misurare le tensioni e le correnti, sia continue che alternate, come con un tester. Si misura il valore medio, il vero valore efficace e il valore di picco con precisione fino ad un millivolt. Si misura la frequenza fino ai centesimi di Hz, il periodo fino alle decine di microsecondi, e le ampiezze fino ai decimi di decibel. 

 
Generatore di segnali, cursori di misura e analisi di spettro con oltre 110 dB di dinamica.

 
Analisi di sistemi con segnali Pulse, Sweep e FastSweep e analisi di spettro in 3D.

– – – – – –

Schede audio

Le schede audio dei PC hanno una banda passante da 10 Hz in su. Per far passare anche la componente continua dei segnali si deve usare una scheda esterna collegata in USB, con una piccola modifica al circuito di ingresso. Il file “InputDevices.pdf“, che si scarica qui sotto, spiega quali schede acquistare e come modificarle.

Utilizzando le schede audio che consigliamo (e che costano meno di 10 euro su eBay) si ottengono due canali accoppiati in continua. Queste schede audio sono precise e stabili per cui, una volta eseguita la calibrazione, la linea dello zero resta al suo posto per sempre. Non c’è bisogno di ricalibrare ad ogni accensione, come invece ci hanno abituato a fare molti oscilloscopi, anche tra i più costosi.

– – – – – –

Download

Note per le versioni
Versione 2.1:
 Piccoli miglioramenti tra cui un migliore controllo di Delay e DeltaTime e l’allineamento della direzione degli impulsi a quelli mostrati da altri software quali GoldWave e FitzPeaks.
Versione 2.2: Ulteriori miglioramenti nei controlli Delay e DeltaTime.
Versione 2.3: Ulteriori miglioramenti e campionamento alzato a 192 KHz
Versione 2.4: Corretto l’errore di fuori scala con segnali superiori a 2 Volt pep. Corretto il FastSweep che ora funziona bene anche con il campionamento a 192 kHz. Aggiunte le librerie MFC che saranno utili ai coraggiosi per ricompilare.
Versione 2.5: Migliorata la risoluzione delle righe dello spettro anche con il campionamento a 192 kHz.
Versione 3.0: Notevoli miglioramenti sia nel funzionamento che nella documentazione. Finestre di campionamento. Possibilità di scegliere i dispositivi di ingresso e uscita. Aumentata la stabilità generale. Corretti alcuni difetti sulla calibrazione. Possibilità di ricordare tutte le regolazioni tra un avvio e il successivo. Aumentata la Frequenza massima a 100 KHz. Ora il DAA è veramente una applicazione completa.
Versione 3.1: Ora funziona anche la misura della frequenza del CH2, prima leggeva sempre il CH1. Aggiunto il file di documentazione in tedesco: “DaaHelp_DEU.pdf”.
Versione 4.0
– Grandiosi miglioramenti, troppi per scriverli qui, leggete la documentazione.
– Ora la comodità di uso è eccezionale, abbiamo mandato in pensione l’oscilloscopio grande. Tranne per i rari casi di dover misurare alte frequenze, usiamo sempre questo.
– Con la calibrazione si ottiene una taratura precisa delle tensioni che permette di fare misure come con un tester.
– Misure di valore efficace, medio, picco-picco, decibel, periodo e fraquenza.
– I valori misurati possono essere inviati agli Slot e sono quindi disponibili anche per le altre applicazioni del sistema theremino.
– Filtri digitali per ripulire le forme d’onda e facilitare il trigger.
– Accoppiamento AC e DC
– Possibilità di fare precise misure in continua, con una scheda audio USB che costa meno di dieci euro.
– Servono solo quattro comuni resistori, non di precisione, e con una semplicissima modifica, che si fa in due minuti, si ottengono due canali in ingresso e due di uscita, tutti accoppiati in continua.
– Si ottiene una impedenza di ingresso da 1 mega ohm (come gli oscilloscopi)
e si misurano tensioni fino a +/- 70 V
– Con l’aggiunta di una sonda 10:1 (nove resistori da 1 mega in serie), si possono misurare tensioni fino a +/- 700 V
– Con l’aggiunta di una sonda per alta tensione si misurano tensioni fino a molte migliaia di volt.
– Display più grande e ridimensionabile.
– La finestra della applicazione è ingrandibile fino a tutto schermo e ricorda dimensioni e posizione.
– Tutti i comandi sono regolabili anche con il mouse e con la tastiera.
– E molte altre novità…. Leggete la documentazione.
Versione 4.1
– Aggiunto il trigger di tipo STOP, che ferma il campionamento quando si supera un determinato valore di tensione.
– Migliorati e semplificati i comandi per regolare il “Delay”
– Comoda visualizzazione delle tensioni minime e massime misurabili con la calibrazione attuale (basta portare il cursore sui tasti INPUT OFF e ON e leggere la riga inferiore della applicazione).
Versione 4.2
– Eliminato errore con XY e base tempi <= 1mS
– Corretti e aggiornati i file di documentazione.

Download del Theremino DAA – Versione 4.2
DAA_V4.2

DAA_V4.2_WithSources (progetto completo per programmatori, molto difficile da modificare perché scritto in MFC, non visuale. Negli ultimi anni lo abbiamo ripulito un po’. Ma lo stile di programmazione di base risale a oltre ventidue anni fa)
Per tutti i sistemi Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.

Librerie MFC (necessarie per ricompilare il DAA)
Microsoft_MFC_LIBS (per poter ricompilare con Visual Studio)

– – – – – –

Documentazione

Attualmente la documentazione è solo in italiano.
I file in inglese e cinese sono bozze tradotte automaticamente,
abbiate pazienza, per correggerli ci vuole molto tempo.

Files di documentazione per la applicazione DAA
DAA_V4_Help_ITA.pdf
DAA_V4_Help_ENG.pdf  (automatic translation)
DAA_V4_Help_CN.pdf  (automatic translation)

Files di documentazione per le schede audio e i circuiti di ingresso
DAA_V4_InputDevices_ITA.pdf
DAA_V4_InputDevices_ENG.pdf  (automatic translation)
DAA_V4_InputDevices_CN.pdf  (automatic translation)

Files di documentazione in formato ODT per i traduttori
DAA_V4_Help_ITA.odt
DAA_V4_Help_ENG.odt  (automatic translation)
DAA_V4_Help_CN.odt  (automatic translation)
DAA_V4_InputDevices_ITA.odt
DAA_V4_InputDevices_ENG.odt  (automatic translation)
DAA_V4_InputDevices_CN.odt  (automatic translation)

Files di documentazione per le versioni precedenti
DaaHelp_ITA.pdf
DaaHelp_ENG.pdf
DaaHelp_DEU.pdf


Theremino Tester

Theremino Tester
Questa applicazione combina le caratteristiche di un tester tradizionale con quelle di un Transistor-Tester, offrendo un’ampia gamma di funzionalità per chi progetta e ripara apparecchi elettronici.

Grazie alla possibilità di controllarla dall’esterno e di comunicare le misure attraverso gli Slot, è possibile automatizzare le misurazioni. Ciò consente di coordinare le misure con le altre applicazioni del nostro sistema: oscilloscopi, generatori di segnali, logger, ecc.

Inoltre scrivendo qualche riga di codice nella nostra app Theremino_Automation, si possono ottenere configurazioni inusuali, impensabili con altri sistemi di misura, come ad esempio utilizzare i comandi vocali per avviare la misurazione e ascoltare i risultati con il sintetizzatore vocale, lasciando le mani libere per tenere fermi i puntali, oppure spostare i puntali con motori per automatizzare le misure sui circuiti stampati.


Caratteristiche del Theremino_Tester

  • Misurazione veloce della resistenza e segnalazione acustica della continuità.
  • Regolazione della frequenza e del volume della segnalazione acustica.
  • Misurazione della resistenza a partire dalle frazioni di ohm (meglio di un normale tester)
  • Misurazione delle capacità da una decina di pF fino a migliaia di uF
  • Misurazione delle impedenze da pochi micro Henry fino a molti Henry
  • Misurazione delle caratteristiche aggiuntive dei componenti passivi (ESR, Fattore di perdita, ecc…)
  • Individuazione del tipo di componenti attivi (NPN, PNP, MOS, FET, SCR, TRIAC, DIODI ecc.)
  • Individuazione dell’ordine dei collegamenti (CBE, BCE, CEB, GDS, DSG, Anodo, Catodo ecc…)
  • Misurazione delle caratteristiche dei componenti attivi (Beta, Vbe, Vgs ecc…)

Theremino Tester     Theremino Tester

Theremino Tester   Theremino Tester  Theremino Tester


Istruzioni per iniziare

Questo programma funziona solo se avete programmato il modulo Arduino Nano, come spiegato nelle prossime pagine. Una volta programmato seguite le istruzioni seguenti:

  • Assicuratevi che il modulo sia collegato alla USB
  • Lanciate questa applicazione “Theremino_Tester.exe”
  • Scegliete la porta nella prima casella in alto “Port” (Nota 1)
  • Scegliete la velocità 500 000 nella seconda casella “Speed” (Nota 2)
  • Le caselle Output e Commands serviranno solo in seguito, per ora lasciatele a “-1”.
  • Le caselle del suono per ora lasciatele a “1000”, “-12” e “2”.
  • Se tutto è a posto il tasto della connessione diventa arancione premendolo.
  • Ora potrete usare i pulsanti con l’altoparlante e con il resistore per fare le misure.

Nota 1
Se non sapete quale è la porta staccate il cavo USB, aprite la casella “Port” e segnativi i nomi delle porte. Poi ricollegate il cavo USB, chiudete e aprite nuovamente la casella “Port”. Quindi scegliete la porta che è apparsa e che prima non c’era. Se cambiate presa USB allora la porta cambia di nome e dovrete modificare questa casella.

Nota 2
Noi consigliamo di usare la velocità di 500 000 bit per secondo, ma volendo si potrebbe modificarla nelle opzioni che stanno nelle prime pagine del firmware e poi anche nella casella “Speed” di questa applicazione. Se fate modifiche utilizzate solo 250 000, 500 000 o 1 000 000, le velocità più basse rallenterebbero la comunicazione e alcune di esse sono imprecise fino al 3.7% (che è molto) e provocano errori di comunicazione.

Una delle peggiori velocità di comunicazione è 115 200, che sadicamente è proprio quella scelta dai progettisti di Arduino per il nuovo bootloader. Infatti quando si carica il firmware con Arduino IDE su una scheda con ATmega 328P che ha il nuovo bootloader, può succedere che si verifichino errori saltuari. A volte si carica il firmware senza errori, altre volte arriva un errore “avrdude error… ecc..”.

In questa pagina potete trovare spiegazioni dettagliate su questo difetto. Traduco dall’inglese: Con il clock di 16 MHz (predefinito sulla maggior parte degli Arduino) la velocità di 115 200 dà un errore del 3,7%, che di solito è troppo perché l’altra parte possa lavorare senza correzione degli errori.” 

E in questa pagina potete trovare un ottimo Baud Rate Calculator per esplorare le varie velocità di comunicazione e le percentuali di errore di ognuna.


La misura veloce delle resistenze con beep

I progetti di Transistor Tester che si trovano in rete impiegano alcuni secondi per ogni misura, per cui non sono adatti per i test di continuità.

Ecco un esempio di come si può usare la nostra versione per controllare le piste di un circuito stampato. In questo caso abbiamo usato una lente ma si potrebbe usare anche una telecamera come microscopio.

Theremino Tester    Theremino Tester

Theremino TesterIn questo esempio i puntali di misura, che si collegano ai fili 1 e 2 del nostro Tester, sono stati ricavati da Clips per i fogli di carta. Le clips colorate conducono solo sulla punta. Le abbiamo appuntite con una lima e poi con carta vetrata fine.

Punte sottili ed elastiche, affilate come uno spillo, permettono di fare un buon contatto anche nei punti più difficili, cosa che con i normali puntali dei tester sarebbe impossibile.


Costruzione

Theremino Tester Schematics

Per costruire questo tester bastano

  • Un Arduino Nano
  • Tre resistori da 680 ohm
  • Tre resistori da 470 k

Si consiglia di selezionare i resistori con un buon tester, scegliendoli tra molti, e devono essere con valori compresi tra 678 a 682 ohm e tra 468 a 472 kohm. E meglio se sono da 680 e 470 k esatti.

Eventualmente si possono aggiungere

  • Un pulsante.
  • Un piccolo altoparlante, preso ad esempio dalle vecchie cuffiette dei walkman, oppure un piccolo buzzer piezoelettrico.

Nelle prossime immagini si vedono i Pin del Nano a cui collegheremo i componenti e una possibile collocazione in una scatoletta di plastica.

In questa versione abbiamo aggiunto anche un connettore che dare la tensione di 5 volt ai LED che illuminano il campo di lavoro. Così con il solo collegamento USB abbiamo tutto quello che serve per testare la continuità delle piste anche nei punti più piccoli e difficili da raggiungere.

Arduino Nano CH340  Theremino Tester

  • Si consiglia di piazzare il Nano su un Millefori con due strisce di Pin femmina.
  • I sei resistori stanno sotto al Nano, collegandoli da D2, D3, D4, D5, D6 e D7 e verso A0, A1 e A2.
  • E infine collegheremo tre fili colorati, terminanti con piccoli coccodrilli, ad A0, A1 e A2.

I fili devono essere flessibili, sottili e lunghi una dozzina di centimetri. I loro colori servono per identificare i terminali A0, A1, A2 (che poi nelle misure sono chiamati 1, 2 e 3). Per i test di continuità usate i fili 1 e 2.

Nel caso si volesse usare il tester per testare i collegamenti senza il PC si potrebbero aggiungere anche un pulsante collegato tra A3 e GND e un piccolo altoparlante tra D10 e GND.


Firmware per il modulo Arduino Nano

Il firmware “Theremino_Tester_Sketch.ino” va aperto con Arduino IDE e programmato nel modulo Nano. La nostra versione è scritta appositamente per il modulo Nano con il processore ATmega 328P, non usatela con altri moduli Arduino.

Per scrivere il firmware nella scheda Arduino Nano dovete:

  • Aprire il menu “Tools” e scegliere la “Board Arduino Nano”
  • Aprire il menu “Tools” e scegliere la porta giusta (quella che c’è solo se si collega la USB del modulo)
  • Aprire il menu “Tools” e scegliere “Processor ATmega 328P”, con “Old Bootloader” se dovesse servire.
  • Aprire il menu “Sketch” e scegliere “Upload”
  • Se lo Upload non funziona e da degli errori provare “ATmega 328P” con e senza “Old Bootloader”

Parte del nostro firmware deriva dai codici dei Transistor Tester scritti da Karl-Heinz K¨ubbeler e  Markus Reschke, ma la nostra versione è completamente riscritta. Abbiamo semplificato notevolmente il codice e abbiamo corretto e migliorato alcune funzioni. Inoltre ora il codice è formattato e commentato per renderlo più leggibile, comprensibile e di facile manutenzione.

Nella nostra versione abbiamo eliminato tutte le opzioni inutili come il display e il menu delle opzioni, il generatore di segnali, la misura delle tensioni e delle frequenze, che erano difficili da usare e di bassa qualità. Nel nostro sistema abbiamo strumenti notevolmente migliori, oscilloscopi, generatori di segnali, analizzatori, filtri digitali ecc… per cui non ne sentiremo la mancanza.

Calibrazioni

Tra le parti che abbiamo eliminato dal firmware ci sono anche le procedure di calibrazione manuale. Queste funzioni erano così difficili da usare che pochi le avrebbero eseguite con successo, rischiando quindi di ottenere misure completamente sballate.

Invece abbiamo fatto il possibile per ottenere una precisione sufficiente dalla calibrazione automatica. Lo strumento appena costruito è già pronto e viene ricalibrato ad ogni nuova accensione, per quanto possibile senza procedure manuali e componenti campione da usare come riferimento.

Se si utilizzano sei resistori con precisione dell’uno per cento allora la precisione di questo apparecchio è abbastanza buona. Una precisione adeguata all’uso a cui è destinato, cioè identificare i componenti sconosciuti, controllare che non siano difettosi e che abbiano valori entro normali tolleranze.

La precisione è eventualmente migliorabile con una taratura manuale dei parametri che si trovano all’inizio del firmware da scrivere sull’Arduino Nano.

Le prime pagine del firmware contengono parametri di calibrazione modificabili per aumentare la precisione delle misure. Le istruzioni sono all’inizio di ogni parametro. Modificateli solo se avete compreso il loro significato e poi ricordatevi di scrivere il firmware sul Nano dopo ogni modifica.

Tra le opzioni modificabili ci sono anche vari adattamenti. Ad esempio utilizzare i Pin del Nano da D8 a D13 come fanno i classici progetti Transistor-Tester.


Download dei file

Nel file “Theremino_Tester_V1.0.zip” troverete:
– Una cartella “Theremino_Tester” che contiene la applicazione da usare sul PC
– Una cartella “Sources” con i file del programma per chi volesse modificarlo (usate Visual Studio 2008)
– Una cartella “Arduino / Docs” che contiene schemi e immagini utili per costruire il misuratore.
– Una cartella “Arduino” che contiene “Theremino_Tester_Sketch.ino” da aprire con Arduino IDE e poi compilare e scrivere nel modulo Nano, come spiegato nelle pagine precedenti.

Downloads di Teremino_Tester – Versione 1.1
Theremino_Tester_V1.1

Versione per tutti i Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.


Theremino Helper

Questa piccola applicazione funge da raccoglitore per le funzioni accessorie che attualmente sono:
– Spegnimento del computer con il tasto centrale del mouse (se il tasto Enable è abilitato)
– Chiusura manuale di tutti i programmi del sistema (con nome “Theremino_xxxx”)
– Visualizzazione del consumo di CPU
– Trasmissione delle coordinate X/Y del mouse verso gli slot.
– Importazione dati dai lettori di codici a barre e invio dei dati verso gli slot.

Downloads di Theremino Helper – Versione 1.8
Theremino_Helper_V1.8
Theremino_Helper_V1.8_WithSources (progetto completo per programmatori)

Versione per tutti i Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.


Theremino WaveAnalyzer

Theremino WaveAnalyzer

Questa applicazione esegue l’analisi di spettro di segnali periodici provenienti da uno Slot e scrive su un certo numero di altri slot i valori misurati a diverse frequenze e il tasso di distorsione calcolato.
Il suo principale utilizzo è analizzare segnali periodici lenti, dalla continua (zero Hertz) fino a frequenze di qualche Hertz, o al massimo qualche decina di Hertz.

Le istruzioni per l’uso e le caratteristiche complete sono in questo file:
Theremino_WaveAnalyzer_ITA.pdf

Downloads di Theremino WaveAnalyzer – Versione 0.9
Theremino_WaveAnalyzer_V0.9
Theremino_WaveAnalyzer_V0.9_WithSources (progetto completo per programmatori)

Versione per tutti i Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.


Theremino WaveGenerator

Wave Generator

Questo generatore invia il segnale di uscita a uno Slot, e non alla scheda audio come fanno di solito i generatori simili. Dato che il segnale passa dagli Slot, la frequenza massima è limitata a poche centinaia di Hz. In compenso la frequenza minima si estende fino a zero.

Lo si può usare per provare le uscite Pwm o PwmFast e per provare applicazioni che leggono il segnale dagli Slot (ad esempio ECGEEG, SignalScope, AdcTester, e WaveAnalyzer). Oppure lo si potrebbe usare per provare motori stepper, servomotori, geofoni e accelerometri.

Significato dei parametri

SLOTS

  • Output slot: Il numero dello Slot dove scrivere il segnale di uscita.
  • Amplitude: Il numero dello Slot che si utilizza per controllare l’ampiezza del segnale generato. Se si imposta a “-1” allora lo Slot non viene utilizzato e  si regola la ampiezza manualmente con la casella “Amplitude”.
  • Shift: Il numero dello Slot che si utilizza per controllare lo spostamento dello zero del segnale. Se si imposta a “-1” allora lo Slot non viene utilizzato e si regola lo Shift manualmente  con la casella “Shift”.
  • Frequency: Il numero dello Slot che si utilizza per controllare la frequenza del segnale generato. Se si imposta a “-1” allora lo Slot non viene utilizzato e si regola la frequenza manualmente con la casella “Frequency”.
  • Waveform: Il numero dello Slot che si utilizza per controllare la forma d’onda del segnale generato. Se si imposta a “-1” allora lo Slot non viene utilizzato e si sceglie manualmente la forma d’onda con la casella “Waveform”.

CONTROLS

  • Amplitude: Regolazione manuale della ampiezza del segnale di uscita.
  • Shift: Regolazione manuale dello spostamento dello zero del segnale di uscita.
  • Frequency: Regolazione manuale della frequenza di ripetizione del segnale di uscita.
  • Constant speed: Abilitando questa opzione l’escursione di uscita dipende dalla frequenza in modo da ottenere una velocità costante. Disabilitandola si ottiene una escursione costante.
  • Min Freq.: Si usa insieme a Constant speed per stabilire la frequenza minima, la quale corrisponde alla massima escursione.

WAVEFORMS

WaveGeneratorWavesPer scegliere la forma d’onda si fa click sulla casella Waveforms e poi si fa click nel menu a discesa.

  • Manual, Sinusoidal, Semi sinusoidal, Triangular, Sawtooth e Square sono le forme d’onda classiche dei generatori di segnali.
  • Noise può servire per varie misure, ad esempio in congiunzione con un analizzatore di spettro per controllare la banda passante dei filtri
  • Ecg1 e Ecg2 servono per simulare i segnali provenienti da un elettrocardiografo classico (prima derivazione).
  • Ocg1 e Ocg2 servono per simulare i segnali provenienti da un elettrocardiografo di tipo ottico.
  • Ocg3 contiene anche un disturbo a 50 Hz per provare i filtri.
  • UserShape1..5 sono forme d’onda programmabili a piacere.

Per programmare le UserShape si aprono i file da “Shape1.txt” a “Shape5.txt” con un editor di testo e si scrive la serie di valori che compongono la forma d’onda.

Il numero di valori non è importante, possono essere da due a migliaia. Qualunque sia il numero di valori essi rappresentano un ciclo completo. Si sceglie il numero di valori per ottenere una risoluzione sufficiente alle misure che si devono effettuare. Se si utilizzano pochi valori la forma d’onda risulterà “scalettata”.


Tavola vibrante per provare Geofoni e Accelerometri

Un uso interessante di questa applicazione è muovere un servomotore per far vibrare una tavola e provare Accelerometri e Geofoni. Si spendono pochi euro per il servo e qualche ora di tempo per costruirla e si possono regolare la ampiezza e la frequenza delle oscillazioni. La frequenza è molto precisa perché generata dal software e non dalla rotazione di un motore con massa eccentrica.

Il servo deve essere fissato alla base e collegato con una biella alla tavola. Meglio fissarlo con uno strato di gomma per minimizzare il rumore. La biella dovrebbe essere un po’ elastica per assorbire le vibrazioni ad alta frequenza generate dal motore. Collegare la biella a meno di dieci millimetri dall’asse di rotazione del motore, in modo da avere più forza. Uno dei servo più adatti, con area morta molto piccola, è il TGY930, Se si accettano prestazioni un po’ minori oltre i 10 Hz si possono usare anche gli HXT900, che costano pochissimo. Per informazioni sui servo leggere questa pagina.

La tavola dovrebbe essere sospesa con sfere o guide lineari e tenuta con elastici o cinghie di gomma. E dovrebbe essere libera di muoversi per una decina di millimetri.

Le immagini seguenti sono prototipi costruiti da Corrado Pecora, la prima con sfere e vaschette per tenerle in posizione, la seconda con guide lineari (probabilmente reperibili nei Brico-Center come guide per cassetti).

Theremino Shaker Table    Theremino Shaker Table

Impostazioni del software:

  • Nell’HAL si imposta l’uscita come Servo16 con Min = 0 e Max = 1000.
  • Sempre nell’HAL si impostano i valori Tempo min (uS) e Tempo max (uS) a 1000 e 2000. Volendo diminuire la escursione del motore li si impostano con due valori sempre centrati sul 1500 ma con minori scostamenti da esso. Ad esempio 1100 e 1900 oppure 1200 e 1800.
  • Nel WaveGenerator si regola Waveform come sinusoidale.
  • Sempre nel WaveGenerator si imposta una frequenza minima di 0.5 Hz. Si potrebbe anche impostarla a 0.1 Hz ma si avrà una escursione minore alle alte frequenze (10 Hz e oltre).
  • Con queste regolazioni si potranno impostare frequenze da Min Freq. fino a 10 Hz e oltre.

Consigli:

Usare servo con area morta molto piccola, si consiglia il TGY930 perché lo abbiamo provato ma anche altri servo più potenti potrebbero andare bene.

La biella deve essere molto vicina al perno in modo da poter usare escursioni maggiori senza sforzare troppo il motore.

Ruotare la crocetta (o il disco) sul perno del motore in modo che il centro della escursione si trovi a 90 gradi rispetto alla biella.

Normalmente si usa una escursione massima di circa 80 gradi ma si potrebbe portarla a quasi 180 gradi impostando Tempo min (uS) e Tempo max (uS) a 1000 e 2000. Con escursioni molto grandi si potrebbero parzialmente correggere gli errori provocati dalla geometria della biella, usando la forma d’onda “Triangular”, ma la differenza sul movimento è minima.

– – – – – –

DOWNLOADS

Note per le versioni
Versione 1.4 e 1.5: Le nuove textbox si controllano meglio con il mouse. – Il nuovo timer di precisione (che si trova nel file “Accurate Timer”) rende le frequenze generate molto più precise e non dipendenti dal carico di lavoro del sistema operativo e della CPU.
Versione 1.6
Nelle versioni precedenti cambiare frequenza generava discontinuità nella forma d’onda. Ora è possibile modificare la frequenza e gli altri parametri in modo continuo e si ottiene una variazione dolce e senza disturbi. Questo permette di controllare il generatore dall’esterno e fare misure di tipo Sweep.
In questa versione abbiamo aggiunto la possibilità di controllare frequenza, volume e forma d’onda dall’esterno (attraverso gli Slot).
Versione 1.7
Ora “Waveform” cambia correttamente anche se si utilizzano le frecce della tastiera.
Versione 1.8
Ora “Waveform” comprende anche “Noise” e “Ocg3” con un disturbo a 50 Hz sovrapposto.
Versione 2.0
Ora è possibile tenere più copie di WaveGenerator (con nomi Theremino_WaveGenerator1.exe   …2.exe   …3.exe) nella stessa cartella e ogni copia utilizzerà un file di inizializzazione separato.
Versione 2.0
– Ora i controlli si aggiornano immediatamente e velocemente quando si modifica il valore numerico con il mouse.
– La applicazione ora usa la nuova classe “AccurateTimer.vb”

Downloads di Theremino WaveGenerator – Versione 2.1
Theremino_WaveGenerator_V2.1
Theremino_WaveGenerator_V2.1_WithSources (progetto completo per programmatori)

Versione per tutti i Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.


Theremino Filters

  Theremino Filters V1.2

A differenza degli esempi teorici che si trovano nelle pubblicazioni in rete, questa applicazione è realmente utilizzabile per filtrare i segnali provenienti dai sensori. Così si possono fare esperimenti su dati reali e non solo teoria matematica, la quale spesso porterebbe a sovrastimare alcuni aspetti e trascurarne altri.

Ad esempio si possono filtrare i segnali per la applicazione Theremino OCG per rimuovere i disturbi alla frequenza di rete e i dondolii della linea di base provocati dai movimenti del paziente. Le istruzioni per impostare gli Slot delle applicazioni sono nei file “ECG Filter Notes” che si trovano nella cartella “Coeff”.


Caratteristiche dei filtri digitali

FIR Filter

Qui si vede la curva di risposta di un filtro FIR con banda passante da 0 a 498 Hz entro un decibel e che da 502 Hz in su attenua di almeno 90 decibel. Per chi era abituato ai filtri analogici caratteristiche del genere sarebbero state impensabili. Una implementazione hardware con queste caratteristiche richiederebbe chili di materiale (oltre 2000 componenti) e in pratica non funzionerebbe nemmeno (non produrrebbe la curva di risposta calcolata a causa delle tolleranze dei componenti fisici).


Mini istruzioni

Theremino Filters Controls

  • Input slot – Lo Slot da cui leggere il segnale di ingresso.
  • Output slot – Lo Slot su cui scrivere il segnale filtrato.
  • Sample time – Tempo di campionamento. Con 10 mS la frequenza di campionamento è 100 Hz. Si deve impostare questo parametro per una frequenza di campionamento uguale a quella per cui è stato dimensionato il filtro, altrimenti il filtro viene traslato in alto o in basso secondo il rapporto tra i due valori. Dato che stiamo lavorando sugli Slot e attraverso la USB la frequenza di campionamento massima è 500 Hz. Per cui il tempo minimo che si può impostare in questa casella è 2 mS.
  • Amplitude – Moltiplica il dato di uscita filtrato. Con il valore “1” l’uscita è uguale all’ingresso. 
  • Shift – Addiziona una costate al dato di uscita filtrato. Con il valore “0” l’uscita è uguale all’ingresso. 
  • Invert filter effect – Abilitando questa casella l’effetto del filtro viene ribaltato. Per cui un filtro passa basso diventa un passa alto, un passa alto diventa un passa basso e un passa banda diventa un elimina banda. Questo effetto si ottiene in modo semplice, sottraendo dal segnale di ingresso il segnale filtrato.
  • Coefficients file – A destra della parola “Type” si legge il tipo di filtro attualmente in uso (FIR o IIR) e il numero di coefficienti o di poli.
  • Browse folder – Con questo pulsante si apre la cartella che contiene il filtro attualmente in uso. Nella cartella ci sono anche i file di progetto con estensione “ih_fir” e “ih_iir”. Per aprire questi file con le applicazioni appropriate leggere i file di istruzioni “Help ENGLISH” “Help ITALIANO” che si trovano nella cartella “_Filter_Designers”.
  • Riquadro con sfondo azzurro – Nel riquadro si vede il nome del filtro. Facendo click sul nome del filtro si apre una finestra di dialogo che permette di scegliere i filtri (esattamente la stessa funzione che si ottiene premendo il pulsante “Select”).
  • Pulsante Select – Con questo pulsante si apre una finestra di dialogo che permette di scegliere i filtri.

Filtri FIR e IIR

I filtri IIR vengono spesso consigliati per la loro più semplice implementazione e per le minori necessità di memoria e di potenza computazionale. Questo era vero in passato ma sui sistemi attuali, ad esempio Windows10, e su computer nemmeno molto potenti, ad esempio un Tablet quad core, un filtro FIR, implementato con algoritmi ben scritti, costituisce un carico trascurabile sia per la CPU che per il sistema operativo.

Se si sa come fare si possono implementare i filtri digitali con poche righe di software. Abbiamo quindi preparato una applicazione didattica, efficiente sotto l’aspetto computazionale ma nel contempo semplice da leggere e facile da capire. L’algoritmo del filtro sta tutto in una ventina di righe e il resto della applicazione (interfaccia utente e comunicazione con le altre applicazioni del sistema Theremino) in poche pagine.

La applicazione Theremino Filter dalla versione 1.0 in poi può utilizzare sia filtri FIR che IIR e accetta i formati di coefficienti di molte applicazioni diverse.  Per maggiori informazioni sui filtri leggere i file di istruzioni “Help ENGLISH” “Help ITALIANO” che si trovano nella cartella “_Filter_Designers”.


Implementazione dei filtri FIR

La prossima immagine mostra la struttura di base di un filtro FIR.

FIR_FilterNella nostra implementazione non spostiamo i valori da una cella alla seguente ma utilizziamo un buffer circolare e aggiorniamo un solo puntatore. In questo modo il carico di lavoro per la CPU si riduce notevolmente. Possiamo quindi utilizzare anche migliaia di coefficienti con meno dell’uno per cento di CPU.


Implementazione dei filtri IIR

Struttura di base di un filtro IIR nella versione a celle del secondo ordine.

IIR_Filter_2ndOrderCell

Qui si vede una singola cella del secondo ordine. Per comporre i filtri si utilizzano più celle come questa in cascata. Questo metodo permette di sintetizzare filtri con un qualunque numero di poli. Con gli altri metodi superando i tre poli verrebbero generati valori intermedi infiniti e il filtro smetterebbe di funzionare.


Implementazione software

Algorithm FIR

Gli algoritmi che abbiamo studiato per questa applicazione sono semplici ma efficienti.

Utilizziamo un buffer circolare per non fare copie dei dati. Così anche con migliaia di coefficienti il carico alla CPU è sempre trascurabile.

Qui a sinistra si vede quanto è semplice il codice che esegue i filtri FIR (fate click sulla immagine per ingrandirla).

Il codice per i filtri IIR è solo leggermente più complesso. Abbastanza complesso è invece il codice per leggere i coefficienti dai file, dato che le applicazioni per creare i filtri scrivono i file senza regole, ognuna a modo suo.


Applicazioni per generare i coefficienti

Con apposite applicazioni si possono specificare i parametri desiderati, vedere se la curva risultante risponde alle specifiche e infine copiare i coefficienti e inserirli nel filtro. Alcune di queste applicazioni utilizzano anche finestre di campionamento (Hamming, Hanning, Blackman ecc..) che migliorano alcune caratteristiche della funzione di trasferimento. Si possono anche specificare i tipi di filtri desiderati (Passa banda, Passa basso, Passa alto o Elimina banda), la attenuazione minima nelle bande proibite, l’ondulazione massima nella banda passante, le frequenze di inizio e fine transizione, e altri parametri.

Theremino Filters Coefficients

La vera magia è che tutte queste caratteristiche vengono infine “compresse” in una unica lista di coefficienti.

Questa lista sarà più o meno lunga a seconda delle caratteristiche desiderate. Si copia la lista nel software e il filtro avrà una curva di risposta “esattamente” uguale a quella progettata.

I coefficienti vanno scritti in semplici file di testo nella cartella “Coeffs”. In questo modo sarà possibile sceglierli per nome e provare velocemente il comportamento di ogni versione e le differenze tra di esse.


Applicazioni allegate a Theremino Filters

Nel download di Theremino Filters troverete una cartella chiamata “_Filter_Designers” che contiene due applicazioni per progettare i filtri FIR e IIR. Dentro alla stessa cartella troverete  i file di istruzioni “Help ENGLISH” e “Help ITALIANO” che spiegano come usarle. Ognuna delle due applicazioni ha anche il suo file di Help apribile dal menu “Help/Program help”.

La prima applicazione si chiama “Iowa Hills FIR Filters” ed ecco come si presenta:

Iowa_Hills_FIR_Filters

La seconda applicazione si chiama “Iowa Hills IIR Filters” ed ecco come si presenta:

Iowa_Hills_IIR_Filters

Ringraziamo Daniel Klostermann di “Iowa Hills Software” per il suo fantastico lavoro e per averlo reso disponibile gratuitamente a tutti. Visitate il suo sito dove potrete trovare ottima documentazione sui filtri e altre applicazioni utili: http://www.iowahills.com


La applicazione AnaDig

Nella cartella “_Filter_Designers” troverete anche la applicazione AnaDig che crea filtri IIR che si comportano come filtri analogici costruibili con componenti discreti.

AnaDig V0.7

Le istruzioni per usare questa applicazione sono nei file “Help ENGLISH” e “Help ITALIANO” e anche seguendo il link al sito www.beis.de che si trova nella cartella AnaDig.

Purtroppo questa applicazione non è curata come le precedenti, non salva e carica i progetti ma è comunque usabile per progettare semplici filtri ed è l’unica che può progettare filtri digitali con comportamento uguale a quelli analogici.


Applicazioni online per generare i coefficienti

Le applicazioni online non hanno tutte le opzioni delle applicazioni Iowa-Hills. I file di coefficienti devono essere copiati manualmente su un file di testo, e si deve anche dargli un nome. Inoltre non è possibile salvare il progetto per cui non si possono rivedere i progetti e ogni volta si deve ricominciare da zero.

Web based FIR-Filter designer

In questi anni (2017) le applicazioni seguenti sono probabilmente le migliori:
http://t-filter.engineerjs.com
http://www.arc.id.au/FilterDesign.html


Quanti coefficienti usare?

Il vero limite al numero di coefficienti non è dato dal carico di lavoro, che in tutti i casi è sempre quasi zero, ma dal tempo di ritardo tra ingresso e uscita del filtro. Il ritardo cresce linearmente con il numero di coefficienti e si calcola, in modo grossolano e semplice, come il tempo di campionamento moltiplicato per la metà del numero di coefficienti.

Alcune applicazioni potrebbero tollerare lunghi tempi di ritardo ma in genere è sempre bene avere ritardi più bassi possibile. Per cui si cerca sempre di utilizzare il minimo numero di coefficienti che permette di ottenere le caratteristiche richieste.

Le applicazioni Iowa-Hills contengono anche una opzione per minimizzare il tempo di ritardo, consultate il loro file di Help per maggiori informazioni.


Applicazioni per provare i filtri

Filter test applications

Con le applicazioni  Theremino_SignalScope e Theremino WaveGenerator si possono provare i filtri con segnali che viaggiano sugli Slot da una applicazione del sistema a un altra. Per filtrare i segnali provenienti dai sensori si utilizzerebbe la applicazione Theremino HAL e un modulo Master.


DOWNLOADS

Download di Theremino Filters – Versione 1.2
Theremino_Filters_V1.2

Theremino_Filters_V1.2_WithSources (progetto completo per programmatori)
Versione per tutti i Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.


Theremino Phonometer

Phonometer  Phonometer

Questo fonometro è composto da due applicazioni: AudioMeter che si occupa di leggere l’ingresso microfonico e di effettuare le tarature e l’analisi in frequenza, e AudioElaboration che legge i file storici e effettua le analisi fonometriche secondo le direttive ISO 226:1994 e ISO 226:2007

Phonometer Station

 

Il nostro collaboratore Marco ha costruito numerose centraline che comunicano attraverso la rete cellulare e le ha utilizzate per campagne di rivelazione durate molti anni.

Queste centraline possono rilevare anche altri dati, ad esempio le concentrazioni di polveri e di gas.

Potete rivolgervi a Marco per conoscere i particolari costruttivi e ricevere consigli o eventualmente anche per farvi costruire le centraline su misura.

 

Il sistema dispone di alcune caratteristiche introvabili anche nei migliori fonometri in commercio, soprattutto per quel che riguarda la connettività con il PC e le possibilità di fare il LOG dei dati sulla rete Internet. Si possono quindi fare misurazioni automatiche per lunghi periodi, anche anni, senza interventi manuali, mentre i fonometri commerciali, anche i più costosi, richiedono che qualcuno prema i loro pulsanti per ogni nuovo campionamento.

La catena di misura completa (microfono ECM8000, AudioMeter e AudioElaboration) supera i test per le norme che regolano questo tipo di apparecchi ed è stata certificata con una catena di riferibilità ininterrotta, a partire dei campioni di prima linea dell’istituto metrologico nazionale Accredia

Phonometer calibrationMetrix calibration

Download della documentazione
Theremino_Phonometer_ENG.pdf
Theremino_Phonometer_ITA.pdf

Documentazione originale per eventuali traduzioni
Theremino_Phonometer_ENG.odt
Theremino_Phonometer_ITA.odt

Download di Theremino Phonometer
Theremino_Phonometer_V9.1_WithSources  (progetto completo, anche per i programmatori)


Theremino WaterQuality

Theremino Water Quality

Questa applicazione misura il Residuo fisso o TDS che è il grado di mineralizzazione dell’acqua, cioè il quantitativo di sostanza solida perfettamente secca che rimane dopo l’evaporazione di una quantità nota di acqua.

Per il funzionamento serve un modulo TDS-Sensor (ne esistono diversi tipi e costano pochi Euro), un modulo Theremino_Master e eventualmente anche un sensore di temperatura.

Per i particolari sulla costruzione e sull’uso leggete i file di documentazione.


Nella documentazione è spiegato anche come misurare acque con conducibilità molto alta, fino alle acque di mare più salate con PPM = 50000

Water Quality_ Scale 2

Water Quality Scale 3


Files di documentazione
Theremino_WaterQuality_Help_ITA.pdf
Theremino_WaterQuality_Help_ENG.pdf

Files di documentazione in formato ODT per i traduttori
Theremino_WaterQuality_ODT_and_PDF_docs.zip


Download di Theremino WaterQuality – Versione 1.0
Theremino_WaterQuality _V1.0

Theremino_WaterQuality _V1.0_WithSources (progetto completo per programmatori)
Versione per tutti i Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.


Theremino KeyManager

Questa piccola applicazione, permette di usare i tasti capacitivi, come fossero normali tasti, di una tastiera standard. I tasti si configurano facilmente, cliccando il mouse sulla riga e premendo il tasto prescelto.

Si possono configurare fino a 255 tasti e si possono simulare anche i tasti speciali, con Shift, CTRL e i bottoni del mouse.

Sono anche disponibili, la ripetizione automatica e il ritardo di auto-ripetizione. I ritardi sono regolabili, esattamente come quelli di una normale tastiera.

Pulsanti capacitivi

I pulsanti capacitivi si ritagliano con le forbici da nastro di rame adesivo. Oppure si possono usare banane, vasi di fiori, liquidi o qualunque altro oggetto leggermente conduttivo. Si ottiene l’equivalente del MakeyMakey, ma senza il pericolo di collegare un filo elettrico al polso.

Un Master fa le stesse cose di un Makey Makey, ma costa meno della metà ed è più flessibile. Inoltre si elimina il pericoloso collegamento elettrico al polso, necessario per far funzionare il Makey Makey. I pulsanti del sistema Theremino sono capacitivi, non resistivi, quindi possono essere isolati e non si deve toccare nessuna parte metallica.

Theremino Capacitive Keys - Lemons Piano     A Theremino equivalent of Makey Makey

In questo video e anche in questo, si vede il KeyManager usato con degli scomodissimi BananaKeys. Le banane funzionano ma sono scomode. Meglio usare tasti capacitivi rettangolari o almeno rotondi, ad esempio limoni o mandarini: LemonsPiano – Skrjabin’s_lemons

Download di Theremino KeyManager – Versione 1.3
Theremino_KeyManager_V1.3

Theremino_KeyManager_V1.3_WithSources (progetto completo per programmatori)
Versione per tutti i Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.


Theremino Simon

Theremino Simon Game    Theremino Simon Game Application

Questa è una riedizione in chiave thereminica del celebre gioco “Simon Says”. Per costruirlo bastano tre o quattro LED e qualche pezzo di metallo o di filo, oppure banane, o altri frutti.

Il software può simulare esattamente il gioco originale, con quattro tasti disposti in cerchio, oppure una disposizione più moderna, tipo tastiera di pianoforte, sia con tre che con quattro tasti, che permette di giocare più velocemente.

Questa applicazione è anche un buon esempio e una base di partenza per costruire altri giochi basati sull’Input-Output.


Collegamenti

I tre (o quattro) sensori capacitivi si collegano ai Pin 1, 2, 3 (o 1, 2, 3, 4) di un Theremino Master. Questi Pin devono essere configurati come Cap16 e con gli Slot con gli stessi numeri dei Pin, cioè 1, 2, 3 (o 1, 2, 3, 4).

I tre (o quattro) LED si collegano ai Pin 4, 5, 6 (o 5, 6, 7, 8) di un Theremino Master. Questi Pin devono essere configurati come Dig_Out e con gli Slot con gli stessi numeri dei Pin, cioè 4, 5, 6 (o 5, 6, 7, 8).

Gli esperti di theremino potrebbero, se necessario, usare altri Slot, cambiando il valore “FirstSlot=1” nel file “Theremino_Simon_INI.txt” che si trova accanto alla applicazione  “Theremino_Simon.exe”.

Per renderlo molto simile al gioco originale si potrebbe stampare la immagine “Simon3” che si trova nella cartella “Sources/Images” su un foglio di carta semitrasparente. L’immagine va poi incollata su una base con i led e con i sensori composti da ritagli di alluminio sottile.

Oppure si potrebbe usare una disposizione a tasti da pianoforte, o anche solo dei LED e dei fili (che fanno da sensori), fissati al tavolo con nastro adesivo.


Download di Theremino Simon – Versione 1.0
Theremino_Simon_V1.0

Theremino_Simon_V1.0_WithSources (progetto completo per programmatori)
Versione per tutti i Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.


Theremino GamePad

Theremino Gamepad V1.4

Questa applicazione legge un qualunque numero di GamePad, Joystick e altri dispositivi simili. I valori dei controlli sono copiati negli Slot e resi comodamente disponibili, ad ogni altra applicazione del sistema Theremino.

Se si imposta “First slot = 1”, allora il primo dispositivo usa gli slot da 1 in poi, il secondo da 31 in poi, il terzo da 61 in poi, e così via.

Theremino Gamepad and Joystick reader

Qui si vedono i numeri dei pulsanti da 1 a 4. Altri 4 pulsanti si trovano dietro, due sono in centro (chiamati select e start) e due sono negli stick (premendoli).

Per una lista completa dei controlli e degli Slot, leggere i seguenti file:
GamepadButtons_ENG.txt
GamepadButtons_ITA.txt
Questi stessi file sono anche disponibili nella cartella della applicazione.


Questa applicazione potrebbe non avviarsi perché usa DirectX. In tal caso scaricate la versione da noi consigliata e seguite le note di installazioneLa versione 1.2 non dovrebbe più richiedere la installazione di DirectX, su nessun sistema operativo.

Download di Theremino GamePad – Versione 1.4
Theremino_GamePad_V1.4

Theremino_GamePad_V1.4_WithSources (progetto completo per programmatori)
Versione per tutti i Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.


Theremino GamePad Tester

Theremino Gamepad and Joystick reader        Theremino GamepadTester Example

Alcuni GamePad hanno una zona morta (Dead Zone) orribilmente grande. Abbiamo quindi preparato la applicazione “Theremino Gamepad Tester” per confrontarli.

Per provare i GamePad si effettuano una decina di rotazioni, di diverso diametro, su ognuno dei due stick. Poi si controlla il nome e eventualmente lo si modifica manualmente. Infine si salva la immagine per poterla confrontare con altri. Se avete immagini significative speditecele, possibilmente con marca, modello e quanto lo avete pagato.

Un buon GamePad dovrebbe avere le quattro percentuali più basse possibile (sotto al 5%). E dovrebbe anche mostrare tracce approssimativamente circolari.

Theremino GamepadTester - Example - LinQ - Dead Zone = 20%
Questo è un esempio di Gamepad “da buttare” – Dead Zone intorno al 20%.

Theremino GamepadTester - Example - PPM - Dead Zone = 3%
Così invece si presentano i GamePad che funzionano bene – Dead Zone intorno al 3%

Theremino GamepadTester - Example with low dead zone
Un altro esempio di buon funzionamento con Dead Zone molto bassa – Non importa che i cerchi siano rotondi, quello che conta è che non si vedano discontinuità nelle zone centrali.

Alcuni esempi di GamePad
Saitek P2900 – Wireless – Zona morta sicuramente piccola, circa il 2%. Tutti i Saitek dovrebbero andare bene. Purtroppo non è facile trovarli su eBay e costano abbastanza.
Logitech e Trust – Circa 50 Euro e 30 Euro. Costosi ma dovrebbero andare bene.
SQONYY – Wireless, circa 15 Euro. Ne parlano bene, lo proveremo presto.
LinQ – Con cavo USB, circa 10 Euro. Zona morta esagerata, intorno al 15-20%.
Atomic PC – Con cavo USB, circa 10 Euro. Zona morta esagerata, oltre il 20%.
BOYU e FOYU – Con cavo USB, circa 15 Euro. Non li abbiamo ancora provati.


Questa applicazione potrebbe non avviarsi perché usa DirectX. In tal caso scaricate la versione da noi consigliata e seguite note di installazioneLa versione 1.4 non dovrebbe più richiedere la installazione di DirectX, su nessun sistema operativo.

Download di Theremino GamePadTester – Versione 1.4
Theremino_GamePadTester_V1.4

Theremino_GamePadTester_V1.4_WithSources (progetto completo per programmatori)
Versione per tutti i Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.


Custom Controls

Le applicazioni del sistema Theremino sono facilmente controllabili con i controlli grafici “CustomControls” che hanno forme e colori completamente configurabili e i valori numerici editabili in molti modi, cliccando e muovendo il mouse, con la rotella del mouse, con i tasti freccia, con la tastiera e con i normali metodi di selezione e di copia-incolla.

La CustomControlsLib raccoglie i seguenti controlli:
– MyButton
– MyComboBox
– MyGroupBox
– MyListView
– MyTabControl
– MyTextBox

ATTENZIONE: Linux e MacOSX non riescono a utilizzare le DLL compilate insieme ai programmi per cui la “CustomControlsLib.DLL” deve essere copiata vicino ad ogni programma eseguibile.

Download di Custom Controls – Versione 1.7
CustomControls_V1.7_WithSources  

Per tutti i sistemi Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazioneQuesto file include la “CustomControlsLib.DLL”, i sorgenti necessari per modificarla e ricompilarla e una piccola applicazione di prova

– – – – – –

Custom Controls – Senza DLL

Abbiamo usato per anni i Custom Controls come DLL, ma ora abbiamo trovato un metodo migliore di includerli nelle applicazioni. Si tratta di includere una cartella chiamata “CustomControls” tra i sorgenti della applicazione e compilarla insieme agli altri file della applicazione. Nel caso di aggiornamenti sostituire una DLL o una cartella intera è praticamente la stessa cosa, ma si eliminano molti problemi e fastidi dati dalla DLL.

Con questo nuovo metodo si hanno i seguenti vantaggi:

  • Si può avere una applicazione costituita da un solo file EXE
  • Si eliminano le eventuali difficoltà di “embedding” della DLL
  • I Custom Controls sono realmente compilati con la applicazione e funzionano bene anche su Linux e MacOsx.
  • Collegare i Custom Controls non richiede più delicate operazioni con “References” e “CopyLocal”

Passare da una applicazione con “CustomControls.DLL” a una senza, richiede alcune operazioni poco intuitive. Nel download è incluso il file “Notes.txt” che spiega come includere e collegare la cartella “CustomControls” nelle applicazioni VbNet.

Download di Custom Controls_Folder (Senza DLL) – Versione 1.7
CustomControls_Folder_V1.7

Per tutti i sistemi Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.

 


SDR Controls

ThereminoSDR controls MySmeter  ThereminoSDR controls MyPanel   Theremino SDR controls - MyTrackBar

Questi controlli sono simili ai precedenti “CustomControls” ma coprono esigenze diverse. Li abbiamo chiamati “SDR Controls” perché sono stati sviluppati per la applicazione ThereminoSDR. Per vedere come si usano aprire ThereminoSDR, i suoi controlli funzionano anche senza hardware.

MyTrackBar è il controllo più importante e probabilmente l’unico che verrà usato spesso. Questa trackbar è notevolmente migliore di ogni altra. Oltre ai colori configurabili in molti modi, al testo che viene presentato in modo efficiente e ben visibile ed ai movimenti fluidi ed ergonomici, questo controllo introduce due innovazioni utilissime: la possibilità di fare cursori non lineari “Logaritmicity” e la risoluzione variabile “Smart Resolution”. Brevi consigli su come usarli sono nel file “MyTrackBar_Notes.txt”. Le istruzioni più complete sono a pagina 44 del file di istruzioni della applicazione ThereminoSDR.

Gli altri controlli sono:
– MyPanel (abbastanza difficile da usare)
– MySmeter (probabilmente adatto alla sola applicazione SDR)
– NumericDisplay (anche questo molto specifico per SDR)

ThereminoSDR controls NumericDisplay

A differenza dei CustomControls questa volta abbiamo sperimentato un modo diverso di includerli nelle applicazioni. Non si crea una DLL ma si copia la cartella con tutti i file tra i sorgenti della applicazione. Poi si usa “Add exixsting item” e li si aggiungono ai file del progetto.

Note per le Versioni
Versione 1.1 – Corrette le TrakBar, che ora funzionano anche con i nuovi mouse, con la rotella micrometrica (senza scatti).

Download degli SDR-Controls – Versione 1.1
SdrControls_V1.1  

Per tutti i sistemi Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.


Theremino DeviceManager

La particolarità di questo Device Manager è di ricordare l’ultimo dispositivo selezionato. Per cui se si ha la necessità di riabilitare frequentemente lo stesso dispositivo, si può farlo comodamente in due click.

Negli ultimi mesi WordPress, (che usiamo per gestire il sito Theremino), ha un nuovo difetto e sgancia frequentemente il gestore di rete. Abbiamo scritto Theremino DeviceManager apposta e ora possiamo riabilitare la rete in meno di cinque secondi.

Questa applicazione è un esempio di come sia possibile controllare i dispositivi hardware in modo semplice. Raramente se ne sente il bisogno. ma potrebbero succedere dei casi in cui è necessario farlo. Conoscere questo “come si fa”, potrebbe risolvere situazioni altrimenti impossibili.

Theremino System ->>> ATTENZIONE <<<

Disabilitare dispositivi di sistema
potrebbe rendere il computer inutilizzabile
fino a che non verranno riabilitati.

Note per le versioni
Versione 1.0:
 Prima versione pubblicata. Abbastanza robusta ma ancora da provare.
Versione 1.2: Risolto un problema che impediva l’avviamento in caso di Devices senza nome. Aggiunto un numero identificatore per distinguere dispositivi con lo stesso nome.

Download di Theremino DeviceManager – Versione 1.2
Theremino_DeviceManager_V1.2
Theremino_DeviceManager_V1.2_WithSources

Per tutti i sistemi Windows a 32 e 64 bit.

ATTENZIONE: Raspberry, Linux e MacOSX hanno una gestione tutta loro dei dispositivi di sistema. Modificare questa applicazione, per farla funzionare sui sistemi operativi alieni, potrebbe essere difficile, se non impossibile.


Simulazioni LTSpice


Per le simulazioni elettriche del sistema Theremino consigliamo LTSpice che è il simulatore più veloce, efficiente e ben fatto tra tutti quelli che abbiamo provato fino ad ora. Negli anni passati li abbiamo usati quasi tutti, passando da una sofferenza all’altra. Da quando usiamo PSpice tutto si è semplificato ed è diventato un amico davvero piacevole. LTSpice è freeware e anche questo non guasta.

LTSpice, gentilmente distribuito da Linear Technology, apparentemente, supporta solo i circuiti integrati prodotti da loro, ha pochissimi componenti generici nelle sue librerie, ed è un po’ strano (ma basta imparare a usarlo bene).

I componenti degli schemi di LTSpice sono sproporzionati, le resistenze e i transistor sono molto grandi e quindi l’aspetto degli schemi è poco serio. Queste caratteristiche hanno impedito a molti di apprezzare la semplicità e la potenza di LTSpice e hanno dirottato quasi tutti, noi compresi, verso simulatori pachidermici che impiegano ore a installarsi…

Soluzione:

  1. Scaricare LTSpiceIV ultima versione da: http://www.linear.com.
  2. Installarlo normalmente.
  3. Andare nella cartella  “C:\Programmi\LTC\LTspiceIV” e eliminare la cartella “lib”.
    (chi preferisce essere meno cattivo può rinominarla “lib-old”).
  4. Scaricare questo ZIP: LTSpiceIV_Libraries_for_Theremino_simulations_V2.0
  5. Estrarre la cartella “lib” e metterla in “C:\Programmi\LTC\LTspiceIV” al posto della lib originale.

Fatto questo potrete aprire tutte le nostre simulazioni senza problemi e disporrete di migliaia di transistor e diodi. Anche tutti gli amplificatori operazionali più usati saranno disponibili selezionandoli con OpAmp5. E infine gli schemi non saranno più strani, con resistori e transistor enormi.

La versione 1.8 comprende molti nuovi modelli, tra cui un migliaio di Mosfet nel file “Standard.mos”. Sono modelli che si trovano facilmente in rete, basta andarli a cercare uno per uno dai costruttori. Però averli tutti riuniti in ordine alfabetico, in un solo file, è tutta un’altra cosa. Per controllare i modelli manualmente ci sarebbero volute settimane. Abbiamo quindi scritto una applicazione apposita per riordinare i modelli. Con questa applicazione abbiamo eliminato i modelli difettosi o duplicati, abbiamo riordinato i parametri in modo più leggibile (tutti con lo stesso formato numerico e numero di decimali) e anche riordinato i modelli in ordine alfabetico.

Le versioni 1.9 e 2.0 comprendono ulteriori nuovi modelli, tra cui centinaia di nuovi JFET. Questo è sicuramente l’elenco di modelli Spice, più completo e meglio ordinato, che si può trovare in rete. 

In questo ZIP troverete tutte le simulazioni che hanno qualche relazione con il sistema Theremino: ThereminoSimulations_V1.6 (sono le nostre simulazioni “di lavoro”, non sono concepite per essere pubblicate, ma possono essere molto utili agli “addetti ai lavori”)

Questo file raccoglie tutte le caratteristiche principali degli Operazionali più usati ed è molto utile per scegliere i migliori durante la progettazione: OpAmps_Table


PCB con Eagle e Eagle3D

Theremino Eagle Schematics  Theremino Eagle Board

Eagle è un ottimo programma per disegnare schemi e circuiti stampati. Purtroppo le librerie originali di Eagle contengono molti componenti disegnati male. Se i componenti hanno i pin fuori passo (non a passo 2.54 mm) diventa difficile collegare le piste e fare PCB piccoli e ben fatti. Inoltre non tutti i componenti delle librerie hanno il corrispondente in Eagle3D e non si sa mai quali componenti usare.

Consigliamo quindi di procedere come segue:

Eagle
Normalmente usiamo la versione 6.1.0, ed è bene non usare versioni diverse da questa, per evitare i problemi di conversione dei file.

Se non riuscite a trovare la versione 6.1.0 scaricatela da qui:
https://www.theremino.com/files/eagle-win-6.1.0.zip

Dopo aver installato Eagle, vi verrà chiesto se volete usare la versione a pagamento.
Scegliete “Run as freeware”, che funziona al 100% per tutti i nostri progetti (ha un limite di dimensioni ma i nostri PCB sono tutti molto più piccoli del limite).

Librerie di Eagle
Scaricare questo file compresso: EagleLibs.zip  (corretto il 20/01/2017 ora si possono sostituire i package agli elettrolitici senza più incorrere nei terribili errori di “inconsistency”)
– Aprire la cartella “lbr” di Eagle

– Fare una nuova cartella chiamata “Original Libs” e spostare li dentro tutte le librerie
   (in futuro se serviranno altre librerie sarà facile andare a ripescarle tra le “Original Libs”)
– Mettere nella cartella “lbr” le librerie scaricate, estraendole dal file ZIP 

Componenti da usare per Eagle e Eagle3D
Per sapere quali sono i componenti migliori da usare, e controllare che siano anche visualizzabili in 3D, scaricare questi documenti: EagleComponents (corretto il 20/01/2017 ora ci sono molti tipi di elettrolitici a disposizione sia con passo 2.54 mm che 5 mm)
Per ora i documenti sono in italiano ma la versione ODT permetterà ai traduttori di fare le versioni inglese e giapponese.

PovRay
Cercatelo in Internet e installatelo.

Files di “include” per PovRay (per i componenti 3D)
 – Scaricare questo file ZIP: PovRay_Include_Files (corretto il 20/01/2017 ora funzionano bene anche gli elettrolitici a disposizione sia con passo 2.54 mm che 5 mm)
– Aprire la cartella di PovRay
– Individuare la sottocartella “include” e aprirla
– Copiare nella cartella “include” i file, estraendoli dal file ZIP e sovrascrivendo.

ULP Eagle3D
Gli ULP (user language program) sono estensioni di Eagle, con questo ULP si creano i file “POV” che infine PovRay trasformerà in immagini 3D.
Scaricare questo file compresso: ULP_EAGLE_3D
 (corretto il 20/01/2017 ora funzionano bene anche i trimmer, da TRIM-1H fino a TRIM_M3, come indicati in EagleComponents)
– Estrarre tutta la cartella completa “EAGLE 3D” e metterla nella cartella ULP di Eagle 

ULP FastGcode
Gli ULP (user language program) sono estensioni di Eagle, con questo ULP si creano i file GCODE che servono per fare i circuiti stampati con la fresa. (all’inizio non ci si capisce niente ma con molta pazienza e molta esperienza alla fine diventa facile)
La versione di settembre 2013 funziona bene anche con il cambio punta manuale.
Scaricare questo file compresso: FAST-GCODE_July2015 (contiene la nuova versione 7.9)
– Estrarre tutta la cartella completa “_ FAST-GCODE_” e metterla nella cartella ULP di Eagle

ULP FastGcode ultime versioni
La versione 7.8 ha uno strano difetto nella pulizia delle aree grandi (a volte trascura dei pezzi). La 7.9 dovrebbe essere a posto e risolve anche un difetto che avveniva se si aumentava troppo “Overlap” (blocco totale della applicazione durante la creazione del GCode). Questo ZIP contiene le versioni 7.7, 7.8 e 7.9, usate quella che vi funziona meglio e vi piace di più: FAST_GCODE_LastVersions


Theremino Fast FTP

Theremino Fast FTP

Esistono molti software per FTP e anche le funzioni di base delle cartelle di Windows permettono di fare Upload e Download di file. Ma abbiamo sempre avuto problemi nel gestire i siti con questo protocollo, per cui abbiamo scritto questa piccola applicazione.

“Theremino Fast FTP” potrebbe, in alcuni casi, essere utile come esempio per chi dovesse inviare e ricevere file in FTP. Come tutte le nostra applicazioni è Open Source e scritta in modo molto semplice, per essere anche un utile ausilio didattico.

Questa piccola applicazione è ottima per scoprire il vero indirizzo delle cartelle di Upload per il programma “Theremino Geiger”. A volte questi indirizzi sono molto strani e solo con “Fast FTP” si riesce a individuarli (altri programmi di FTP interpretano internamente gli indirizzi e non mostrano gli indirizzi completi) 

Istruzioni per gli indirizzi FTP
A seconda del provider l’indirizzo FTP da impostare può essere diverso, in alcuni casi anche molto strano, come da esempi seguenti:

“ftp://ftp.sitename.org/sitename.org/folder1/folder2/”      (Aruba)
“ftp://www.theremino.com/www.theremino.com/files/”    (Aruba)
“ftp://indirizzo.dominio.it/cartella/images”                            (home.teletu.it)

Se non si riesce allora si dovrebbe chiedere la sintassi al proprio provider.

Note per le versioni
Versione 2.2:
 Corretti i piccoli difetti nati durante il passaggio da XP a Windows-7/8.
Versione 2.3: Eliminati i lampeggiamenti all’avvio.
Versione 2.4
– Funzionamento senza errori anche con siti che danno una stringa vuota al posto della lunghezza
– Funzionamento senza errori anche con siti che danno la data in formato AM/PM.
Versione 2.5
– Funzionamento senza errori anche su cartelle con migliaia di file.
– Il tempo di caricamento della lista dei file è ridotto di oltre dieci volte.
– Anche liste lunghissime, da migliaia di file, si completano in una frazione di secondo.
Versione 2.6
– La casella HTTP Folder ora contiene gli indirizzi corretti con http://www… anche se il provider li vuole come ftp://ftp.
– La voce del menu “Copy path to clipboard” funziona nuovamente
– Il pulsante per provare i download HTTP funziona nuovamente.

Download di Theremino FastFTP – Versione 2.6
Theremino_FastFtp_V2.6
Theremino_FastFtp_V2.6_WithSources (progetto completo per programmatori)
Versione per tutti i Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.


Theremino WatchDog

Theremino WatchDog  Theremino WatchDog

Questa applicazione disabilita mouse e tastiera. La disabilitazione può essere manuale, oppure può avvenire automaticamente, quando il computer rimane inattivo per un certo tempo.

Utilità e campi di applicazione

Disabilitare la tastiera è utile durante la pulizia dei tasti. Inoltre questa applicazione sarà particolarmente apprezzata da chi deve difendersi da esseri dispettosi di vario genere. In rete si trovano altre applicazioni per disabilitare di tastiera, ma nessuna è specificamente pensata per la difesa da gatti, cani e uccelli.

Theremino WatchDog è stato collaudato nelle condizioni peggiori ed è sicuramente a prova di gatti e gazze. Le gazze sono animali dall’animo selvatico e dispettoso, che alcuni considerano quasi dei rapaci. Se si cercano le caratteristiche in rete si trova che sono tra gli animali più intelligenti in assoluto. Sono gli unici uccelli che sanno riconoscere se stessi allo specchio, in compagnia solo dell’uomo, dei primati e dei delfini (leggere qui). La gazza “Chiko”, che vive nel giardino fuori dal laboratorio e che scorrazza e svolazza volentieri anche in laboratorio, ha capito che le tastiere sono magiche e sa riconoscere i computer incustoditi. Attende con pazienza il momento migliore per zampettare sulla tastiera giusta e fare il massimo dei danni. Riesce anche a premere i pulsanti dei mouse con il becco ed è riuscita più volte ad aprire lo sportellino della pila del mouse, estrarla e portarsela via. In questo video la si vede, da piccola, mentre faceva il bagnetto.

Ora tutti i computer del laboratorio hanno Theremino_WatchDog sempre attivo, con un tempo di disabilitazione molto breve (30 secondi), per cui ci sono buone speranze che questo sito non venga eliminato da un colpo di becco.

Aprire e chiudere la applicazione

Quando si attiva la applicazione non appare una finestra, ma solo una piccola icona. L’icona rimane residente nell’area delle applicazioni (in basso a destra, vicino all’orologio calendario), ed è riconoscibile per l’igloo e il cane. Per chiudere completamente la applicazione si preme il tasto destro sulla questa icona e poi si sceglie “Exit”. Chiudendola non svolgerà più il suo compito fino a che non verrà riavviata. Il riavvio può essere automatico, all’avvio di Windows, oppure manuale.

Disabilitare tastiera e mouse

Per disabilitare mouse e tastiera si fa click con il tasto sinistro sull’icona della applicazione. La disabilitazione può anche avvenire a tempo, così se ci si allontana per un certo tempo il computer si disabilita da solo. Questo è molto utile per chi si dimentica regolarmente di attivare la disabilitazione prima di allontanarsi.

Per riattivare mouse e tastiera si usa una sequenza di tasti, una sequenza di click sui pulsanti sinistro e destro del mouse, oppure un click sul naso del cane. Se nessuno di questi metodi è abilitato allora si potrebbe rischiare di restare bloccati, per cui in questo caso tastiera e mouse resteranno sempre abilitati.

Modificare il comportamento della applicazione

Per adattare la applicazione alle proprie preferenze, si preme il tasto destro sulla sua icona e si sceglie “Properties”.  La finestra delle proprietà ha i controlli seguenti:

  • Countdown – In questa casella viene visualizzato il tempo restante prima della disabilitazione. Ad ogni movimento del mouse e ad ogni tasto premuto questo tempo riparte. Quindi la disabilitazione avviene solo se si resta completamente inattivi per tutto il tempo impostato.
  • Countdown time (sec) – Impostazione del tempo in secondi. Si consiglia un tempo breve, ad esempio 30 secondi, se il “nemico” è molto attento e si attiva appena si lascia il computer incustodito. Altrimenti un tempo da 60 secondi a 180 secondi dovrebbe andare bene in tutti gli altri casi. Se si imposta il valore zero o si lascia la casella vuota, il countdown si ferma e la disabilitazione temporizzata non avviene mai.
  • Show passwords (reminder) – Abilitazione del promemoria per la password e per la sequenza del mouse. Le due stringhe di caratteri saranno visibili sopra alla testa del cane che appare durante il blocco del computer.
  • Cover entire screen – Abilitando questa casella, l’intero schermo viene coperto con una patina semitrasparente, per indicare che tastiera e mouse sono disabilitati. Altrimenti viene coperto solo l’angolo in basso a destra.
  • Password – Sequenza di lettere da premere sulla tastiera per riabilitare tastiera e mouse. Tra un tasto e l’altro non si deve lasciar passare più di due secondi.
  • Mouse sequence – Sequenza di pressioni dei pulsanti del mouse, per riabilitare tastiera e mouse. I pulsanti da usare sono “sinistro” (L) e “destro” (R). La sequenza “LLR” significa che si devono premere i pulsanti “sinistro”, “sinistro” e “destro”.  Tra una pressione e la successiva non si deve lasciar passare più di un secondo.
  • Enable with click on dog nose – Se si abilita questo controllo, sarà possibile terminare il blocco di tastiera e mouse, facendo click sul naso del cane. Non sulla piccola icona della applicazione, ma su quella grande, che appare in trasparenza quando il PC è bloccato. Per fare click si può usare sia il mouse che il touch screen.
  • Do not show messages – Chi fosse infastidito dai messaggi e dai relativi suoni, può sopprimerli con questa opzione.
  • Start automatically at logon – Abilitando questo controllo la applicazione verrà avviata automaticamente ad ogni avvio di Windows. O più precisamente ogni volta che l’utente si collega con il computer (logon). L’avvio automatico viene ottenuto con un collegamento alla applicazione nella cartella di avvio automatico, chiamata “Startup folder”. Se si utilizza l’avvio automatico non si deve più spostare la applicazione e non si deve rinominare il percorso dove risiede.
  • Open startup folder – Utilissimo comando che apre la cartella “Startup folder”. Si possono quindi controllare i programmi in avvio automatico e si possono anche aggiungerne di nuovi. Per aggiungere nuovi programmi all’avvio automatico si crea un link al programma e lo si mette in questa cartella. Senza questo comando trovare la cartella di avvio automatico sarebbe molto difficile.
  • Clear icon cache – Dato che questa applicazione è pensata per essere sempre attiva, abbiamo aggiunto questo comando in modo da averlo sempre sottomano. Altri comandi utili verranno aggiunti in futuro in questa area. Fare un “Clear icon cache” serve per aggiornare le immagini di tutte le icone del desktop quando, per qualche motivo, fossero sbagliate.

Dopo aver modificato le proprietà si chiude la finestra con la croce in modo che non ingombri il desktop e non consumi risorse inutilmente. Anche chiudendola la applicazione continuerà a lavorare minimizzata nella barra delle applicazioni.

Programmazione e didattica

Come tutte le altre applicazioni del sistema Theremino, questo software è scritto nel modo più semplice possibile e può essere usato per studiare la programmazione. Qui vengono mostrate alcune operazioni piuttosto “difficili” come gli Hook di tastiera e mouse. Gli Hook intercettano gli eventi a livello di sistema, prima che vengano inviati alle applicazioni.

– – – – –

Note per le versioni
Versione 1.0:
 Prima versione pubblicata.
Versione 1.1: Corretto un errore per il quale si doveva scrivere la intera password tutta in un secondo. Alzato a due secondi il tempo permesso tra due tasti della password con la tastiera.
Versione 1.2: Eliminata la possibilità di avviare due volte la applicazione per errore. Inoltre ora la finestra delle proprietà non si apre più ad ogni avvio di Windows.
Versione 1.3: Migliorato il colore di fondo. Aggiunta l’icona con il segnale di blocco. Eliminato un piccolo difetto che si verificava riavviando ripetutamente la applicazione già aperta. Fatto in modo che la finestra delle proprietà non possa mai andare fuori schermo.
Versione 1.4: Migliorate le funzioni di riconoscimento della password e della sequenza del Mouse. Semplificate le classi di Hook.

Download di Theremino WatchDog – Versione 1.4
Theremino_WatchDog_V1.4
Theremino_WatchDog_V1.4_WithSources (progetto completo per programmatori)
Versione per tutti i Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.


Theremino KeyTester

Theremino KeyTester

Questa applicazione serve per controllare i codici emessi dalla tastiera. La si può usare per controllare il funzionamento delle tastiere e per individuare gli “ScanCode” da usare nelle applicazioni.

Programmazione e didattica

Come tutte le altre applicazioni del sistema Theremino, questo software è scritto nel modo più semplice possibile e può essere usato per studiare la programmazione. Qui viene mostrata una operazione piuttosto “difficile” come l’Hook di tastiera. Gli Hook intercettano gli eventi a livello di sistema, prima che vengano inviati alle applicazioni.

Download di Theremino KeyTester – Versione 1.0
Theremino_KeyTester_V1.0
Theremino_KeyTester_V1.0_WithSources (progetto completo per programmatori)
Versione per tutti i Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.


Theremino SystemMetrics

System Metrics V1.0

Questo software è utile per i programmatori, mostra le proprietà dei controlli, delle finestre e degli schermi del sistema operativo. Ad esempio la larghezza dei bordi delle finestre, le spaziature tra le icone, le dimensioni degli schermi, il numero di schermi presenti nel sistema, ecc. Sapere come leggerli può essere molto utile in alcuni casi.

Download di Theremino SystemMetrics – Versione 1.0
Theremino_SystemMetrics_V1.0_WithSources (progetto completo per programmatori)
Versione per tutti i Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.


Theremino MathHelper

Application Math Helper

Questa applicazione processa le formule matematiche e riesce a estrarre variabili da formule complesse e difficili da trattare manualmente. 

La applicazione trasforma le formule dai linguaggi di programmazione al linguaggio matematico. Modifica i nomi delle funzioni e sostituisce le variabili con singole lettere. Poi invia la formula al potente motore simbolico WolframAlpha e estrae le formule processate dai suoi “pod” di risposta. Infine la applicazione ritrasforma le formule in un formato comprensibile dai computer. Le formule finali contengono di nuovo le variabili con i loro nomi originali e ridiventano leggibili anche dagli umani.

I matematici potrebbero anche farne a meno, ma alcuni programmatori troveranno questa applicazione molto utile. In particolare la troveranno utile i programmatori che (come noi) leggono sensori e calcolano grandezze dell’elettronica. Ma anche quelli che visualizzano grandezze variabili con grafici lineari e logaritmici.

Per un esempio di applicazione che contiene grafici lineari e logaritmici, e che usa formule dirette e inverse per gli assi dei grafici, scaricate Theremino Covid19. Le formule che calcolano le posizioni sullo schermo e che restituiscono i valori numerici a partire dalle posizioni sullo schermo, sono state calcolate con MathHelper e rifinite manualmente. Potete trovarle nelle funzioni “ValueToLinY”, “LinYToValue”, “ValueToLinX”, “LinXToValue”, “ValueToLogY”, “LogYToValue”, “ValueToLogX” e “LogXToValue”, che si trovano nel file “Class_Chart.vb”.


Alcuni esempi

Supponiamo di avere questa formula che calcola “y” al variare di “x”:  y = 3 * x
In pochi secondi possiamo ottenere la formula inversa, che calcola “x” al variare di “y”:  x = y / 3

Il caso precedente era facile e si poteva risolvere anche manualmente.

Ma supponiamo di avere questa formula:  y = ( x * 12 ) + ( x + 3 ) + size
Ribaltarla comincia a essere meno intuitivo:  x = 1 / 13 * ( y – 3 – size )

Poi, man mano che le formule si fanno più complesse, risolverle diventa sempre più difficile.

Come ad esempio questa:  y = v1 * Math.Log ( x * v2 + v1 )
Che diventa:  x = ( Math.E ^ ( y / v1 ) – v1 ) / v2

O questa:  y = ( x * 12 ) + ( x + 3 * x ) + v1 * 2 + x / 7
Che diventa:  x = – 7 / 113 * ( 2 * v1 – y )

Fino ad arrivare a formule apparentemente semplici come:  y = a * x ^ 4 + b * x ^ 3 + c * x ^ 2
Che si trasformano in veri e propri “mostri”, come questo:  x = – 1 / 2 * Math.Sqrt ( b ^ 2 / ( 4 * a ^ 2 ) + ( Math.Sqrt ( ( 72 * a * c * y – 27 * b ^ 2 * y + 2 * c ^ 3 ) ^ 2 – 4 * ( c ^ 2 – 12 * a * y ) ^ 3 ) + 72 * a * c * y – 27 * b ^ 2 * y + 2 * c ^ 3 ) ^ ( 1 / 3 ) / ( 3 * 2 ^ ( 1 / 3 ) * a ) + ( 2 ^ ( 1 / 3 ) * ( c ^ 2 – 12 * a * y ) ) / ( 3 * a * ( Math.Sqrt ( ( 72 * a * c * y – 27 * b ^ 2 * y + 2 * c ^ 3 ) ^ 2 – 4 * ( c ^ 2 – 12 * a * y ) ^ 3 ) + 72 * a * c * y – 27 * b ^ 2 * y + 2 * c ^ 3 ) ^ ( 1 / 3 ) ) – ( 2 * c ) / ( 3 * a ) ) – 1 / 2 * Math.Sqrt ( b ^ 2 / ( 2 * a ^ 2 ) – ( ( 4 * b * c ) / a ^ 2 – b ^ 3 / a ^ 3 ) / ( 4 * Math.Sqrt ( b ^ 2 / ( 4 * a ^ 2 ) + ( Math.Sqrt ( ( 72 * a * c * y – 27 * b ^ 2 * y + 2 * c ^ 3 ) ^ 2 – 4 * ( c ^ 2 – 12 * a * y ) ^ 3 ) + 72 * a * c * y – 27 * b ^ 2 * y + 2 * c ^ 3 ) ^ ( 1 / 3 ) / ( 3 * 2 ^ ( 1 / 3 ) * a ) + ( 2 ^ ( 1 / 3 ) * ( c ^ 2 – 12 * a * y ) ) / ( 3 * a * ( Math.Sqrt ( ( 72 * a * c * y – 27 * b ^ 2 * y + 2 * c ^ 3 ) ^ 2 – 4 * ( c ^ 2 – 12 * a * y ) ^ 3 ) + 72 * a * c * y – 27 * b ^ 2 * y + 2 * c ^ 3 ) ^ ( 1 / 3 ) ) – ( 2 * c ) / ( 3 * a ) ) ) – ( Math.Sqrt ( ( 72 * a * c * y – 27 * b ^ 2 * y + 2 * c ^ 3 ) ^ 2 – 4 * ( c ^ 2 – 12 * a * y ) ^ 3 ) + 72 * a * c * y – 27 * b ^ 2 * y + 2 * c ^ 3 ) ^ ( 1 / 3 ) / ( 3 * 2 ^ ( 1 / 3 ) * a ) – ( 2 ^ ( 1 / 3 ) * ( c ^ 2 – 12 * a * y ) ) / ( 3 * a * ( Math.Sqrt ( ( 72 * a * c * y – 27 * b ^ 2 * y + 2 * c ^ 3 ) ^ 2 – 4 * ( c ^ 2 – 12 * a * y ) ^ 3 ) + 72 * a * c * y – 27 * b ^ 2 * y + 2 * c ^ 3 ) ^ ( 1 / 3 ) ) – ( 4 * c ) / ( 3 * a ) ) – b / ( 4 * a )

E oltretutto il mostro precedente è solo una delle quattro possibili soluzioni.


Semplici istruzioni

  • La casella di testo superiore, con titolo “Dot-Net equation”, contiene la formula originale che si vuole elaborare. Questa casella accetta formule copiate direttamente dalle applicazioni. Se le formule sono in formato Dot-Net (VbNet, CSharp o CPP), allora la sintassi viene compresa senza problemi. Se invece provengono da altri linguaggi bisognerà aggiustare manualmente i nomi di alcune funzioni. Le funzioni che variano di più tra un linguaggio e l’altro sono le funzioni trigonometriche (ln, Log, Log10, Pow, Tan, Atan, ecc…).  A volte anche le funzioni copiate da DotNet possono richiedere piccoli aggiustamenti, ad esempio si devono eliminare le funzioni di conversione dei tipi numerici CDbl, CSng, ecc…
    .
  • Premendo il pulsante “Translate” la formula originale viene tradotta in linguaggio matematico. Adesso la seconda casella di testo dovrebbe contenere la formula tradotta, con lettere singole al posto delle variabili, e la lista a destra dovrebbe contenere per ogni lettera la sua variabile corrispondente. Se si vogliono cambiare alcune lettere o renderle minuscole o maiuscole basta cliccare sulla lista.
    .
  • Premendo il pulsante “Solve” la formula della seconda casella viene “Risolta” per una variabile diversa. Se la formula è già nel formato Y=funzione(X) oppure X=funzione(Y), allora la formula viene ribaltata e viene estratto X o Y a seconda del necessario. Altrimenti appare una casella che chiede quale variabile si vuole estrarre.
    .
  • Se al posto di “Solve” si preme “Simplify” allora viene effettuato un tentativo di semplificare la formula. Questo è un compito difficile e non sempre si ottiene qualcosa di utile.
    .
  • Quando si pensa di avere ottenuto una formula valida con “Solve” o “Simplify”, allora è ora di premere “Translate” che ritrasforma la formula in formato comprensibile per i programmi DotNet e per i programmatori. La formula che si ottiene nella casella di testo in basso ha nuovamente i nomi delle variabili originali, i segni di moltiplicazione e le funzioni trigonometriche con nomi comprensibili da DotNet.
    .
  • A volte le formule prodotte da “Solve” o da “Simplify” sono più di una e ogni formula potrebbe anche avere delle condizioni di validità sulla destra. Quando ci sono più formule il tasto “Translate” le trasforma una per una e nella casella in basso le troveremo una dopo l’altra.
    .
  • Una volta che si ha la formula finale nella casella in basso è anche possibile provare la sua validità con il pulsante “Test”, che sostituisce tutte le occorrenze della variabile estratta con la formula completa nella prima casella in alto e anche nella seconda. Fatto questo si preme “Simplify” e, se tutto va bene, nella terza casella dall’alto dovrebbe apparire la parola “True” (possono apparire anche altre formule e condizioni ma l’importante è che appaia anche la parola “True”). Questo test non sempre riesce, perché quando si preme “Test” la formula della prima casella in alto potrebbe diventare troppo complessa per il “Simplify”. Comunque per formule di media complessità di solito questo test funziona, e se termina con “True” si può essere certi di non aver fatto errori.

I pulsanti della riga superiore della applicazione

  • Open Wolfram Alpha – Apre il sito del motore matematico con molte possibilità utili, ad esempio si possono visualizzare i grafici delle funzioni o fare domande di ogni genere.
  • Open CY Math – Apre un altro sito di risoluzione dei problemi matematici. Quando non si riesce a risolvere una formula a volte CY-Math potrebbe aiutare.
  • Open Microsoft Mathematics – In alcuni casi si potrebbe trovarlo utile, ma è abbastanza difficile usarlo. Questo programma deve essere installato sul computer locale. Se non è installato allora si apre automaticamente il sito di Microsoft per installarlo.
  • Math symbols – Apre un file di testo con le principali funzioni matematiche e trigonometriche di DotNet e le corrispondenti funzioni di WolframAlpha.
  • User annotations and examples – Apre un file di testo che contiene molti esempi di formule e dove è possibile scrivere le proprie formule, i tentativi e le annotazioni.

I controlli della riga inferiore della applicazione

  • Text size – Utile per ingrandire il testo o per far stare più righe in poco spazio.
  • Approximated – Cerca soluzioni numeriche approssimate (agisce solo su “Simplify” e “Solve”)
  • More digits – Aumenta il numero di cifre nelle soluzioni numeriche (solo su “Simplify” e “Solve”)
  • Open web page as HTML – Se questa opzione è selezionata i comandi “Simplify” e “Solve” vengono eseguiti nella pagina WEB di WolframAlpha dove è possibile visualizzare le formule anche con la notazione matematica. Ad esempio la formula “mostro” che abbiamo visto qui sopra si presenterebbe come in questa immagine.
  • Open web page as XML – Se questa opzione è selezionata i comandi “Simplify” e “Solve” vengono eseguiti nella pagina WEB di WolframAlpha e il risultato appare nel formato XML.

Tentativi ed errori

Non aspettatevi miracoli, il motore WolframAlpha è potente ma esistono formule non risolvibili, o che per risolverle ci vorrebbe Einstein. In questi casi il “Solve” non si conclude, il motore WolframAlpha non risponde o risponde con qualcosa di inutilizzabile. Anche la funzione “Simplify” può fallire e in alcuni casi potrebbe rendere la funzione ancora più complessa.

Quando il motore WolframAlpha fallisce bisogna però chiedersi se è veramente colpa sua, o se gli stiamo dando una formula “sbagliata”.

Ecco alcuni esempi di errori comuni quando si scrive la formula nella prima casella in alto:

  • Sbagliare il numero di parentesi (un numero diverso di parentesi aperte e chiuse).
  • Dimenticare la variabile iniziale (ad esempio invece di y = x * 3 scrivere x*3 soltanto).
  • Dimenticare i segni di moltiplicazione o usare il carattere “x” al posto di “*”.
  • Lasciare nelle formule funzioni di programmazione, ad esempio (CSng, CDbl, Mod, Sign, Round)
  • Scrivere le funzioni matematiche o trigonometriche con una sintassi non valida per DotNet.
  • Confondere le funzioni trigonometriche (ln al posto di Log, Log al posto di Log10, ecc…).

Quindi fate attenzione: la notazione matematica è diversa da quella che usano i programmatori e le quattro caselle di testo usano notazioni diverse tra loro. La prima in alto è in notazione di tipo DotNet. La seconda dall’alto è scritta in una notazione matematica adatta a farla capire dal motore WolframAlpha. La terza dall’alto è invece nella notazione che WolframAlpha fornisce in uscita. E infine l’ultima in basso è nuovamente in notazione DotNet.

  • Per conoscere la sintassi delle funzioni DotNet e le corrispondenti funzioni WolframAlpha utilizzate il pulsante “Math symbols” che apre una lista con le principali funzioni matematiche e trigonometriche.
  • In caso di dubbi sulla notazione di WolframAlpha consultate queste pagine:  pagina1  e  pagina2 .
  • Per quanto riguarda DotNet consultate queste pagine:  pagina1 e pagina2 (hint for the english people: in the upper-right side of the page there is a language selector).

Se non riuscite a ribaltare una formula provate a semplificarla manualmente. Si può anche spezzare la formula in sezioni più facili da risolvere e fare tentativi diversi in modo da conoscere meglio la formula e le sue particolarità. E se proprio non riuscite, fatevi aiutare da un amico matematico.


L’identificatore di WolframAlpha

Il motore Wolfram Alpha è gratuito ma c’è un limite di duemila richieste ogni mese. Se questo limite verrà superato allora le richieste potrebbero venire rifiutate fino al mese successivo.

Ora state utilizzando il nostro codice e lo utilizzate in comune con tutti quelli che scaricano la applicazione “MathHelper”, ma potete richiedere un vostro codice (per usi non commerciali) e quindi avere duemila operazioni al mese tutte per voi (e sono moltissime).

Per richiedere il vostro codice andate su questa pagina  e utilizzate il pulsante “Get API Access”.

Una volta che avrete il vostro “Wolfram Alpha identifier” dovrete sostituirlo nelle prime righe del file “Theremino_MathHelper_INI.txt”, che si trova accanto al file eseguibile della applicazione.

Per modificare il codice con il vostro codice personale, assicuratevi che la applicazione”MatHelper” sia chiusa e poi aprite il file “Theremino_MathHelper_INI.txt” con Notepad e sostituite le “x” di questo esempio “APP-ID=   xxxxxx-xxxxxxxxxx” con il vostro codice.


Download della applicazione MathHelper
Note per le versioni:
– Versione 3.3 – Prima versione pubblicata.
– Versione 3.4 – Abbiamo corretto alcuni difetti sui nomi delle funzioni e quando si usano lettere minuscole o maiuscole.
– Versione 3.5 – Le caselle di testo rimangono della giusta larghezza anche dopo aver minimizzato la applicazione.
– Versione 3.6 – Corretto un piccolo errore che si verificava premendo Test con la casella inferiore vuota.
Versione 3.7
 – Si può modificare il TextSize con la rotella del mouse, ma solo quando il mouse è sul cursore.
– Aggiunto il collegamento a “Graspable Math”  <— PROVATELO !!! 

Download di Theremino MathHelper – Versione 3.7
Theremino_MathHelper_V3.7
Theremino_MathHelper_V3.7_WithSources (progetto completo per programmatori)
Versione per tutti i Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.


Theremino MathTester

Math Tester application

Questa applicazione è solo uno scheletro dove scrivere le proprie funzioni e provarle. Per utilizzarla si deve installare VisualStudio, saper programmare e anche avere una idea di cosa si vuole ottenere.

Le proprie funzioni di prova vanno scritte nei moduli “TestFunctions” e poi si deve scegliere quale modulo utilizzare nella prima funzione del Form1.

Ci sono già quattro moduli di esempio, i primi due sono uguali tra loro tranne alcune righe del secondo modulo dove abbiamo provato due formule modificate. E anche il terzo modulo è uguale al quarto.

Potete quindi modificare uno di questi moduli e inserire le vostre formule da provare, oppure potete copiare uno dei moduli e quindi crearne un quinto, un sesto e così via (in questo caso si dovranno anche correggere alcuni nomi).


I valori numerici di test

I valori che si ottengono dipendono da cosa devono fare le vostre formule, per cui starà a voi giudicare se sono giusti o sbagliati.

Nella immagine di esempio i valori provengono dal modulo “TestFunctions_1”, nel quale abbiamo scritto le formule per passare da valori numerici a pixel e viceversa.

  • La colonna value contiene i valori di prova
  • La colonna x1 rappresenta i valori convertiti in Pixel sull’asse X
  • La colonna x2 rappresenta i valori riconvertiti dai Pixel nei valori originali
  • La colonna y1 rappresenta i valori convertiti in Pixel sull’asse Y
  • La colonna y2 rappresenta i valori riconvertiti dai Pixel nei valori originali

Nella parte inferiore della immagine si ripetono gli stessi test, ma usando le formule per scale con andamento logaritmico.


Download di Theremino MathTester – Versione 1.0
Theremino_MathTester_V1.0_WithSources (progetto completo per programmatori)
Versione per tutti i Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.


Theremino CurveFitting

Curve Fitting

Questa applicazione trova i coefficienti che approssimano al meglio una curva sperimentale.

Si possono calcolare i coefficienti di equazioni di primo, secondo, terzo… e fino al nono grado. Anche se solitamente si usano quelle di secondo o al massimo di terzo grado.

Non è facile spiegare come si usa, lasciamo questo compito ai matematici. Chi ne ha bisogno dovrebbe sapere a cosa gli serve e come si usa.


Download di Theremino CurveFitting – Versione 1.0
Theremino_CurveFitting_V1.0 
Theremino_CurveFitting_V1.0_WithSources (progetto completo per programmatori)
Versione per tutti i Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.


Theremino WinHelper

Windows 10 - Helper

Questa applicazione è una collezione di utili collegamenti che si usano normalmente e che si fa fatica a trovare per altre strade.

WinHelper è scritto solo per Windows 10. Sui sistemi operativi precedenti alcuni comandi non funzioneranno o daranno errori.

Nella versione 1.1 abbiamo aggiunto il pulsante “Power options” per accedere facilmente alle impostazioni di sospensione e di risparmio energia.

Nella versione 1.2 abbiamo aggiunto il pulsante “Delete icon files” perché le ultime versioni di Windows hanno reso ancora più difficile rinnovare le icone. Abbiamo anche aggiunto la possibilità di eliminare le porte COM non usate e nella barra superiore ora si può leggere il proprio IP pubblico.


La applicazione WinHelper dopo la chiusura rimane disponibile nella barra inferiore. Così la si apre facilmente quando serve e fornisce anche un comodo indicatore del carico sulla CPU.

Windows 10 - Helper - Icons


Download di Theremino WinHelper – Versione 1.2
Theremino_WinHelper_V1.2
Theremino_WinHelper_V1.2_WithSources (progetto completo per programmatori)
Per Windows 10 a 32 e 64 bit.

Note legali 

ITALIANO – HARDWARE: NEI LIMITI PREVISTI DALLA LEGGE il sistema Theremino VIENE FORNITO “COSÌ COM’È”, E NON RILASCIA GARANZIA ESPLICITA O IMPLICITA, RISPETTO ALLA SUA FUNZIONALITA’, OPERATIVITA’, O USO, INCLUSE, SENZA LIMITAZIONE, LE GARANZIE IMPLICITE DI COMMERCIABILITÀ, IDONEITÀ PER UNO SCOPO PARTICOLARE O VIOLAZIONE. SI DECLINANO ESPRESSAMENTE OGNI RESPONSABILITÀ PER DANNI DIRETTI, INDIRETTI, CONSEQUENZIALI, INCIDENTALI O SPECIALI, INCLUSI, SENZA LIMITAZIONI, MANCATI GUADAGNI, PERDITE DI PROFITTI, PERDITE DERIVANTI DA INTERRUZIONE DI ATTIVITA’ O PERDITE DI DATI, INDIPENDENTEMENTE DALLA FORMA DI AZIONE O TEORIA LEGALE SOTTO CUI LA RESPONSABILITA’ VIENE ASSERITA, ANCHE SE NON INFORMATI DELLA POSSIBILITA’ O RISCHIO DI TALI DANNI.
ITALIANO – SOFTWARE: IL SOFTWARE del sistema Theremino E’ UN SOFTWARE LIBERO: E’ POSSIBILE RIDISTRIBUIRLO E/O MODIFICARLO SECONDO I TERMINI DELLA LICENZA “GNU General Public License” COME PUBBLICATA DALLA “Free Software Foundation”, NELLA VERSIONE 3, O QUALSIASI VERSIONE SUCCESSIVA. È POSSIBILE OTTENERE UNA COPIA DELLA LICENZA “GNU General Public License” DA: http://www.gnu.org/licenses
ENGLISH – HARDWARE: THE PRODUCT Theremino System IS PROVIDED TO YOU “AS IT IS”, AND WE MAKE NO EXPRESS OR IMPLIED WARRANTIES WHATSOEVER WITH RESPECT TO ITS FUNCTIONALITY, OPERABILITY, OR USE, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR INFRINGEMENT. WE EXPRESSLY DISCLAIM ANY LIABILITY WHATSOEVER FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR SPECIAL DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST REVENUES, LOST PROFITS, LOSSES RESULTING FROM BUSINESS INTERRUPTION OR LOSS OF DATA, REGARDLESS OF THE FORM OF ACTION OR LEGAL THEORY UNDER WHICH THE LIABILITY MAY BE ASSERTED, EVEN IF NOT ADVISED OF THE POSSIBILITY OR LIKELIHOOD OF SUCH DAMAGES.
ENGLISH – SOFTWARE: THE Theremino System SOFTWARE IS FREE SOFTWARE: YOU CAN REDISTRIBUTE IT AND/OR MODIFY IT UNDER THE TERMS OF THE “GNU General Public License” AS PUBLISHED BY THE “Free Software Foundation”, EITHER VERSION 3 OF THE LICENSE, OR ANY LATER VERSION. YOU CAN GET A COPY OF THE “GNU General Public License” FROM: http://www.gnu.org/licenses
 

Comments are closed.