Serial Comm

Başlatan robikod, 05 Aralık 2016, 22:37:40

robikod

Arduino ve java arasındaki seri port bağlantıları aşağıdaki kod yardımıyla yaptım. Ancak arduinoda sayaç değerim var, sensörden almış olduğum. Bu değeri javada nasıl görebilirim ?

package serialcommarduino;

import com.fazecast.jSerialComm.SerialPort;
import java.util.Scanner;

public class SerialCommArduino {

   
    public static void main(String[] args) {
        
               
        SerialPort ports[]=SerialPort.getCommPorts();
        System.out.println("Bir port seçimi yapınız:");
        int i=0;
        for(SerialPort port: ports){
            System.out.println(i++ + " "+ port.getSystemPortName());
        }
        Scanner scan=new Scanner(System.in);
        int selectPort=scan.nextInt();
        SerialPort port =ports[selectPort];
        port.setBaudRate(9600);
        if(port.openPort()){
            System.out.println("Bağlantı Başarılı");
        }
        else{
            System.out.println("Bağlantı Başarısız");
            return;
        }
        port.setComPortTimeouts(SerialPort.TIMEOUT_READ_SEMI_BLOCKING,10000,0);
        Scanner data=new Scanner(port.getInputStream());
        while(data.hasNextLine()){
            System.out.println(data.nextLine());
        }
        
            
    }
    
}


Arduino tarafındaki kodlarım
int pirPin = 3;
int ledPin = 4;
int deger;
int sayac=0;
void setup()
  {
    Serial.begin(9600);
    pinMode(ledPin, OUTPUT);  
  }
void loop()
  {
    deger = digitalRead(pirPin);
    if(deger==1){
          digitalWrite(ledPin, HIGH);  
          sayac++;
          Serial.println(sayac);
    }
    else{
      digitalWrite(ledPin,LOW);
    }
    
    delay(1000);
  }

robikod

Araştırdığım bütün programlarda, javadan arduinoya gönderebiliyoruz. Arduinodan javaya veri göndermek için nasıl bir kod yazmalıyım ?

mehmet

Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

robikod

Ben pek anlayamadım kusura bakmayın Processing ile ne ilgisi olduğunu
ports.readInt gibi bir ifade kullanmalıyım ancak kodu yazamadım

robikod

Yardımcı olacak kimse yok mu :/

robikod

Scanner sayac = new Scanner(System.in);
            String syc=sayac.nextLine();
            int deger=Integer.parseInt(syc);
            System.out.println(deger);
            
   


Son olarak while içerisine bu kodları ekledim ancak yine sayac degerini çekemiyorum