un attimo...
pagine varie
home
compilatore
compilatore di programmi per Theremino
elettriciamo
appunti di elettronica/elettrotecnica
laboratoriamo
laboratorio
login
accedi o esci
Arduino
compilatore di programmi per Arduino
Processing
compilatore di programmi per Processing
File
nuovo programma
apri programma
salva programma
esporta programma
partecipa al laboratorio
inizia un laboratorio
rivedi un laboratorio svolto
login
Modifica
annulla
ripristina
seleziona tutto
inverti selezione
deseleziona tutto
seleziona attrezzaggio
seleziona ciclo
dopo
riga 1
riga 2
riga 3
riga 4
riga 5
riga 6
riga 7
riga 8
riga 9
riga 10
riga 11
riga 12
riga 13
riga 14
riga 15
l'ultima riga
sposta
le righe selezionate.
copia
le righe selezionate.
incolla
dagli appunti.
copia negli appunti
le righe selezionate,
per utilizzarle in un altro programma.
cestina
le righe selezionate.
magazzino
Aggiungi una variabile
attrezzaggi predefiniti
"Arduino Esplora"
"Arduino Robot"
Danger Shield - Sparkfun
CodeShield
LED
Aggiungi un led verde
Aggiungi un led giallo
Aggiungi un led rosso
Aggiungi un led blu
Aggiungi un led RGB
Aggiungi un led bicolore
Aggiungi una matrice di LED
Aggiungi un led a 7 segmenti
attuatori
Aggiungi un altoparlante
Aggiungi un motore con driver
Aggiungi un motore
Aggiungi un servo
Aggiungi un relè
Aggiungi un emettitore IR
Aggiungi un display lcd
sensori
Aggiungi un pulsante
Aggiungi un interruttore
Aggiungi un potenziometro
Aggiungi un encoder
Aggiungi una fotoresistenza
Aggiungi un sensore di temperatura
Aggiungi un sensore di umidità
Aggiungi un microfono
Aggiungi un sensore ultrasuoni
Aggiungi un telecomando IR
Aggiungi un ricevitore IR
Aggiungi un generico attuatore
Aggiungi un generico sensore
azioni
attendi per un certo tempo
spegni/accendi
aziona modulando il voltaggio
aziona un servo motore
suona una nota
legge da un sensore
rileva lo stato di un pulsante
legge durata di un impulso
trasforma una variabile
se accade quello fai questo
ripeti n volte
crea una funzione mia
richiama una funzione mia
aggiungi un commento
aggiungi un segnablocco
genera un numero casuale
timer
millisecondi trascorsi
leggi dalla porta seriale
scrivi sulla porta seriale
scrivi su un display LCD
Visualizza
italiano
inglese
stile
clear
stile
space
stile
classic
ingrandisci carattere
riduci carattere
pagine
appunti sull'elettricità
guida
contatti
messaggi
stile modificato
file
file:
theremin
di
note:
stile -->
clear
classic
space
lingua -->
magazzino
azioni
modifica
seleziona tutto
inverti selezione
deseleziona tutto
seleziona attrezzaggio
seleziona ciclo
copia negli appunti
le righe selezionate.
cestina
le righe selezionate.
Dopo la
riga 1
riga 2
riga 3
riga 4
riga 5
riga 6
riga 7
riga 8
riga 9
riga 10
riga 11
riga 12
riga 13
riga 14
riga 15
riga 16
ultima riga
sposta
le righe selezionate.
copia
le righe selezionate.
incolla
dagli appunti.
prontuario
i pin di Theremino
circuiti notevoli
tabelle varie
tabella colori
tavola dei simboli
piedinature
resistenze
attrezzaggio
riga:1
slot 0
slot 1
slot 2
slot 3
slot 4
slot 5
slot 6
slot 7
slot 8
slot 9
slot 10
slot 11
slot 12
slot 13
slot 14
riga:2
slot 0
slot 1
slot 2
slot 3
slot 4
slot 5
slot 6
slot 7
slot 8
slot 9
slot 10
slot 11
slot 12
slot 13
slot 14
riga:3
slot 0
slot 1
slot 2
slot 3
slot 4
slot 5
slot 6
slot 7
slot 8
slot 9
slot 10
slot 11
slot 12
slot 13
slot 14
pin impegnati: 3
dichiara le variabili
riga:0
=
intero
decimale
testo
array
riga:5
=
intero
decimale
testo
array
riga:6
=
intero
decimale
testo
array
interfaccia
ciclo
riga:7
ACCENDI (5 Volt)
il
...
_Emettitore
riga:8
ATTENDI
millisecondi
riga:9
SPEGNI (0 Volt)
il
...
_Emettitore
riga:10
la variabile
...
X
durata
distanza
diventa uguale alla durata dell'impulso dal sensore:
...
_Ricevitore
riga:11
la variabile
...
X
durata
distanza
è uguale a
è uguale alla espressione
aumenta di
diminuisce di
si moltiplica per
si divide per
( ) + - * / ^
riga:12
scrivi sulla porta seriale:
...
X
durata
distanza
vai a capo
riga:13
ATTENDI
millisecondi
riga:14
la variabile
...
X
durata
distanza
è uguale a
è uguale alla espressione
aumenta di
diminuisce di
si moltiplica per
si divide per
( ) + - * / ^
riga:15
scrivi sulla porta seriale:
...
X
durata
distanza
vai a capo
riga:16
SUONA la nota
pausa
si
0 do
0 do#
0 re
0 mib
0 mi
0 fa
0 fa#
0 sol
0 sol#
0 la
0 sib
0 si
1 do
1 do#
1 re
1 mib
1 mi
1 fa
1 fa#
1 sol
1 sol#
1 la
1 sib
1 si
2 do
2 do#
2 re
2 mib
2 mi
2 fa
2 fa#
2 sol
2 sol#
2 la
2 sib
2 si
do centrale
3 do#
3 re
3 mib
3 mi
3 fa
3 fa#
3 sol
3 sol#
3 la
3 sib
3 si
4 do
4 do#
4 re
4 mib
4 mi
4 fa
4 fa#
4 sol
4 sol#
4 la
4 sib
4 si
5 do
5 do#
5 re
5 mib
5 mi
5 fa
5 fa#
5 sol
5 sol#
5 la
5 sib
5 si
6 do
6 do#
6 re
6 mib
6 mi
6 fa
6 fa#
6 sol
6 sol#
6 la
6 sib
6 si
7 do
7 do#
7 re
7 mib
pausa
di frequenza
...
X
durata
distanza
hertz
per un tempo di:
millisecondi
//programma: theremin //******* pin ******** const int pin_altoparlante=11;//il piedino più lungo è quello positivo e va al pin_altoparlante, l'altro al GND const int pin_Emettitore=9;//pin dell'attuatore ultrasuoniE const int pin_Ricevitore=8;//pin del sensore ultrasuoniR //******* dichiarazioni ******** static int X=0;//dichiara la variabile static int durata=0;//dichiara la variabile static int distanza=0;//dichiara la variabile //********** ciclo ********** static void Main_Thread(){ WriteSlot(pin_Emettitore,1000); // accendi/spegni PausaMS(10);//attendi WriteSlot(pin_Emettitore,0); // accendi/spegni durata=pulseIn(pin_Ricevitore,HIGH);// durata dell'impulso in microsecondi distanza=durata*0.1720; Serial.print(" _distanza_(mm)= ");//scrive sulla seriale Serial.print(distanza);//scrive sulla seriale PausaMS(100);//attendi X=distanza*10; Serial.print(" _-_-_-_frequenza= ");//scrive sulla seriale Serial.println(X);//scrive sulla seriale tone(pin_altoparlante,X,100); } // --------------------------------------------------- // Questa funzione viene chiamata 20 volte al secondo static void Timed_Update(){ } // -------------------------------------------------------------- // --- Funzioni che vengono chiamate al verificarsi di eventi --- // ------------------------------------------ // -- Componenti della interfaccia utente --- static Label Label1 = new Label(); static void InitializeComponents(){ // ------------------------------------------------------------------ Form Form1.Text= "Theremino Script - theremin "; Form1.ClientSize= new Size(640,420); Form1.MinimumSize= Form1.Size; Form1.BackColor= Color.FromArgb(255,255,220); Form1.StartPosition= FormStartPosition.CenterScreen; // ------------------------------------------------------------------ Casella di testo Label1.BorderStyle= BorderStyle.Fixed3D; Label1.Location= new Point(10,10); Label1.Font= new Font("Comic Sans MS",11 ); Label1.Size= new Size(620,21); Label1.BackColor= Color.FromArgb(255,222,173); Label1.Anchor= AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; Form1.Controls.Add(Label1); } // ----------------------------------------------------------- // Funzioni di utilità semplificate // ----------------------------------------------------------- static void PausaMS(Int32 mS){ System.Threading.Thread.Sleep(mS); } static void Beep(){ System.Media.SystemSounds.Beep.Play(); } // =========================================================== // LA GESTIONE SEMPLIFICATA FINISCE QUI // MODIFICARE LA PARTE SEGUENTE CON ATTENZIONE // =========================================================== static Form Form1; static void Main(String[] pars) { if (Form1 != null) return; Form1 = new Form(); Form1.Closing += new CancelEventHandler(Form1_Closing); Application.EnableVisualStyles(); Form1.SuspendLayout(); InitializeComponents(); Form1.ResumeLayout(); Form1.PerformLayout(); StartMainTimer(); StartMainThread(); Form1.Show(); while(Form1.Visible) { Application.DoEvents(); System.Threading.Thread.Sleep(1); } } static void Form1_Closing(Object myObject, EventArgs myEventArgs){ MainTimer.Stop(); MainThread.Abort(); } // ------------------------------------------ Main Thread static System.Threading.Thread MainThread; static void StartMainThread(){ MainThread = new System.Threading.Thread(ExecuteThread); MainThread.IsBackground = true; MainThread.Priority = System.Threading.ThreadPriority.AboveNormal; MainThread.Start(); } static void ExecuteThread(){ while (true) { Main_Thread(); System.Threading.Thread.Sleep(1); } } // ------------------------------------------- Main Timer static Timer MainTimer; static void StartMainTimer(){ MainTimer = new Timer(); MainTimer.Tick += new EventHandler(Timer1_Tick); MainTimer.Interval = 50; MainTimer.Start(); } static void Timer1_Tick(Object myObject, EventArgs myEventArgs){ Timed_Update(); } //codice creato con //www.mastrohora.it
copia/incolla in Theremino Script (Ctrl+C CtrlV)
logout