torino, italy
Offline
Sr. Member
Karma: 0
Posts: 335
Arduino rocks
|
 |
« on: May 18, 2012, 09:26:12 am » |
Ciao a tutti, mi è venuta una curiosità. Con processing mi era riuscito di digitare dei numeri a più cifre sulla porta seriale e, all'invio, a trasformarli in variabili. È tanto difficile da fare semplicemente con arduino? Vi ringrazio.
|
|
|
|
|
Logged
|
|
|
|
|
Deep south of Italy
Offline
Faraday Member
Karma: 6
Posts: 2954
The quieter you become, the more you can hear
|
 |
« Reply #1 on: May 18, 2012, 09:31:52 am » |
puoi connettere una tastiera ps2 direttamente ad arduino (c'è una libreria apposita) ma senza vedere quello shce scrivi diventa difficile  ti ci vuole un "monitor" che potresti costruire con un lcd.
|
|
|
|
|
Logged
|
|
|
|
|
torino, italy
Offline
Sr. Member
Karma: 0
Posts: 335
Arduino rocks
|
 |
« Reply #2 on: May 18, 2012, 09:47:09 am » |
No ma infatti intendevo tramite il monitor del computer, connettendo l'arduino con l'usb.
|
|
|
|
|
Logged
|
|
|
|
|
Deep south of Italy
Offline
Faraday Member
Karma: 6
Posts: 2954
The quieter you become, the more you can hear
|
 |
« Reply #3 on: May 18, 2012, 10:03:30 am » |
il semplice hyperterminal non ti piace? o putty? o realterm? o qualsiasi altro terminale seriale.
|
|
|
|
|
Logged
|
|
|
|
|
torino, italy
Offline
Sr. Member
Karma: 0
Posts: 335
Arduino rocks
|
 |
« Reply #4 on: May 18, 2012, 10:24:41 am » |
In realtà non li conosco, mi ero limitato a digitare nel terminale dell'ide e dare invio, ma mi scompone le parole nei vari caratteri che legge come numeri, credo ascii. Volevo capire come tenere uniti i valori che inserisco e intermpretarli per come sono scritti. Tipo: se scrivo 155, una variabile dovrebbe diventare 155.
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16470
Don't know what I do
|
 |
« Reply #5 on: May 18, 2012, 10:29:41 am » |
Devi riunire tu quello che arriva dalla seriale. La seriale spedisce un byte alla volta. Se tu digiti 1-5-5-invio, arriveranno i caratteri 49 (ASCII per "1"), 49, 53 e 13.
|
|
|
|
|
Logged
|
|
|
|
|
torino, italy
Offline
Sr. Member
Karma: 0
Posts: 335
Arduino rocks
|
 |
« Reply #6 on: May 18, 2012, 11:02:45 am » |
In effetti ricordo che anche in processing andava tutto archiviato in una stringa, conoscete qualche tutorial a riguardo per arduino?
|
|
|
|
|
Logged
|
|
|
|
|
BZ (I)
Offline
Brattain Member
Karma: 162
Posts: 15726
+39 349 2158303
|
 |
« Reply #7 on: May 18, 2012, 05:12:15 pm » |
Questo codice legge un numero in forma di stringa inviato dalla seriale e lo trasforma in un numero. Pó essere inviato un numero a lunghezza variabile. La trasmissione viene considerata dopo un certo tempo terminata. In questo modo puoi trasmettere "2" come "1234". int incomingNumber; // numero trasmesso char Data[8]; // buffer per la stringa trasmessa int i; unsigned long Tempo; unsigned long attesa = 500; //tempo attesa per leggere tutta la strinaga; puó essere diminuito in funzione del Baudrate
void setup() { Serial.begin(9600); }
void loop(){ do { if (Serial.available()) { Data[i] = Serial.read(); i++; } if(i<1)Tempo = millis(); } while (i<6&&(millis()-Tempo) < attesa); Data[i] = 0; incomingNumber = atoi(Data); i=0; Serial.println(incomingByte); } Ciao Uwe
|
|
|
|
« Last Edit: May 19, 2012, 02:55:16 pm by uwefed »
|
Logged
|
|
|
|
|
torino, italy
Offline
Sr. Member
Karma: 0
Posts: 335
Arduino rocks
|
 |
« Reply #8 on: May 19, 2012, 02:16:18 pm » |
Ti ringrazio molto, è esattamente quello che mi serviva!
|
|
|
|
|
Logged
|
|
|
|
|
BZ (I)
Offline
Brattain Member
Karma: 162
Posts: 15726
+39 349 2158303
|
 |
« Reply #9 on: May 19, 2012, 02:55:55 pm » |
lieto di averti potuto aiutare. Ciao Uwe
|
|
|
|
|
Logged
|
|
|
|
|
|