Bonjour la compagnie
J'ai acheter récemment une carte capacitif pour arduino ou j'ai pris le code d'exemple de la carte après quelques changement tout fonctionne sans soucis, ensuite donc dans la logique je tente de lier processing avec arduino... la tout ce complique.
alors voici donc le code. arduino et processing.
Hors ligne
salut a toi
mais il est ou ton code et puis ses quoi qui se complique
sa prendrais un peu plus de detail
bien a toi
a+
Hors ligne
Bizar je l'ai pourtant mis en lien...
la ou cela ce complique c'est pour la récupération du signal de arduino, je suis sur le bon port mais pas moyen d'afficher par exemple simplement un carré quand je presse la touche une. je n'ai pas de transmission.
Dernière modification par the skull (2013-09-08 01:45:24)
Hors ligne
salut
je suis pas trop un expert du touch mais dans ton logiciel processing pour arduino
ta pas de référence pour un carre du genre
ex tres basic
if(pin4 == 1) {
rect(width/2,height/2,50,50) }
faut recuperer ta valeur quand tu appui sur une touche apres tu lui dit quoi faire avec. la les valeur son juste ecrit dans la console en bas de la fenetre
Hors ligne
en tout cas en ajoutant
int pin4 = 0;
...
ensuite dans le draw
if(pin4 == 1) {
rect(width/2,height/2,50,50);
}
rien ne ce passe mis a part me mettre un message d'erreur
RXTX Warning: Removing stale lock file. /var/lock/LK.032.033.000
Alors que j'ai bien tout vérifier pour l'installe, et la première fois que je lance le sketch processing pas de souci mais des que je fais une modif il m'indique le message d'erreur.
Hors ligne
bonjour
c'est un clavier que tu as achetez?es ce que tu le branche sur les pattes digitales de la carte arduino?si cela es le cas,tu as juste à telecharger le programme firmata dans la carte arduino et pour processing
import processing.serial.*;
import cc.arduino.*;
Arduino arduino;
color off = color(4, 79, 111);
color on = color(84, 145, 158);
void setup() {
size(470, 280);
arduino = new Arduino(this, Arduino.list()[0], 57600);
for (int i = 0; i <= 13; i++)
arduino.pinMode(i, Arduino.INPUT);
}
void draw() {
background(off);
stroke(on);
for (int i = 0; i <= 13; i++) {
if (arduino.digitalRead(i) == Arduino.HIGH)
fill(on);
else
fill(off);
rect(420 - i * 30, 30, 20, 20);
}
}
pour lire les inters
arduino.digitalRead(ici)le numero de l'inter brancher sur arduino
pour processing un programme pour tester les touches
void draw()
{
rectMode(CENTER);
background(128);
if (keyPressed == true)
{
if (key == 'c') {
ellipse(50,50,90,90);
}
else if (key == 'r') {
rect(50,50,90,90);
}
}
}
Hors ligne
un programme pour lire le changement d'etats des inters
import processing.serial.*;
import cc.arduino.*;
Arduino arduino;
void setup() {
size(470, 280);
arduino = new Arduino(this, Arduino.list()[0], 57600);
arduino.pinMode(2, Arduino.INPUT);
arduino.pinMode(3, Arduino.INPUT);
}
void draw() {
background(255);
if (arduino.digitalRead(2) == Arduino.HIGH)
fill(0,255,0);
else
fill(255,255,0);
rect(50,50, 30, 30);
if (arduino.digitalRead(3) == Arduino.HIGH)
fill(0);
else
fill(255);
rect(50,100, 30, 30);
}
Hors ligne
Oui c'est la carte MPR121 il n'y a pas encore grand chose dessus juste quelque exemple basic pour tester si elle fonctionne sous arduino mais pas de transmission vers d'autre logiciel.
Je testerais la suggestion ce soir et vous tiendrais au courant bien sur.
Hors ligne
j'ai teste la librairie arduino firmata sur processing 2 que je viens de telecharger ,mais ça ne fonctionne que sur la version 32 bits donc pour faire fonctionner ta carte c'est mieux d'avoir une ancienne version de processing.
Hors ligne
Alors voila voila j'ai testé avec françois zazega artiste numérique.
il faut changer dans le code arduino effectivement le println en print pour ne pas avoir des espaces monstrueux sous processing. et pour le code de récupération passer par le serial processing
comme ceci:
println(Serial.list());
port = new Serial(this, Serial.list()[4], 9600)
et ensuite récupérer les valeurs des "touches" de arduino et utiliser les case de processing
Hors ligne