Show Posts
Pages: [1] 2
1  Using Arduino / Programming Questions / Re: Arduino UNO save data in an external file on: June 22, 2013, 02:56:26 pm
Quote
is it possible directly from Arduino language save this variable (not more than 3 char of length) in an external file like an XML or something like that (also a database, but well, i think it's kind of impossible)?
No, it is not. The Arduino can not access hardware on the PC. It can, at most, talk to the serial port. An application on the PC needs to listen to the port, read the data, and save it to a file.

Quote
i tryed to build some Daemons or a while loop that read this data, but it doesn't work properly because the COM result always busy in one of the two parts (or Arduino or my Java loop)
You are not trying to have to Serial Monitor open at the same time as your program, are you?

thanks for the answer, well, i don't use the serial monitor, because i tested the arduino program before and i know that it works so nope..that's not the problem..maybe (i thinked) that arduino program open the port, and use it and remaining in wait state maybe the other program see it busy..
Code:
   
char val;   
char cara;
 
    void setup() { 
      Serial.begin(9600);     
    }

    void loop() {
      if(Serial.available()){
      cara=Serial.read();
       Serial.write(cara);
      if(cara=='F'){
      Serial.write("100\n");

      delay(100);}
      if(cara=='S'){
      Serial.write("200\n");

      delay(100);}}
    } 

this is my arduino program. Maybe i do something wrong?
2  Using Arduino / Programming Questions / Arduino UNO save data in an external file on: June 22, 2013, 02:42:31 pm
hi everyone,
i have a problem that i need to solve, i have to read some data from a COM port, where is attached Arduino that send this data. i tryed to build some Daemons or a while loop that read this data, but it doesn't work properly because the COM result always busy in one of the two parts (or Arduino or my Java loop)
SO.......i wanted to ask
is it possible directly from Arduino language save this variable (not more than 3 char of length) in an external file like an XML or something like that (also a database, but well, i think it's kind of impossible)?
this will make my problem really solved.

thanks for the attention.
Chiara.
3  Using Arduino / General Electronics / Re: Arduino UNO and BT module on: June 14, 2013, 04:34:00 am
Getting the JY-MCU bluetooth board to WORK!



Warning: the Bluetooth chip is rated for 3.1V to 4.2V

use one of Logic Level Converter here will be safe move.

Interfacing_with_Bluetooth_JY-MCU

HI! thank you a lot! really..now with this tutorial it's working ;D
4  Using Arduino / General Electronics / Re: Arduino UNO and BT module on: June 13, 2013, 09:00:32 am
Quote
and the BT module appear offline.

Arduino appear offline?

no, module is the bluetooth module, i put the BT on my Arduino, i connect gnd vcc and rx tx pins on Arduino board and attach the alimentation (not trough the pc but trough an external cable) i search with the pc the bluetooth devices and it found "linvor" that is the bt. i insert the key "1234" and connect to the pc the bluetooth that appear connected to the COM5. but when i go to check the bluetooth evices connected my linvor appear offline. i think that "offline" means that it is in standby state.
5  Using Arduino / General Electronics / Re: Arduino UNO and BT module on: June 13, 2013, 08:31:15 am
The detail of BT module?

is this one http://www.megalab.it/images/contents2/41160/big.jpg
http://t2.gstatic.com/images?q=tbn:ANd9GcQAKf58_Hx0hGWHYbAS5X347R4HLLmhgLTDjAQGq96Y29r9g23f

a single BT module with 4 pins, vcc gnd rx and tx it doesn't have any kind of brand on it it's an JY-MCU V1.05
6  Using Arduino / General Electronics / Arduino UNO and BT module on: June 13, 2013, 07:55:06 am
Hi! i don't know if this is the right section, but i try anyway, let me know if i have to change smiley-wink
i have a problem with Arduino UNO and my BT module:
i connect the module to the computer, it found all and it result to be connected to the serial port COM5 (i use win8 -_-)
but when i try this little sample program the serial monitor window and the window of the program stops working:
Code:
    char val;   
    int ledpin = 13; //Impostate il pin LED che preferite 
    void setup() { 
      pinMode(ledpin, OUTPUT);   
      Serial.begin(9600);   
    } 
    void loop() { 
      if( Serial.available() )   
      { 
        val = Serial.read();   } 
      if( val == 'L' )   { 
        digitalWrite(ledpin, HIGH);   
      }   
      else {   
        digitalWrite(ledpin, LOW);   } 
      delay(100);   
    }

and the BT module appear offline.
I try all the things possible and i don't know what to do!! is it possible that i have to change something on my win8 properties? any suggestion or solution?
7  International / Software / Re: Problema di programmazione. on: January 29, 2013, 11:28:55 am
Il delay dentro il ciclo while.
L'Attach e il Detach continuo del servo.
L'uso di analogRead per la lettura di un pulsante digitale.
Il richiamo nel loop della funzione setGatePos()
La logica un po' contorta del programma. Più lo leggo e meno lo capisco.  smiley-mr-green smiley-mr-green


smiley-roll-sweat vedrò di correggerlo..
8  International / Software / Re: Problema di programmazione. on: January 29, 2013, 10:54:41 am
Per correggere l'indentazione nell'IDE di Arduino puoi premere CTRL + T.

Riguardo al codice.... ci sono ancora un pò di cose orripilanti.  smiley-eek-blue

hehehehehe, ok non sarà il masterpiece della programmazione..ma per lo meno so come l'ho fatto dato che sono partita da zero, ed è questo l'importante se me lo chiedono all'esame.
ma cosa c'è di così atroce a tal punto da orripilarti???? D:  smiley-eek  smiley-sad-blue
9  International / Software / Re: Problema di programmazione. on: January 29, 2013, 09:22:47 am
MI piace anche come hai indentato il codice. Ed hai messo un pò di commenti.
Brava. Il codice scritto così è ben leggibile.



ti ringrazio!! ^^

si, in effetti al primo postaggio l'ho scopiazzato male (a pezzi per cercare di metterlo apposto) e me lo hanno corretto i moderatori perchè avevo dimenticato il [code/] e l'indentazione è andata un po' a cercare sassi nei campi.. smiley-roll
10  International / Software / Re: Problema di programmazione. on: January 28, 2013, 05:57:34 pm
non penso che un saldatore possa far raggiungere tale temperatura se tenuto per pochi secondi sul pin.
Ho qualche dubbio in proposito.  smiley-sweat

Il sensore funziona a riflessione e ha una distanza massima di 40cm circa.
In base alla superficie riflettente posta a distanza di 30 cm dal sensore dovresti misurare tra i 250 e i 550 mV.

Per il tuo progetto non credo sia il sensore più indicato, sarebbe meglio una barriera a infrarossi, altrimenti devi vestire le persone con strisce rifrangenti.  smiley-mr-green

^^" dafaq....


okok allora, ho trovato un altro sensore uguale nei meandri della mia casa, e ho fatto più attenzione al momento "saldatura" (devo ancora diventarne pratica.. smiley-cry )
collegato a basetta e tutto e provato il programma modificato.
FUNZIONA!
e non serve nulla di rifrangente! ^^ ho provato con una mano, una persona, un modellino di macchina (mustang '74 (dettagli a parte)), un foglio di carta, un bicchiere e una macchinetta fotografica...insomma di prove ne ho fatte e funziona
smiley-lol
questo è il listato che mi è risultato infine grazie anche ai Serial.println() che ringrazio infinitamente di aver conisgliato, dato che non mi era passato per la testa  smiley-fat

Code:
//APERTURA A PULSANTE E CHIUSURA CON IR

#include <Servo.h>
//#include <DistanceGP2Y0A21YK.h>

//variabili per sensore IR
int pinIR=A1;
int dafaq;

//variabili servo
Servo gate;
int pinGate=3;
int pos=0;

//variabili pulsante
int pinPul=A0;

//settaggi dei pin e de componenti
void setup(){
  pinMode(pinPul, INPUT);//sceglie il pulsante come input nell'uscita A0
  pinMode(pinIR,INPUT);//attacca l'IR al pin A5 in input
}
//disattiva il servo
void detachGate(){
    gate.detach();
}
//setta la posizione inizaile del gate a 90°
void setGatePos(){
    gate.attach(pinGate);
    gate.write(pos);
    delay(1000);
    detachGate();
}
//apre il gate di 90°
void openGate(){
   gate.attach(pinGate);
    for(pos=0;pos<=90;pos++){
     gate.write(pos);
     delay(15);
    }
   detachGate();
}
//chiude il gate facendolo tornare alla posizione di partenza
void closeGate(){
  gate.attach(pinGate);
   for(pos=90;pos>=0;pos--){
    gate.write(pos);
    delay(15);
   }
  detachGate();
}

void loop(){
      setGatePos();

      if (analogRead(pinPul)>900){
openGate();
delay(1000);
        dafaq=analogRead(pinIR);
while(dafaq>3){
  delay(500);
          dafaq=analogRead(pinIR);
    if(dafaq<=3){
               delay(3000);
               closeGate();
    }
}
} //valore max del pulsante = 1023 in attivazione
}


GRAZIE MILLE A TUTTI!!!!!!!!!! ^^ AVETE CONTRIBUITO AD AVANZARE LA MIA MATURITA'.. smiley-red  smiley-wink
11  International / Software / Re: Problema di programmazione. on: January 28, 2013, 02:52:05 pm
ho tentato le vostre soluzioni e non mi funzionava nulla, così mi sono chiesta se il problema non fosse all'origine..
ho provato ad alimentare il sensore da solo e a misurarne l'uscita con un voltimetro, non si muove una mazza! Quindi ora mi sorge il dubbio, era rotto fin dall'inizio?.. ammetto che comunque sia il programma avrà anche i suoi problemi di funzionamento, ma se il sensore non va grazie tante!
che si possa essere rotto durante la saldatura? con un'elevata temperatura? ho letto nel datasheet che può raggiungere i 60°C senza subire danni, e non penso che un saldatore possa far raggiungere tale temperatura se tenuto per pochi secondi sul pin.
devo comprarne uno nuovo!
http://www.sparkfun.com/datasheets/Sensors/Infrared/GP2D120XJ00F_SS.pdf
12  International / Software / Re: Problema di programmazione. on: January 28, 2013, 12:03:53 pm
Ciao,
perchè stacchi il servo dopo averlo mosso?

ciao,
lo stacco per essere sicura che finita l'azione (se magari ci sono parti di programma che funzionano male) il servo non continui a ruotare magari accumulando tensione e rompendosi. Dici che potrebbe essere sbagliato?
13  International / Software / Re: Problema di programmazione. on: January 28, 2013, 12:01:46 pm
Un consiglio: abituati ad usare millis() al posto di delay, ne vedo diversi...
In questo modo eviti di bloccare tutto il micro, quindi letture del sensore e movimento del servo compresi

ma millis() non ritorna un valore finito di tempo da quando il programma è partito? non saprei come usarlo al posto di delay() non mi sembra la stessa cosa.
14  International / Software / Re: Problema di programmazione. on: January 26, 2013, 02:36:25 pm
vi ringrazio infinitamente per i consigli, siccome stasera sono di fretta domani e lunedì leggo tutto meglio con calma, faccio tutte le prove e vi saprò dire!!.. non sono esperta per niente, sono una studentessa e sto facendo questo progetto per l'esame di maturità.

comunque in risposta a:

Sono anche io neofita di Arduino ma sono un programmatore professionista.

scrivi:
void loop(){
      setGatePos();
      distFissa=IR.getDistanceCentimeter();

Ma la funzione loop() viene eseguita di continuo da Arduino.
Quei comandi mi sembrano delle funzioni da richiamare solo una prima volta (inizializzazioni),
quindi da mettere nella void setup()

Poi, cosa vuol dire non riesci a chiudere il gate ? Non ti funziona il servo?
Hai provato a comandare il servo senza tanti casini? Ovvero sai comandare il servo con uno sketch
semplice semplice senza sensori da cui prendere input?
Come alimenti il servo? Alimentando da cavo USB l'Arduino, potresti avere poca corrente

 smiley-lol


il gate si chiude, ma quando vuole lui. ho già programmato il servo più di una volta senza pasticci vari in mezzo di sensori e so per certo che funziona.
l'arduino è alimentato esternamente, e faccio girare il programma dopo averlo caricato e staccato il cavo usb da pc.
15  International / Software / Re: Problema di programmazione. on: January 25, 2013, 05:22:07 pm
problema: non riesco a capire come far abbassare il gate dopo che il soggetto vi passa attraverso. il mio programma non funziona correttamente, dato che va giù a random quando vuole lui.

la resistenza è in pullup e il pulsante l'ho sempre usato così, è sbagliato?
Pages: [1] 2