Pages: [1]   Go Down
Author Topic: Luminosità Led con Mouse  (Read 333 times)
0 Members and 1 Guest are viewing this topic.
Basel, CH
Offline Offline
Jr. Member
**
Karma: 0
Posts: 84
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao ragazzi, volevo chiedervi se conoscete qualche buona guida per comandare la luminosità di un led attraverso il mouse. Ho provato a seguire la guida che ce sul sito di arduino ( http://arduino.cc/en/Tutorial/Dimmer ) ma senza successo, non riesco a capire dove sbaglio. Qulcuno mi può aiutare ?? grazie smiley-grin
« Last Edit: March 04, 2012, 04:24:20 am by UweFederer » Logged

Senago - Milano
Offline Offline
God Member
*****
Karma: 3
Posts: 508
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

che Arduino usi?
che codice hai caricato ? quello che hai postato prende il valore di luminosità dalla seriale, tu hai provato a mandarlo?
se si vuole aiuto bisogna spiegare al meglio la situazione in cui ci si trova..
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 234
Posts: 20184
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Di nuovo un caso per la sfera di cristallo... smiley-wink smiley-wink

come leggi il mouse?
Ciao Uwe
Logged

Global Moderator
Milano, Italy
Offline Offline
Edison Member
*****
Karma: 15
Posts: 1163
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Per fa si che arduino conosca la posizione del tuo mouse (o comunque una sua interpretazione) i passid a fare sono:
  • avere un sw sul pc in grado di leggere la posizione del mouse
  • nello stesso sw ci deve essere una parte dedicata all'invio del valore alla porta seriale di Arduino
  • su Arduino ci deve essere uno sketch in ascolto sulla seriale ed ogni volta che riceve qualcosa lo trasforma in una differente luminosità del led

Nell'esemio che hai trovato tutti e tre i passi sono già fatti: lo sketch lo carichi su Arduino e su processing fai girare questo codice:

Code:
// Dimmer - sends bytes over a serial port
 // by David A. Mellis
 //This example code is in the public domain.
 
 import processing.serial.*;
 Serial port;
 
 void setup() {
 size(256, 150);
 
 println("Available serial ports:");
 println(Serial.list());
 
 // Uses the first port in this list (number 0).  Change this to
 // select the port corresponding to your Arduino board.  The last
 // parameter (e.g. 9600) is the speed of the communication.  It
 // has to correspond to the value passed to Serial.begin() in your
 // Arduino sketch.
 port = new Serial(this, Serial.list()[0], 9600);  
 
 // If you know the name of the port used by the Arduino board, you
 // can specify it directly like this.
 //port = new Serial(this, "COM1", 9600);
 }
 
 void draw() {
 // draw a gradient from black to white
 for (int i = 0; i < 256; i++) {
 stroke(i);
 line(i, 0, i, 150);
 }
 
 // write the current X-position of the mouse to the serial port as
 // a single byte
 port.write(mouseX);
 }

Se questi 2 passi li hai già fatti (ma non ce lo hai detto, non potevamo saperlo) allora potrebbe essere che la porta seriale di default impostata su processing ( 0 ) non corrisponda a quella della tua arduino. In questo caso dovresti:

una volta lanciata l'applicazzione, guardare nella "striscia nera" sotto l'ide (di processing) perchè il metodo:

Code:
println(Serial.list());
fa si che che compaiano tutte le porte seriali che processing riesce a vedere e vengono numerate, prendi quel numero e lo metti:

Code:
port = new Serial(this, Serial.list()[0], 9600);

in alternativa se cosci già la porta a cui è collegato (come dovresti), specialmente su Win dove i numeri delle COM sono assegnati ai device puoi scrivere:

Code:
port = new Serial(this,"COMx", 9600);

dove al posto della x metti il numero della COM port di Arduino, ad esempio COM8.
Logged

F

Genova
Offline Offline
Faraday Member
**
Karma: 17
Posts: 2742
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

forse vuole farlo tramite uno slider creato su html ....... non vedo l'utilità di usare un mouse se non vede i movimenti a video

ciao
Logged

Meglio imparare dalle cose inutili piuttosto che non imparare niente.   [Arduino Mega R3 + Ethernet shield W5100 + SD card 8Gb FAT32]

Basel, CH
Offline Offline
Jr. Member
**
Karma: 0
Posts: 84
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Per fa si che arduino conosca la posizione del tuo mouse (o comunque una sua interpretazione) i passid a fare sono:
  • avere un sw sul pc in grado di leggere la posizione del mouse
  • nello stesso sw ci deve essere una parte dedicata all'invio del valore alla porta seriale di Arduino
  • su Arduino ci deve essere uno sketch in ascolto sulla seriale ed ogni volta che riceve qualcosa lo trasforma in una differente luminosità del led

Nell'esemio che hai trovato tutti e tre i passi sono già fatti: lo sketch lo carichi su Arduino e su processing fai girare questo codice:

Code:
// Dimmer - sends bytes over a serial port
 // by David A. Mellis
 //This example code is in the public domain.
 
 import processing.serial.*;
 Serial port;
 
 void setup() {
 size(256, 150);
 
 println("Available serial ports:");
 println(Serial.list());
 
 // Uses the first port in this list (number 0).  Change this to
 // select the port corresponding to your Arduino board.  The last
 // parameter (e.g. 9600) is the speed of the communication.  It
 // has to correspond to the value passed to Serial.begin() in your
 // Arduino sketch.
 port = new Serial(this, Serial.list()[0], 9600);  
 
 // If you know the name of the port used by the Arduino board, you
 // can specify it directly like this.
 //port = new Serial(this, "COM1", 9600);
 }
 
 void draw() {
 // draw a gradient from black to white
 for (int i = 0; i < 256; i++) {
 stroke(i);
 line(i, 0, i, 150);
 }
 
 // write the current X-position of the mouse to the serial port as
 // a single byte
 port.write(mouseX);
 }

Se questi 2 passi li hai già fatti (ma non ce lo hai detto, non potevamo saperlo) allora potrebbe essere che la porta seriale di default impostata su processing ( 0 ) non corrisponda a quella della tua arduino. In questo caso dovresti:

una volta lanciata l'applicazzione, guardare nella "striscia nera" sotto l'ide (di processing) perchè il metodo:

Code:
println(Serial.list());
fa si che che compaiano tutte le porte seriali che processing riesce a vedere e vengono numerate, prendi quel numero e lo metti:

Code:
port = new Serial(this, Serial.list()[0], 9600);

in alternativa se cosci già la porta a cui è collegato (come dovresti), specialmente su Win dove i numeri delle COM sono assegnati ai device puoi scrivere:

Code:
port = new Serial(this,"COMx", 9600);

dove al posto della x metti il numero della COM port di Arduino, ad esempio COM8.

Grazie mille Federico,sei stato molto esaudiente. Ho seguito la tua procedura e va tutto alla perfezione utilizzando Processing smiley-grin
Logged

Pages: [1]   Go Up
Jump to: