Show Posts
Pages: [1] 2 3 ... 23
1  International / Generale / Re: rxtx leggere porta seriale da java on: August 20, 2014, 04:03:33 am
Qui male
Code:
while(!stato){
                 String buffer = serialPort.readString();//Read 10 bytes from serial port
                 if(buffer==null){stato=false;}
                 if(buffer!=null){stato=true;System.out.println(buffer); }
                 
            }
meglio
Code:
String buffer;
while(true){
        String buffer = serialPort.readString();
        if (buffer!=null) //bisogna vedere cosa restituisce quando non ci sono caratteri
        {System.out.println(buffer); }
non ho provato il codice!
nello sketch arduiniano per usare l'altra porta devi scrivere
Code:
void setup() {
  Serial1.begin(9600);
}

void loop() {
 
  Serial1.println("aaaaa");delay(100);
  Serial1.println("bbbbb");delay(100);
    Serial1.println("ccccc");delay(100);
  Serial1.println("ddddd");delay(100);
    Serial1.println("eeeee");delay(100);
  Serial1.println("fffff");  delay(100);
}
così usi l'altra seriale non quella di programmazione se non va prova con 2 3 dopo il Serial
Ho letto la documentazione della Due ma qualcosa non va.
2  International / Generale / Re: rxtx leggere porta seriale da java on: August 20, 2014, 03:29:02 am
Ho letto che la due ha due usb quella per programmare e un altra, prova ad usare la seconda per dialogare con il programma, sicuramente non si resetta.
3  International / Generale / Re: rxtx leggere porta seriale da java on: August 19, 2014, 02:51:18 pm
La differenza tra
readString(10)
e
readString()
penso sia che la prima si blocca e attende 10 caratteri poi prosegue, la seconda ritorna null se non ci sono caratteri e tutti i caratteri se ce ne sono, dovresti mettere una if e stampare la stringa solo se non è null

Per evitare il reset dell'arduino leva il controllo di flusso hardware, se no il pin DTR ti resetta l'arduino.
Vedi Software settings to disable the DTR pin on the host: http://playground.arduino.cc/Main/DisablingAutoResetOnSerialConnection
4  International / Generale / Re: rxtx leggere porta seriale da java on: August 19, 2014, 01:02:01 pm
Per leggere tutti i caratteri disponibili usa
readString()
vedi http://java-simple-serial-connector.googlecode.com/svn/trunk/additional_content/javadoc/0.8/jssc/SerialPort.html
se definisci un protocollo ci puoi mettere un fine riga standard tipo ; o puoi cercare il carattere di ritorno a capo.
Quando lo trovi decodifichi il comado completo.
5  International / Generale / Re: rxtx leggere porta seriale da java on: August 19, 2014, 03:15:21 am
Che sistema operativo utilizzi?
Penso sia Linux, mi sa che devi aggiungere l'utente che usi al gruppo dialout, guarda i permessi del gruppo sulla porta facendo
ls -l /dev/ttyACM0
e aggiugiti al gruppo proprietrio della porta, vedi
http://www.maffucci.it/2012/01/26/impossibile-selezionare-la-serial-port-sullide-di-arduino/
6  International / Generale / Re: rxtx leggere porta seriale da java on: August 19, 2014, 02:29:30 am
Ciao,
avevo fatto questo per vedere lo stato dei segnali, è semplicissimo modificarlo per leggere e scrivere dalla porta:

Code:
import gnu.io.*;
public class SerialTest {
   public static void main(String[] args) {
       try {
           //String portName = "/dev/cu.SLAB_USBtoUART";
           String portName = "/dev/tty.SLAB_USBtoUART";
           //String portName = "/dev/tty.usbserial";
           //String portName = "COM6";
           System.out.println("Opening serial port " + portName);
           CommPortIdentifier portid = CommPortIdentifier.getPortIdentifier(portName);
           SerialPort serialPort = (SerialPort)portid.open("Serialport DTR/RTS test", 1000);
          
           serialPort.setSerialPortParams(9600,SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
           serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);
           //serialPort.disableReceiveTimeout();
           for (int i=0 ; i<5 ; i++) {
               System.out.println("DTR ON");
               serialPort.setDTR(true);
               Thread.sleep(10000);
              
               System.out.println("DTR OFF");
               serialPort.setDTR(false);
               Thread.sleep(10000);
              
               System.out.println("RTS ON");
               serialPort.setRTS(true);
               Thread.sleep(10000);
              
               System.out.println("RTS OFF");
               serialPort.setRTS(false);
               Thread.sleep(10000);
           }
       } catch (Exception e) {
           e.printStackTrace();
           System.exit(1);
       }
       System.exit(0);
   }
}

questa è la versione con jssc

Code:
import jssc.SerialPort;
import jssc.SerialPortException;

public class SerialTest2 {
   public static void main(String[] args) {
       try {
           //String portName = "/dev/cu.SLAB_USBtoUART";
           //String portName = "/dev/tty.SLAB_USBtoUART";
           String portName = "COM7";
           //String portName = "/dev/tty.usbserial";
           //String portName = "COM6";
           System.out.println("Opening serial port " + portName);
           //CommPortIdentifier portid = CommPortIdentifier.getPortIdentifier(portName);
           //SerialPort serialPort = (SerialPort)portid.open("Serialport DTR/RTS test", 1000);
           SerialPort serialPort = new SerialPort(portName);
           try {
               serialPort.openPort();
               serialPort.setParams(SerialPort.BAUDRATE_9600,
                                SerialPort.DATABITS_8,
                                SerialPort.STOPBITS_1,
                                SerialPort.PARITY_NONE);
                //serialPort.closePort();//Close serial port
           //int mask = SerialPort.MASK_RXCHAR + SerialPort.MASK_CTS + SerialPort.MASK_DSR;//Prepare mask
           //serialPort.setEventsMask(mask);


           //serialPort.setSerialPortParams(9600,SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
           //serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_RTSCTS_IN);
           //serialPort.disableReceiveTimeout();
           serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);
           //serialPort.notifyOnCTS(true);
           Boolean CTS = serialPort.isCTS();
           System.out.print("CTS is: ");
           if (CTS) {
                 System.out.println("True");
           } else {
                 System.out.println("False");
           }
           
           //serialPort.notifyOnDSR(true);
           Boolean DSR = serialPort.isDSR();
           System.out.print("DSR is: ");
           if (DSR) {
                 System.out.println("True");
           } else {
                 System.out.println("False");
           }
           Boolean RI = serialPort.isRING();
           System.out.print("RI is: ");
           if (RI) {
                 System.out.println("True");
           } else {
                 System.out.println("False");
           }
           
           while (true) {
                 Thread.sleep(500);
                 Boolean myCTS = serialPort.isCTS();
                 //if ( myCTS != CTS) {
                     if (myCTS == true ) {
                         System.out.println("CTS is: True");
                         CTS = true;
                     } else {
                         System.out.println("CTS is: False");
                         CTS = false;
                     }
                 //}
                 
                 Boolean myDSR = serialPort.isDSR();
                 if ( myDSR != DSR) {
                     if (myDSR == true ) {
                         System.out.println("DSR is: True");
                         DSR = true;
                     } else {
                         System.out.println("DSR is: False");
                         DSR = false;
                     }
                 }
                 Boolean myRI = serialPort.isRING();
                 if ( myRI != RI) {
                     if (myRI == true ) {
                         System.out.println("RI is: True");
                         RI = true;
                     } else {
                         System.out.println("RI is: False");
                         RI = false;
                     }
                 }

           }
                           }
            catch (SerialPortException ex) {
                            System.out.println(ex);
            }
       } catch (Exception e) {
           e.printStackTrace();
           System.exit(1);
       }
       System.exit(0);
   }
}
7  International / Generale / Re: accesso arduino da remoto on: July 02, 2014, 10:45:57 am
Se ti basta telnet ecco qui.
Non è molto sicuro, io accedo ad una macchina linux con ssh e poi telnetto sull'arduino.
8  International / Hardware / Re: Problema con RFID MFRC 522 on: June 24, 2014, 08:48:07 am
Ho saldato sulla scheda rfid un connettore femmina per poter usare direttamente i cavetti della breadboard.
9  International / Hardware / Re: Problema con RFID MFRC 522 on: June 24, 2014, 04:48:49 am
Ciao,
io ho preso questi
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=301128535599&ssPageName=ADME:L:OC:IT:3160
che sembrano uguali al tuo, ho usato questa
https://github.com/miguelbalboa/rfid
e con la uno ha funzionato tutto al primo colpo, ma ho usato

Code:
#define SS_PIN 9
#define RST_PIN 8
MFRC522 mfrc522(SS_PIN, RST_PIN);

per inizializzare la libreria, il tuo codice va bene con la mega non con la uno.
vedi https://github.com/bigjohnson/Tcpnfclockduino
Magari per iniziare usa l'esempio Dumpinfo della libreria che è il più semplice.
10  International / Generale / Re: uscire da un do while quando voglio (ESPLORA) on: June 23, 2014, 11:13:30 am
break;

ma di solito per i menu si usa case non do while
11  International / Hardware / Re: Ventola e Transistor on: June 23, 2014, 09:16:22 am
Lo schema corretto è questo:

12  Community / Exhibition / Gallery / Tcpnfclockduino a Nfc lock with card database on webserver on: June 05, 2014, 11:17:06 am
Hello all,
here https://github.com/bigjohnson/Tcpnfclockduino you can find a rfid lock with uid authorization check on remote webserver.
I've made a simple example Apache bash server side include for test purpose.
Tested with Mifare cards and tokens.
Enjoy.

Alberto
13  International / Generale / Re: Kit per lettore RFID on: May 29, 2014, 07:21:39 am
A futura memoria:
ho fatto l'adattatore spi per usare il modulo con la mcu e con Arduino non funziona.
Con la seriale tutto ok.
14  International / Software / Re: Consiglio alimentatore per arduino e modulo relè on: April 16, 2014, 03:09:04 am
Io ho da quattro anni questo progetto fatto con arduino e alimentato a 12 volt senza nessun problema, tieni presente che è anche inscatolato senza ventilazione...
Di solito uso alimentatori a 12 volt stabilizzati, perché ne ho in giro un sacco, se lo devi prendere apposta 9 volt sono meglio.
15  International / Hardware / Re: Ethernet shield e relay on: April 11, 2014, 04:47:42 am
Quote
Digli almeno che integrato è quello   smiley-grin

Passando il puntatore del mouse sull'immagine si trasforma da freccina in manina e se fate click succedono un sacco di cose...
Pages: [1] 2 3 ... 23