Documente Academic
Documente Profesional
Documente Cultură
de prototyper rapidement ses ides. Il comprend un logiciel, une carte lectronique de type
Arduino et une slection de capteurs et dactionneurs.
Le logiciel Malinette
Fonctionnant avec le logiciel libre Pure Data, la Malinette propose un ensemble dobjets facilitant la cration audio, vido, et lutilisation en temps rel dune Arduino.
Pure Data (en abrg pd) est un logiciel de programmation graphique pour la cration
musicale et multimdia en temps rel. Il permet galement de grer des signaux
entrants dans lordinateur (signaux de capteurs ou vnements rseau par exemple)
et de grer des signaux sortants (par des protocoles de rseau ou protocoles
lectroniques pour le pilotage de matriels divers)
(Wikipdia, Pure Data)
Arduino, sont des cartes matriellement libres sur lesquelles se trouve un
microcontrleur. Celui-ci peut tre programm pour analyser et produire des signaux
lectriques, de manire effectuer des tches trs diverses comme la domotique (le
contrle des appareils domestiques - clairage, chauffage,), le pilotage dun robot, de
linformatique embarque, etc. Cest une plate-forme base sur une interface entre/
sortie simple destine lorigine la programmation multimdia interactive en vue de
spectacle ou danimations artistiques.
(Wikipdia, Arduino)
3
4
5
6
8
10
12
13
14
15
16
17
18
20
22
23
Sommaire
Installation
Menu
Interface
Pure Data
Arduino avec la Malinette
Capteurs
Actionneurs
Exemple 1 : Souris synthtiseur
Exemple 2 : Voix synthtiseur
Exemple 3 : Squenceur
Exemple 4 : Dtection vido
Exemple 5 : Capteur crayon
Exemple 6 : Relais
La bote
Accessoires
Installation
Pure Data Extended + Malinette
1
2
3
README.md
abstractions
examples
medias
projects
other
docs
preferences.txt
Menu
Malinette.pd
MALINETTE.pd
PROJETS
Le dossier Projets est votre dossier.
Enregistrez vos patchs depuis le menu Pure
Data :
Fichier > Enregistrer sous et retrouvez les
dans le dossier Projets
MANUEL / EXEMPLES
Le manuel permet dassimilier les bases et
concepts de Pure Data et de la Malinette.
Les exemples sont des cas pratiques et
ludiques.
OBJETS
Les objets sont organiss par famille.
Cliquez sur les boutons
MASTER AUDIO
Cochez la case pour activer le son.
Grez le volume gnral avec le slider.
MASTER VIDEO
Cochez la case pour afficher la fentre de
rendu vido. Les presets changent la taille de
la fentre.
ENREGISTREMENT
Cliquez sur my-record pour nommer le fichier
puis cochez la case pour dbuter/stopper
l'enregistrement audio.
ARDUINO
La carte est reconnue automatiquement.
Cochez la case pour activer les changes
avec la carte.
PREFERENCES LANGUE
Permet de traduire les lments du menu
Interface
Un menu et un espace de travail
Console, Terminal
[include]
Conservez toujours la
bote include dans vos
patchs. Elle rfrence
lensemble des objets
MALINETTE.
Pd-Extended
Cette fentre est la console ou terminal de Pure Data.
Conservez cette fentre dans un coin, elle vous permettra
entre autre de visualiser dventuelles erreurs de programmation.
Notez aussi que lobjet [print] permet decrire dans la
console.
@
MALINETTE.pd
Cest le menu Malinette.
Accedez vos patchs,
aux objets Malinette, au
volume audio, sortie vido,
et gestion de votre carte
Arduino.
New.pd
Cest votre espace de travail ou vous allez patcher,
cest dire insrer des objets et les relier entre eux
pour crer des programmes interactifs.
Prise en main
Pure Data | MANUEL / 00-puredata
Types d'lments
Pure Data est un langage de programmation graphique. En reliant des botes entre elles,
on cre un programme que lon appelle patch. La Malinette est elle-mme une collection
de patchs, cest pourquoi il est dabord important de comprendre les bases de Pure Data.
objet
(Ctrl+1)
Il existe deux modes dans Pure Data, le mode dition et le mode action.
On passe dun mode lautre en cliquant sur la fentre patch souhaite, puis sur le menu
Pd-extended > Edit > mode ou avec le raccourci clavier suivant :
Entres/sorties
Ctrl
Il y a 5 lments de base pour composer avec Pure Data, vous les trouverez dans le menu Ajouter
symbole
(Ctrl+3)
nombre
(Ctrl+4)
commentaire
(Ctrl+5)
Les objets ont des entres au-dessus et des sorties en-dessous. On relie les objets entre eux en
cliquant sur une sortie et en la reliant lentre d'un autre objet.
entre >
message
(Ctrl+2)
sortie >
raccourci MAC
Arguments
Des arguments peuvent tre utiliss sur certains objets pour les paramtrer ds leur cration.
Consultez laide (clic droit sur lobjet) pour comprendre leur fonctionnement.
MODE EDITION
pour diter le nom des objets, les connecter, les dplacer
un argument
plusieurs arguments
Messages
Crer un objet
Slectionner
Dupliquer
Connecter
Dconnecter
MODE ACTION
pour dclencher les vnements, modifier les variables, jouer
Le chiffre dans la boite nombre remplace la variable $1.
Ici on fait varier la transparence (alpha) de la vido de la webcam.
Dclencher
Faire varier
un nombre
Objets graphiques
crire un symbole
Dessiner
dans un tableau
Arduino
Carte lectronique
Connectiques
Plaque et cbles pour vos circuits
Pour utiliser une carte Arduino avec la Malinette, quelques tapes sont ncessaires pour
permettre la communication entre la carte et Pure Data :
Pinces crocodile
1
2
Plaque de connections
B
Note : Vous pouvez utiliser la plupart des cartes Arduino avec la Malinette (UNO, LEONARDO,
MEGA, DUELMILANOVE...) ds lors que vous installez le StandardFirmata.
Jumpers
Architecture
GND
VCC
D
13 12 11
GND
10 9
13 12 11 10 9
~
~ ~ ~
6
~
5
~
3
~
3
1 USB
TX
RX
2 alimentation
des servomoteurs
3 entres/sorties digitales
(dont PWM ~)
POWER
5V GND VIN
ANALOG IN
0 1 2 3
6
6
5
S
5V
GND
Connecteurs
4 sorties
des moteurs 1 et 2
5 alimentation
des moteurs et de la carte
6 entres analogiques
7 boutons
Utiliss pour certains capteurs
et actionneurs rapidement
connectables avec la carte.
A B C D E
F G H I J
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
6
~
5
~
3
~
TX
RX
POWER
5V GND VIN
ANALOG IN
0 1 2 3
5V
GND
infra rouge
rotatif
-GND
+5V
Capsule piezzolectrique
capteur de vibration
3GND
4 5
4
POWER
ANALOG IN
5V GND VIN
5
S
-GND
GND
led
led
noisserp
5V
GND
+5V
S
GND
D
e
guor arfni
-GND
+5V
OUT
GND
Servomoteur
moteur asservi angulaire
13 12 11
10 9
13 12 11 10 9
~
~ ~ ~
6
~
5
~
3
~
13 12 11
10 9
13 12 11 10 9
~
~ ~ ~
eip 10 9
13 o
12zz11
6
~
5
~
3
~
fit7ato6r
TX
RX
11 9 108 9
13 12131112 10
(DIGITAL ou ~PWM)
GND
13 12 11 10 9 8
7 6 5 4 3
~
~ ~ ~ en mode DIGITAL
~ ~ (0/1) ~
Branchement
VCC
5V
5V
3
(DIGITAL)
5
S
rotatif
Capteur infrarouge
capteur de distance
10 9
L.E.D.
diode lectroluminescente
rotatif
relai
pression
13 12 11
+5V
led
+5V
OUT
GND
(DIGITAL)
-GND
piezzo
led
buzzer
piezzo
lumiere
-GND
5
~
OUT
Buzzer
signal sonore
5V
0
6
~
+5V
N/A
COM
-GND
NC
NO
Relais lectromagntique
ouverture/fermeture dun second circuit isol
entre COM et NC/NO
infra
lumiere
rouge
moteur
relai
lumiere
POWER
5V GND VIN
ANALOG IN
0 1 2 3
GND
3
~
-GND
+5V
78
POWER
5V GND VIN
13 12 11
~
~
13
12
13 12 11 10119 108
~~ ~ ~~ ~
~
GND
13 12 11 10 9
~
~ ~ ~
GND
13 12 11 10 9
~
~ ~ ~
GND
+5V
Potentiomtre
bouton rotatif
10 9
relai
servomoteur
pression
piezzo
lumiere
-GND
S
13 12 11
pression
rotatif
servomoteur
led
buzzer
rotatif
GND
VCC
servomoteur
relai
relai
GND
Actionneurs
moteur
buzzer
buzzer
GND
GND
Photorsistance
capteur de luminosit
piezzo
moteur
relai
piezzo
infra rouge
rotatif
Capteurs
10
~
9
~
6
6 75 64 5
ANALOG IN
0 1 2 3
43
2 31 2
9 8
7 6 5 4 3
~
~ ~
~
87 6 7 5 6 4 5 3 4 2 3 1 2
~
~ ~ ~ ~~
1
5V
GND
OUT
POWER
ANALOG IN
ANALOG IN
5V GND VIN
0 1 2 3 4 5
5V GND VIN
0 1 2 3 4
POWER
ANALOG IN+5V
S
0
1
2
5V GND VIN
0 1 3 24 5 3 4 5
-GND
13 12
~
S
Pour utiliser le capteur de pression
, branchez le
5V
capteur entre lentre analogique
et le 5V et la
GND
rsistance de 10K entre GND et lentre analogique.
13 12 11
GND
S
+5V
pression
POWER
13 12 11 10 9 8
7 6 5 4
3
Moteur
8
7 6 5 4
3 2 1 0
moteur avec motorducteur
13 12 11 de10
ruetomovres + La carte
rueRomeo
tom dispose
l GND9- M+8VIN 7 + M16ia-le5r+ M24- 3 2
dun
11 10 9 8
7 6 5 4 3 2 1 0
~ ~ ~
~ ~
~
contrleur de moteur permettant
9 8
7 6 5 4 3
de brancher deux moteurs 13 12 11 10 jumper
~
~PILE~ ~ moteur 1 moteur
~2 ~
~
- courant continu et les alimenter.
10 9
GND
-GND
13 12 11
buzzer
moteur
infra rouge
10k
GND
FSR
capteur de pression/force
buzzer
infra lumiere
rouge
(~SERVO)
lumiere
zzo
5V
10 9
13 12 11 10 9
~
~ ~ ~
(le jumper cot des dominos doit etre retir pour que cela fonctionne)
6
~
5
~
3
~
Exemple #1
Souris synthtiseur | EXEMPLES/01-souris-synthetiseur
Exemple #2
Voix synthtiseur | EXEMPLES / 02-voix-synthetiseur
Pour ce premier exemple nous contrlerons grce la position horizontale (x) de la souris
de lordinateur la note dun synthtiseur simple.
Dans cet exemple nous contrlerons la note et le volume dun synthtiseur avec lentre
audio (micro, guitare...).
Lobjet audio-in permet danalyser le signal et detecter la frequence principale (le pitch) et le
volume de lentre.
Avec des messages sans fils [s pitch] [r pitch] ,[s vol] [r vol] nous envoyons ces informations
vers le synth-wobble pour produire un son synthtique.
explications
[mouse]
donne la position de la souris sur votre
cran, sous forme de coordonnes x / y
comprises entre 0 et 1.
[* 127]
(Menu Pd Extended / Ajouter / Objet)
on multiplie par 127...
car le synthtiseur fonctionne avec des
valeurs entre 0-127 (Midi).
[nombre]
(Menu Pd Extended / Ajouter / Nombre)
cette boite permet de visualiser le rsultat
du calcul.
[synth]
le synthtiseur de base de la Malinette
produit un son selon la forme donde
selectionne avec la tonalit de la valeur
(Midi) entrante.
[audio-out]
la sortie audio qui envoie le signal au
master AUDIO.
explications
[audio-in]
rceptionne le flux audio dun micro branch
sur lordinateur, et permet aussi danalyser sa
tonalit principale et son niveau de volume.
[s pitch] [s vol]
les boites [s] [send] permettent denvoyer
des messages sans fils... des boites [r] ou
[receive]. Ici on les a nomm pitch et vol.
[audio-out]
sortie audio du micro.
[r pitch] [r vol]
les boites [r] ou [receive] rceptionnent des
messages sans fils... provenant des boites [s]
ou [send]. Ici on les a nomm pitch et vol.
[synth-wobble]
un synthtiseur basse qui sonne electro dubstep, avec des paramtres (glide, tone, ms ...)
[audio-out]
sortie audio du synthtiseur.
Exemple #4
Dtection vido | EXEMPLES/04-detection-video
Exemple #3
Squenceur | EXEMPLES / 03-sequenceur
Un squenceur permet de dfinir une suite de donnes se succdant un certain tempo.
Dans cet exemple, la souris contrle la vitesse entre chaque pas du squenceur, avec les
curseurs dans lobjet [seq-nb] nous pouvons ecrire une petite phrase musicale qui sera jou
par le [synth-xylo].
Dans cet exemple nous allons dtecter des mouvements grce la webcam.
Lobjet track-motion permet danalyser les pixels dun flux vido et ainsi de dtecter si
certains pixels sont diffrents dune image lautre, synonyme de mouvement dans limage.
Il peut ainsi localiser le mouvement, et aussi limportance du mouvement (gros ou petit).
Ici la position horizontale (x) du mouvement fera varier la hauteur dune note, et la vido
sera en noir et blanc (saturation) si on dpasse un certain seuil de mouvement.
explications
explications
[video-camera]
ouvre un flux vido provenant de la webcam.
[mouse]
donne la position de la souris sur votre cran,
sous forme de coordonnes x / y comprises
entre 0 et 1.
[track-motion]
dtecte les zones de mouvements des pixels
dans limage du signal entrant (x, y , niveau de
mouvement).
[map]
rgle de trois pour convertir notre signal
entrant entre 20 et 2000.
[map 0 1 20 60]
fait une rgle de trois, et convertit ici la valeur
entrante entre 0 et 1 en valeur de sortie entre
20 et 60.
[seq-nb]
sequenceur simple 8 pas avec valeur de
sortie entre 0 et 1. La vitesse du squenceur se
rgle en millisecondes par lentre de droite.
[> 1]
(Menu Pd Extended / Ajouter / Objet)
si le signal entrant vrifie la condition (ici
suprieur 1) le rsulat sera 1 sinon 0.
[notescale]
un outil qui convertit les nombres dans une
gamme de musique dfinie, ici gamme majeur
de Do (C).
[saturation $1(
(Menu Pd Extended / Ajouter / Message)
la variable $1 est remplace par la valeur
entrante (1 ou 0) et donc le paramtre
saturation de lobjet video-effects.
[synth-xylo]
un synthtiseur qui sonne comme un
xylophone, avec des paramtres denveloppe
simple (attack, decay).
[video-effects]
quelques effets vidos basiques pour filtrer
limage.
[audio-out]
sortie audio.
[video-out]
un rectangle en 3D en guise dcran pour
afficher votre vido.
Regardez laide du seq-nb (clic
droit dessus) pour voir comment
initialiser le squenceurs avec des
valeurs.
explications
Exemple #5
Capteur crayon |
EXEMPLES / 05-capteur-crayon
[arduino-in]
cochez lentre analogique A0
pour rcuprer la valeur du
capteur (entre 0 et 1).
Cet exemple montre comment on peut fabriquer un capteur avec un simple crayon de papier.
Le graphite de la mine du crayon est un semi-conducteur, plus le trajet du courant doit passer
dans du graphite plus la rsistance augmente.
[map]
rgle de trois pour convertir
notre signal entrant entre 36
et 54.
Ainsi avec le montage suivant, nous allons pouvoir utiliser le crayon en dplacant la mine sur une
trace de graphite pour contrler un son synthtique ainsi que le mouvement dun servomoteur.
[arduino-out]
cochez le mode SERVO de la
piste 9 et reliez la sortie 0 arduino-in lentre 9 arduino-out.
[audio-out]
sortie audio.
A B C D E
GND
VCC
D
13 12 11
GND
[notescale]
outil qui permet de convertir
des nombres dans une gamme
musicale (majeur, mineur, etc..)
Le saviez-vous ?
Les potentiomtres sont fabriqus avec du
graphite, ainsi que dautres capteurs rsistifs
10 9
13 12 11 10 9
~
~ ~ ~
6
~
5
~
3
~
L
TX
RX
POWER
5V GND VIN
ANALOG IN
0 1 2 3
5
S
5V
GND
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
F G H I J
Exemple #6
Relais | EXEMPLES / 06-relais
Patch
explications
[seq-count 2]
Compte sur deux chiffres, donc de 0 1 .
0-1-0-1-0-1-0-1-0-1-0-1...
Il sert rgler la vitesse du stromboscope.
Dans cet exemple, nous construisons un stroboscope dont la vitesse sera rgle par un
squenceur de la Malinette.
Nous utiliserons un relais pour allumer ou teindre une ampoule 230V.
Le saviez-vous ?
Un relais fonctionne avec une bobine qui
sous laction dun courant produit un champ
lectromagnetique qui fait bouger un petit
interrupteur metallique...
GND
VCC
D
13 12 11
GND
[arduino-out]
Cochez le mode digital de la piste 2 pour
contrler la sortie 2.
Le mode digital dfinit deux tats 0 ou 1
(allum ou teint) soit 0V ou 5V.
10 9
13 12 11 10 9
~
~ ~ ~
6
~
5
~
3
~
L
TX
RX
COM
NO
POWER
5V GND VIN
ANALOG IN
0 1 2 3
5
S
5V
Prise 230V
(on nutilise pas la terre)
GND
La bote
Fabrique dans un Fablab
http://malinette.info/fr/add-ons
http://reso-nance.org
http://malinette.info
v.2016
GNU
1.3 | GNU
GPL 3
La/ FDL
Malinette
est /un
projet libre dvelopp par
Reso-nance Numrique