Sei sulla pagina 1di 66

5

Minibloq + Arduino
Utilizzando l'ambiente di programmazione per la programmazione Minibloq Arduino scheda

Ver 1.0

Jose Manuel Ruiz Gutirrez

Strumenti grafici per la programmazione Arduino

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

Indice

1. Scopo di questo lavoro. 2. An Introduction to Minibloq 3. Uscita intermittente 4. Frequenza di uscita intermittente controllata da un canale ingresso analogico 5. Governo da una uscita del sensore. Metodo 1. 6. Governo da una uscita del sensore. Metodo 2. 7. Semaphore. 8. Semplice contatore. 9. Avanti / indietro. 10. Contatore a "zero". 11. Generatore di impulsi. 12. Logic funzione. 13. Movimento ciclico di 180 -180 o servo. 14. Semplice servocomando posizione (180 ) 15. Semplice controllo di un motore in corrente continua. 16. Velocit controllo di un motore DC. 17. Accelerazione di un motore DC. 18. Lettura di un canale di ingresso analogico. 19. Simulazione di un termostato. 20. Trasferimento di un ingresso valore analogico in uscita analogica 21. Termostato con LED e sensore LM35 22. Generazione di note musicali 23. ALLEGATO

Gennaio 2012 Versione del documento: V1.0 Jose Manuel Ruiz Gutirrez jmrgutierrez@gmail.com Riferimento Blog: http://josemanuelruizgutierrez.blogspot.com/
2

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

1. Scopo di questo lavoro.


Con questo numero 5 della rata Strumenti della serie 'per la Grafica Arduino di programmazione " avvicina a un tipo di strumenti che permettono programma completo di scheda Arduino, ponendo su di esso il codice compilato l'applicazione, vale a dire parlando di strumenti come Arduino IDE, ma in questo caso in modalit grafica. Il linguaggio di programmazione Arduino una variante molto semplice della lingua personalizzata C in modo che in linea di principio facile rendere semplici esempi che programmare la scheda, ma ancora essere facile da programmare sin dal suo software di base molto interessante disporre di strumenti grafici. In questo caso la preparazione di programmi avviene tramite un'interfaccia grafica che ha alcune librerie funzioni integrate in blocchi grafici possono essere assemblati in un sorta di "Workflow", che rappresentare il "algoritmo" dell'applicazione. Questo articolo discute uno strumento che credo abbia molti possibilit di successo nella comunit di Arduino dal momento che anche un software libero. In questo articolo vi porto una raccolta di esempi che permettono al lettore comprendere le possibilit di questo strumento e vi incoraggio a continuare a dare Arduino conoscenza, una delle piattaforme hardware pi interessanti e Open diffusa nel mondo. Mettere in comunit internazionale Arduino questo lavoro per me un soddisfazione perch ho fornire un "po '" conoscenza e la loro diffusione libera e pubblico attraverso strumenti gratuiti pubbliche. Minibloq basato interamente su software open source. E 'anche basata su componenti software. Pertanto, costituito da pacchetti diversi. Ognuno di questi pacchetti possono includere il file di licenza. Ringrazio sinceramente Julian U. Gillig da Silva autore di Minibloq

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

2. Un'introduzione alla Minibloq


Panoramica
Minibloq ambiente di programmazione grafico per Arduino , Multiplo, dispositivi hardware per computer e robot. Uno dei suoi obiettivi principali quello di portare physical computing e le piattaforme di robotica a scuola primaria, bambini e principianti. Caratteristiche Minibloq in fase di sviluppo. Queste sono le caratteristiche implementate nel l'ultima versione di lavoro Bastano pochi click e il tuo primo programma in esecuzione. Codice viene creato quando si l'aggiunta di blocco o modificare i valori dei parametri, il che dimostra il codice i colori delle finestre in una sintassi. Cos, facilita Minibloq transizione alla programmazione testuale.

zoom, taglia e incolla, agganciabile finestre, e la tastiera navigazione sono solo alcune delle caratteristiche del GUI di Minibloq. E altro ancora ... Vi un terminale integrato che consente di inviare e la scheda ricevere dati tramite seriale / USB. Si tratta di "batterie incluse software." Il pacchetto include tutto ci per iniziare. Non richiede l'installazione (fatta eccezione per i driver necessari per le schede specifiche, come Arduino ). Pu essere eseguito da una pen drive troppo. Oh, e viene eseguito interamente off-line, il tutto in proprio computer. Per maggiori informazioni: possibile avere copie in parallelo Minibloq, anche con impostazioni diverse in esecuzione sul computer stesso. Si tratta di un'applicazione nativa, compilato con C + + (GCC) con wxWidgets. Per questo motivo, computer Minibloq adatto per fascia bassa e
4

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

notebook. E comprende anche i kernel precompilati costruito e scarica i programmi rapidamente. L'utente pu creare nuovi blocchi propria.

Prossimi caratteristiche
Il programma disponibile gratuitamente, nella sua versione completa. Nessuna spesa per le funzioni avanzate o simili. Solo scaricare e iniziare ad usarlo. Inoltre, il codice sorgente completo anche essere disponibile. La licenza si chiama RMPL (RobotGroup-Multiplo-pacifistaLicenza). Questa licenza fondamentalmente una licenza MIT, ma con una restrizione divieto di progetti militari.

Facile integrazione con nuovo hardware: Aggiunto il supporto per le nuove piattaforme e piastre sar semplice. Questo pu non essere una caratteristica di principianti, ma non cos difficile comunque. Compilatori e linguaggi diverso, qualcuno potrebbe aggiungere. Internazionalizzazione: La prima versione sar disponibile in inglese e spagnolo, ma l'utente e la comunit pu contribuire nuove traduzioni, e ci comporta solo la modifica di un file di testo.

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

Come si usa:
Scaricare lo strumento http://blog.minibloq.org/~~V Dopo aver installato il software sufficiente avviare il programma e visualizza l'ambiente:

Processo da seguire: 1. Scheda scelto dal gruppo di carte che comunica Minibloq.

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

2. Si collega la scheda alla porta USB e lasciando pochi secondi per la rilevata software seleziona la porta che connesso in luogo ambiente corrispondente.

3. Ora siamo pronti per iniziare la programmazione di blocchi e trascinando inserendoli nella cornice. Ogni blocco deve essere programmato con i suoi parametri.

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

4. Se vuoi puoi aprire il codice e vedere come va scrivere il codice in mezzo mettiamo blocchi della nostra applicazione.

5. Dopo aver inserito il "Run" programma trasmessa alla scheda interessato. Ogni componente ha dei parametri che sono configurabili Ad esempio in figura mostra il blocco menu di configurazione sincronizzazione

I blocchi sono disponibili per la programmazione Arduino:

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

Alla fine di questo manuale fornisce un ELQ ALLEGATO eu sono citati in tutta la Minibloq blocchi.

Un Arduino Minibloq visto. 9

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

3. Uscita intermittente
Il nostro primo esercizio sar acceso e spento LED diodo collegato a 13 pin di uscita della scheda Arduino. Il programma che devi fare attivare il pin di uscita 13 per 0.2 sec. E disattivarla per 1 sec. In un ciclo continuo.

1. Usiamo il blocco "Mentre" per essere attivato quando

mantenendo lo status di vero .

2. All'interno di questo ciclo con il blocco "IOPin (Setter) " condizione vera (luce) si rivela essere il PIN D13_LED 13, Arduino card. 3. Quindi effettuare la sincronizzazione (uscita tempo attivo) da bloccare "Retaso" per 200 ms di 0,2 sec.

con l'

4. Il passo successivo quello di disabilitare il pin di uscita 13 e farlo di nuovo con il bloccare "IOPin (Setter) " (Off).

solo che questa volta abbiamo messo il falso costante

5. Infine si pongono ancora una volta uno dei "Delay" Timing blocco
(Time-off) per 1000 ms. Ie 1 sec.

Nella foto seguente si vede l'algoritmo completo indicato accanto al l' codice generato per essere compilato e scaricato l'applicazione quando si preme il pulsante "Esegui"

10

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

Il montaggio di questo primo esempio molto semplice ed mostrato nella seguente immagine.

11

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

4. Uscita intermittente con controllo della frequenza da un canale di ingresso analogico.


In questo esempio controllare la frequenza di arresto uscita ON / OFF Pin 13 con un valore che raccolte tramite uno dei Arduino ingressi analogici Analog0 Si definisce una variabile che chiameremo "Frequency" questo solo l' Apprezziamo il tempo e Ta = tempo in tempo = off. In questo caso entrambi ve li renderemo uguali, cio: Te = Ta = Frequenza Quando si assegna il valore alla frequenza abbiamo scala, vale a dire si moltiplicano, 10 gen questo caso perch il valore che pu essere letta sul canale Analog0 da 0 a 1024. = frequenza valor_Analog0 * 10 Il programma mostrato in figura, il seguente: 1. Innanzitutto forzare il valore della frequenza variabile a zero per questo usiamo il blocco "Variabile" in cui digitare il nome di

la variabile come un parametro di input e mettiamo il valore "Numero" "Zero"

2. Quindi, posizionare il blocco "Mentre" essere innescato

mantenendo la condizione vera . 3. All'interno del ciclo le prime operazioni assegnato alla variabile spesso Canale analogico valore 0 "Sensor0" moltiplicato per 10. Questo sar ottenere con il blocco "variabile" l'ingresso abbiamo messo la

12

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

risultato di una operazione matematica "X" in cui i primi dati sono sensor0 canale e il secondo il valore numerico 10

4. Si imposta il pin di uscita 13 attraverso il blocco "IOPin (Setter) "


condizione vera (on)

con l'

5. Quindi effettuare la sincronizzazione (uscita tempo attivo) attraverso il blocco "Retaso" per tutto il tempo in questo caso si associa con la variabile "frequenza".

6. Il passo successivo quello di disabilitare il pin di uscita 13 e farlo di nuovo con il blocco "IOPin" solo che questa volta abbiamo messo il falso costante (off).

7. Infine si pongono ancora una volta uno dei "Delay" Timing blocco (tempo uscita off) tempo in questo caso si associa con la variabile "frequenza".

13

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

La figura seguente mostra l'algoritmo completo.

Di seguito lo schema elettrico dei componenti

14

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

5. Governo da una uscita del sensore. Method1


Vuoi governare un pin di uscita digitale 13 di azionamento di un pin di ingresso digitale 2 a cui abbiamo posto un pulsante. Il programma molto semplice. Dal blocco "IOPin (setter)" assegnato D13_LED equivalente al pin 13, che, come input, abbiamo fissato il valore consegna tipo di blocco "IOPin (collettore)" a cui abbiamo assegnato il valore di D2
ala corrisponde Arduino ingresso pin 2

Nella foto seguente si vede l'aspetto del programma.

Lo schema di montaggio la figura seguente.

15

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

6. Governo da una uscita del sensore. Method2


In questo secondo metodo si regola anche una uscita digitale Pin 13 dal funzionamento di un pin di ingresso digitale 2 a cui abbiamo messo un pulsante. Il programma dovrebbe essere installato come segue.

1. Sarebbe come sempre il ciclo "ripetere" sempre attivo 2. Il programma in questo caso, comprende una struttura condizionale in cui
condizione lo stato del perno 2 di ingresso che rilevato dal funzi one

"IOPin (collettore)" . 3. Se vero che il pin di ingresso 2 passa "true" e poi eseguire la parte se la utilizzando la condizionale "IOPin (setter)"

4. Se la condizione D13_LED allora l'uscita impostata su "false" attraverso istruzione "IOPin (setter)"

Nella foto seguente si vede l'aspetto del programma.

16

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

Lo schema di montaggio la figura seguente.

17

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

7. Luce
In questo esempio si esibir in un semaforo. Useremo le seguenti uscite Red Lamp Pin 13 Red Tr = 2 sec. PIN 11 Lamp Amber Amber Ta = Tempo 1sec Lampada PIN 10 Green Green Tv = Tempo di 2 sec.

Il programma molto semplice accesa e spenta in sequenza aporpoiada lasciando le tre luci tra ciascuna secuancia i tempi corrispondenti.
18

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

Abbiamo utilizzato per funzioni quali "IOPin (setter)" sia per l'accensione di arresto.

Off On I tempi sono stati realicado blocchi funzionali di tipo "Delay"

L'immagine seguente mostra il montaggio del circuito basetta.

19

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

8. Semplice contatore
Il conteggio una funzione utile in sistemi per questa ragione che Poi prenderemo in considerazione il seguente esempio. Si tratta di andare a contare gli impulsi in arrivo tramite un ingresso digitale PIN 2. Per vedere che conta usiamo il terminale visualizacio0n porta Minibloq incorporante software attraverso questo terminale vedr come aumentare il valore del contatore non appena vengono ricevute il polso conta.

Nella figura sopra possiamo vedere quanto sia grave l'algoritmo per questo applicazione e il codice generato.
1. Per prima cosa definire una variabile che chiameremo "count" da

Funzione "variabile (create)" blocco


20

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

2. Il blocco seguente implementa un continuo ", mentre" la ripetizione 3. Poi si inserisce un blocco condizionale "se" nel che la condizione che l' Ingresso D2 "true"

4. Prossimo mettere un tipo "serie (setter)" blocco con la quale inviato al Arduino USB consignemos porta il valore che, in questo caso il variabile "Count"

5. Il seguente di aumentare la variabile "Conte", un blocco funzione del tipo "La variabile (assegnazione)"

6. Infine un ritardo stato posizionato in modo che il rinfresco del valore di variabile per mostrare che ogni tanto da permettere una facile lettura. Noi vediamo nella foto qui sotto l'aspetto della finestra di visualizzazione dei valori ha ricevuto al porto.

21

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

Questo lo schema di installazione su richiesta della carta breadboard.

22

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

9. Avanti / indietro
Questa una variante del precedente esercizio in cui vogliamo avere a in avanti o indietro con due ingressi digitali e Digital3 Digilal2 corrispondente al pin pin 2 e 3 del PIN Arduino rispettivamente. Allo stesso modo abbiamo fatto nel precedente esempio definiamo contare variabile che memorizza il valore del contatore. Questa volta avremo due cicli come "se" uno per ciascuno dei due ha operations "Count" e"Sconti" 1. Attualizzazione:

Escludendo per il ciclo si verifica lo stato della variabile di ingresso digitale Digital3 PIN 3 e se vero che aumentare il contatore abilitato da un tipo di blocco funzionale "La variabile (assegnazione)" in cui l'ingresso conteggio -1: count = count -1

2. Non dimenticate che anche utilizzato il tipo di blocco "Serie (setter)" da che abbiamo inviato al Arduino porta USB consignemos il valore che, in questo Se la variabile "Count"

3. Conte. In questo caso i test condizionali l'ingresso di conteggio avanti 2 e PIN il resto identico a quello esempio semplice contatore.
23

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

Questo lo schema a blocchi dell'applicazione.

24

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

Questa l'assemblea che deve essere eseguita per testare l'applicazione.

25

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

10. Contatore con fare "zero"


Questo questo esempio si desidera eseguire il "reset" il valore della contrastare. Per questo spettacolo avr due pulsanti collegati agli ingressi Digital3 Digilal2 e perni digitali per PIN 2 e PIN 3 della scheda Arduino rispettivamente. Digital2 (PIN 2) sar l'impulso per l'inserimento di conto Digital3 (PIN 3) sar l'ingresso di reset Allo stesso modo abbiamo fatto nel precedente esempio definiamo contare variabile che memorizza il valore del contatore. Questa volta avr due cicli di tipo "S" uno per ciascuno dei due operazioni "Mettere zero " e"Count"

1. Ripristina loop. In questo caso di montare un ciclo condizionale tipo "S" la cui condizione di esecuzione si trova premuto il pulsante posto al D3 all'ingresso PIN 3 della carta. Se la variabile vero eseguire: count = 0 2. Loop account. Questo esattamente come nei casi precedenti. Il ciclo eseguito ogni volta che si immette un valore "True" D2 dal pin di ingresso 2 della carta Arduino: count = count +1 3. Viene fornito come nei casi precedenti visualizzare il valore di variabile count utilizzando lo strumento del terminale Minibloq

Nella figura qui sotto vediamo lo schema grafico dell'algoritmo da creare insieme con il codice generato per inviare il IDEArduino

26

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

Il seguente il montaggio della domanda.

27

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

11. Generatore di impulsi


In questa applicazione si generer cinque impulsi al pin di uscita 13 di uscita quando si preme un pulsante precedentemente collegato al PIN della carta di ingresso D2 2 Arduino. Variabili del programma sono i seguenti: memorizza il proprio stato d'animo Pin 13 Uscita impulsi PIN 2 Tasto per ordinare Enteada dell'impulso generazione 5 Descrizione del programma: 1. La prima azione quello di mettere la variabile count = 0

2. Poi, in un ciclo continuo verr eseguito due bulces "Nested" (Uno dentro l'altro). 3. Il primo ciclo sar per verificare se l'impulso di comando per generare 5 gli impulsi che provengono dal D2 ingresso

4. Poi. Se la condizione di essere generalmente 5 impulsi. Da peguntaremos con un caso condizionale nemmeno contare <5 (non generato di legumi secchi) non pu dimenticare che il primo impulso il numero "0" in modo l'ultimo numero contato deve essere di 4

28

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

5. Quello che dobbiamo fare ora inviare il valore della "Count" porta per la visualizzazione sul terminale.

6. Poi il conteggio variabile viene aumentata

7. Poi passato a generare un impulso al pin di uscita 13.

8. Infine, fuori dal giro nel circuito di cui sopra dovrebbe essere messo a zero count variabile poich si presume che, se il conteggio condizione <5 perch ha gi raggiunto la fine di esso.

Poi nella pagina successiva mostra il programma completo.

29

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

30

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

La figura seguente mostra il montaggio su breadboard.

31

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

12. Funzione logica


Con questo esempio si intende dimostrare come programmare le funzioni logiche pueen da Minibloq. Faremo eseguire una funzione con tre variabili di ingresso D2, D3 e D4 (PIN 2, PIN 3 e PIN 4 Arduino). L'uscita sar pin di uscita digitale 13 del D13_LED Arduino. La funzione : D13_LED = (D2 ' O D3) e D4 Risoluzione modalit.
1. Noi utilizziamo un tipo di blocco funzionale "S" dove abbiamo messo la condizione utilizzando gli operatori "e", "o" e "non".

2. Nella parte della "condizione soddisfatta" mettere un blocco "IOpin (setter)" con cui attivare l'uscita D13_LED. 3. Se la condizione soddisfatta n disabilitare l'uscita con un blocco "IOpin (Setter) "

32

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

Il codice generato il seguente:

Applicazione dello schema.

33

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

13. Movimento ciclico 180 -180 di un servo.


Con la prossima assemblea effettuato il movimento ciclico di un servo (180 ) Tipo: Da 0 a 180 e 180 a 0 a passi di due gradi. Questa la posizione servo nella "posizione di riferimento (0 )" e da questo fare un passo verso l'alto a passi di 2 per arrivare a 180. Prossimo viene fatto ritorno alla posizione di 0 a passi di 2 . Essa si basa sulla realizzazione di due cicli che eseguono fino a 90 volte. Processo: 1. Per prima cosa mettere il servo in posizione 0. "ServoRC (setter)"

2. Il completamento del primo ciclo: Questo ciclo viene eseguito prima del 90 volte. Avanzando il servo fatto con l'aggiunta di 2 rispetto alla posizione precedente (partenza 0 ) con ritardi di 0,1 secondi. "ServoRC (setter)" e"Delay"

3. Forma di Attuazione del secondo ciclo: In questo secondo ciclo viene eseguita anche durante 90 volte. La diminuzione di servo avviene essendo 2 nella posizione precedente (Partenza da 180 ) con ritardi di 0,1 secondi. "ServoRC (setter)" e "Delay"

34

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

Qui vediamo l'intera struttura.

35

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

Lo schema di montaggio il seguente.

Eravamo abituati a praticare un servo: Futaba S3003

36

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

14. Semplice servocomando posizione (180 )


Controllo della posizione di un servo molto comune nei sistemi Controllo. In questo esempio esegue il controllo della posizione (angolo rivolto) uno servo aiutando uno degli ingressi analogici di Arduino Analog0 (sensor0 in Minibloq nomenclatura) che verr inserito un potenziometro. Il servo di tale atto il Servo 0 Minibloq attuare il software collegato al terminale pin 6 della scheda.

L'algoritmo semplice. 1. Viene prima azzerare la posizione di servo (posizione di riferimento o riposo) per blocco "ServoRC (setter)" 2. Quindi nel ciclo di ripetizione viene restituito al blocco "ServoRC (Setter)" 3. Il parametro che abbiamo messo il servo (angolo di rotazione) ottenuta da un semplice calcolo, che viene attuato lo stesso algoritmo: 4. Angolo * 1,8 = Valore sensor0

37

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

5. Ci avviene perch il valore massimo che misurano i sensori in questo Minibloq attuazione 100 in modo che il valore massimo di Angolo (180) dobbiamo moltiplicare per 1,8 Poi vediamo il codice generato pro Minibloq

Lo schema di montaggio il seguente.

Eravamo abituati a praticare un servo: Futaba S3003

38

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

15. Semplice controllo di un motore in corrente continua.


In questo caso avremo il controllo di un motore a corrente continua che marciano in avanti ad una velocit di 45 durante 1sec. e indietro alla stessa velocit 45 per 1 sec. Questo sar come tenere un pulsante collegato D9 al pin di ingresso digitale 9 di Arduino

39

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

Il motore controllato da un circuito integrato o SN754410 L293NE

40

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

Outline breadboard mount.

41

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

16. Velocit controllo di un motore DC.


In questo esempio controllare la velocit di un motore DC. Attraverso l' valore di un sensore posto al Analogica1 all'ingresso scheda Arduino (in sensor0 Minibloq applicazione) Dopo aver selezionato il blocco di partenza "Mentre", al suo interno, si blocca "Motor (setter)" il cui parametro di ingresso il valore consegnato dal sensor0. Di seguito riportato il programma di grafica e codice.

Nella figura vediamo l'assemblea deve essere eseguita.

42

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

17. Accelerazione di un motore DC.


Nell'esempio seguente si sposter un motore a corrente continua. Variabile associata motor0 di Minibloq. 1. L'applicazione viene distribuita attorno a un blocco "Mentre"
definito con motor0 <100 come input perch vogliamo essere volato il ciclo 100 volte, raggiungendo il valore massimo di 100 come velocit

2. L'ingresso al valore del parametro stessa velocit del motore viene alimentato da velocit di sopra del quale si ottiene blocco "Motor (collettore)"

motore uscite del controllore. Si aggiunger 1 a questo valore

3. stata completata con un ritardo "Delay" di 0,1 sec. per tali aumenti velocit sono pi evidenti. 4. Infine, eseguire il ciclo si arresta il motore

43

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

Poi scrivete il codice generato.

Questa la basetta di montaggio.

44

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

18. Lettura di un canale di ingresso analogico


In questo esempio vogliamo leggere il valore di un canale di ingresso Analog1 analogica (sensor0 di Minibloq) Arduino Carta e mostrare il proprio valore nel schermo "Terminal" Minobloq ambiente. Il programma molto semplice. All'interno del loop messo continua bloccare l'accesso in scrittura alla porta per alimentare il "sensor0" "Serie (setter)" Esso introduce un ritardo di 0,1 sec. per visualizzare il valore nella "Terminal" di Minibloq. .

Nella figura si vede l'applicazione basetta di montaggio.

45

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

19. Simulazione di un termostato


In molti sistemi di controllo automatici e lo stato di un valore digitale uscita dipende dal valore di una variabile di ingresso analogico. Questo il caso tipico di un "termostato"

Processo da seguire. 1. Questa volta definiamo la variabile di ingresso analogico e temp e assegnare "0" "variabile (create)" 2. Questa variabile, come nel ciclo continuo del programma, riassegnato al valore assunto dal canale Analog0 Arduino equivalente

46

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

Variabile Minibloq sensor0 del canale analogico di Analog0 sensor0 funzione "La variabile (assegnazione)" 3. Che poi procedere a stabilire un composto condizionale "S, s no " che viene interrogato dal valore di "Temp" stabilito che:

se temp <20 poi pin di uscita digitale a 13 = true "Digital Power 13" e se la condizione non soddisfatta PIN 13 = false "Digital 13 off"

La disposizione del circuito il seguente.

47

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

20. Trasferimento valore analogico di ingresso ad un uscita analogica


Nell'esempio seguente sceglier un valore da un canale di ingresso analogico "Analgica1" Arduino scheda "Sensor0" Minibloq e capo di uno dei PIN 5 uscite analogiche, PWM5 di Minibloq Il seguente il contorno della domanda

Questo il codice generato

48

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

Il seguente il contorno della domanda

49

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

21. Termometro con LED e sensore LM35


La seguente applicazione consente la lettura di un canale di ingresso analogico Analog1 Arduino e sensor0 di Minibloq, e poi confrontare con un intervalli di valori che hanno permesso al governo di 3 uscite digitali. Prima di tutto definiamo una chiamata variabile analogica "Temp" e il cui valore viene assegnato al canale Analog1 Scheda Arduino per blocco funzione "La variabile (assegnazione)" (temp -> Sensor0) Le uscite per governare sar 3: PIN 10, PIN 11 e pin13 (D10, D11 e D13 Minoibloq) Le condizioni stabilite per il governo delle uscite sono date dagli intervalli elencati nell'intestazione delle funzioni condizionali "S" Se temp <30 poi PIN 10 = true

50

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

Se 70> temp> 30 allora PIN 11 = true

Se temperatura> 70 allora Pin 13 = true

51

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

52

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

L'elenco codice generato il seguente.

53

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

Di seguito riportato lo schema di installazione su breadboard di questo applicazione. stato preso come un sensore a semiconduttore sensore di temperatura LM35

54

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

22. Generazione di due note musicali


Sappiamo che Arduno e pu generare note musicali. Mini blocco abilitato una delle uscite di emettere suoni. PIN 12 Questo il suono NOTE_C4, attendere 0,3 sec. NOTE_B4 duramte e 0,2 sec. di permanentemente.

Si fa uso di blocco "Buzzer (setter)"

Lo schema elettrico di collegamento il seguente.

55

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

23. ALLEGATO
Minibloq Biblioteca blocchi per Arduino

Azione selettore
Selettore immagini Nome parametro e descrizione A partire componente
Questo blocco indica l'inizio del programma (o componenti "). Note: Questo blocco non nella selezione dei titoli, ma un'azione comunque. Minibloq aggiunto un componente di blocco all'inizio di ogni nuova automaticamente componente

mentre
Questo blocco un ciclo "while" iniziare. Tutti i blocchi tra questo e la condizione: bool blocco successivo a ciclo viene ripetuto durante

ripetere
Questo blocco un numero ", mentre" ciclo iniziare. Tutti i blocchi tra esso e le iterazioni: numero blocco successivo a ciclo viene ripetuto durante

se
Questo blocco consente decisionale condizione based: bool nella condizione logica specificata.

ritardare

intervallo (ms): Questo blocco forza il programma di attendere il numero dei intervallo di tempo specificato (in millisecondi).

56

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

variabile (creare)
Questo blocco crea una variabile e permette il valore iniziale: inizio, per memorizzare un numero, o il numero risultato di una espressione, che pu essere

variabile (vacante)
Questo blocco consente di assegnare un valore al valore della variabile: il numero selezionata.

IOpin (setter)
Questo blocco imposta lo stato di un valore: bool Uscita del regolatore pin digitale.

AnalogWrite
Questo blocco consente il controllo del valore di uscita: il numero analogico (PWM).

Series (setter)
Questo blocco consente al programma di inviare dati dalla porta USB del controller (o valore: numero porta seriale, a seconda dell'hardware

Buzzer (setter)

Questo blocco di emettere suoni. Il primo parametro imposta la frequenza (nota) e la seconda volta (ms):

nota (Hz): numero di

Motor (setter)
Questo blocco consente di controllare una potenza motore elettrico (-100 a collegato ad una delle uscite del motore 100): numero di

57

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

ServoRC (setter)
Questo blocco consente di impostare la posizione (angolo: il numero gradi) di un servo R / C collegato alla piastra.

In nmero_pantalla (setter)
Questo blocco pu visualizzare i numeri da -99 a 99 in valore (da -99 a 99): Controller di display (8x8 LED visualizza il numero di

bar0 (0 a 100): numero

ScreenBars (setter) bar1 (0 a 100):


Questo blocco consente di visualizzare quattro numeri (ogni numero di numero con un intervallo da 0 a 100) con forme

BAr 3 (0 a 100): numero

ScreenSprite (setter)
Questo blocco consente di visualizzare uno del valore sprite: Sprite preinstallato sullo schermo del controller (con LED Display a matrice 8x8).

numero (context switch)


Selettore Nome parametro e descrizione immagini variabile (getter)
Questo blocco restituisce il valore memorizzato o nella variabile selezionata.

58

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

Motor (collettore)
Questo blocco restituisce lo stato di qualsiasi un motore elettrico collegato Motore di uscita del regolatore.

ServoRC (collettore)
Questo blocco restituisce la posizione (in qualsiasi gradi) di un servo R / C collegato al pin controllore digitale.

AnalogRead
Questo blocco restituisce il valore di una voce selezionata sensore analogico.

timeStamp
Questo blocco restituisce il numero di nessuno millisecondi dall'inizio del programma.

ramdom
Questo blocco restituisce un numero di nessuno pseudocasuale tra 0 e 100.

buzzerNote (costante)
Questo restituisce il blocco di frequenze che nessuno appartiene alla nota selezionata.

numero (costante)
Questo blocco restituisce un numero di nessuno costante.

pi (costante)
Questo blocco restituisce la costante pi qualsiasi un numero limitato di cifre decimali (3,14159265358979323846).
59

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

e (costante)
Questo blocco restituisce la costante e (o "none Il numero di Eulero ") con un numero limitato Decimali (2,7182818284590452354). value1: numero value2: numero

aggiungere

Nota: operandi Altri Questo blocco consente di aggiungere i numeri, (Valori) possono essere aggiunti altre variabili ed espressioni aritmetiche. utilizzando l'opzione "Aggiungi Parametri ":

sottrarre value1: numero


Questo blocco pu sottrarre, altre variabili ed espressioni aritmetiche. value2: numero value1: numero value2: numero

moltiplicare
Questo blocco di moltiplicare i numeri altre variabili ed espressioni aritmetiche.

Nota: operandi Altri (Valori) possono essere aggiunti utilizzando l'opzione "Aggiungi Parametri ":

dividere

Numeratore: Numero Questo blocco consente di dividere i numeri, altre variabili ed espressioni aritmetiche. Denominatore: numero Inoltre, consente di inserire i numeri come

negativo (meno unario)


Questo blocco diventa negativo il numero o il valore: numero espressione aritmetica a sinistra.

potenza

base: numero Questo blocco consente di caricare la prima parametro numerico (base) e l'esponente esponente: il numero (Ovvero di potenza) proposta dal parametro
60

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

secondo numerico.

abs
Questo blocco restituisce il valore assoluto: il numero numero o un'espressione aritmetica alla loro Sinistra.

modulo (resto) value1: numero


Questo blocco restituisce la restante divistion compreso tra 2 parametri. value2: numero

minimo

value1: numero Questo blocco restituisce il minimo di due numeri, variabili o altre espressioni value2: numero

massimo

value1: numero Questo blocco restituisce il massimo di due numeri, variabili o altre espressioni value2: numero

valore: numero

mappa

fromLow: numero Questo blocco pu essere mappato linearmente un valore numerico di un intervallo di valori fromHigh: numero (FromLow a fromHigh) a un intervallo

tohigh: numero

vincolare

valore: numero Questo blocco consente di limitare un numero, uno variabile o altra espressione: numero di aritmetica a un valore compreso tra un minimo (a) e

seno
Questo blocco restituisce il seno del valore di angolo: il numero dato dal numero o espressione

61

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

coseno
Questo blocco restituisce il coseno del valore di angolo: il numero dato dal numero o espressione

tangente
Questo blocco restituisce la tangente del valore: il numero angolo dato dal numero o espressione

arcsin
Questo blocco restituisce l'angolo (valore: il numero radianti) il cui seno il numero o

arcocoseno
Questo blocco restituisce l'angolo (valore: il numero radianti) il cui coseno il numero o

arcotangente
Questo blocco restituisce l'angolo (valore: il numero radianti) la cui tangente il numero o

IrRemote
Questo blocco restituisce il numero che non n ottenuta da un sensore di controllo

Ping
Questo blocco restituisce la distanza (in cm) misurata con un sensore di nessuno ultrasuoni PING come Parallax))) [TM], SEN136B5B

62

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

bool (context switch)


Selettore immagini Nome parametro e descrizione IOPin (collettore)
Questo blocco restituisce lo stato di un pin controllore digitale.

reale (costante)
Questo blocco restituisce sempre "true".

false (costante)
Questo blocco restituisce sempre "false".

nessuno

come

value1: numero Questo blocco consente di confrontare Numero: numeri e restituisce "true" se value2

non uguale

value1: numero Questo blocco consente di confrontare i numeri e restituisce "true" se non sono value2: numero

abbassare
Questo blocco consente di confrontare value1: Number numeri (o espressioni aritmetiche) e restituisce "true" se il primo parametro value2: numero

63

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

maggiore
Questo blocco consente di confrontare value1: Number numeri (o espressioni aritmetiche) e restituisce "true" se il primo parametro value2: numero

minore o uguale
Questo blocco consente di confrontare value1: Number numeri (o espressioni aritmetiche) e restituisce "true" se il primo parametro value2: numero

maggiore o uguale
Questo blocco consente di confrontare value1: Number numeri (o espressioni aritmetiche) e restituisce "true" se il primo parametro value2: numero maggiore o uguale alla seconda.

non
Questo blocco pu negare il valore logico: bool (Boolean) espressioni. value1: bool value2: bool

Nota: operandi Altri Questo blocco fa una logica (booleana) (Valori) possono essere aggiunti utilizzando l'opzione "Aggiungi Parametri ":

value1: bool

value2: bool

Questo blocco fa una logica (booleana) Nota: pi operandi "Or" e restituisce il risultato. (Valori) possono essere aggiunti Parametri ":

64

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

XOR (OR esclusivo)

value1: bool Questo blocco fa una logica (booleana) "Exclusive-OR" (XOR) e restituisce il value2: bool risultato.

sprite (selettore contestuale)


Selettore immagini Nome parametro e descrizione sorriso (costante)
Questo blocco restituisce la "faccia di non sorridere "sprite.

senza riguardo (Constant) nessuno


Questa operazione riporta blocco "Qualunque sia il volto "sprite.

arrabbiato (costante)
Questo blocco restituisce la "faccia arrabbiata" none

heartSmall (costante)
Questo blocco restituisce il "senza cuore piccolo "sprite.

heartBig (costante)
Questo blocco restituisce il "senza cuore

65

Minibloq + Arduino Jose Manuel Ruiz Gutirrez

invader0 (costante)
Questo blocco restituisce il "0 Invader" no sprite.

invader1 (costante)
Questo blocco restituisce il "Invader 1" none

invader2 (costante)
Questo blocco restituisce il "Invader 2" none sprite.

invader3 (costante)
Questo blocco restituisce il "Invader 3" none sprite.

Questo allegato stato estratto dalla pagina Web hosting e software Minibloq

66