Picproje Elektronik Sitesi

ENDÜSTRiYEL OTOMASYON => Robotik Sistem Tasarımı => Konuyu başlatan: robikod - 05 Aralık 2016, 22:37:40

Başlık: Serial Comm
Gönderen: robikod - 05 Aralık 2016, 22:37:40
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);
  }
Başlık: Ynt: Serial Comm
Gönderen: robikod - 05 Aralık 2016, 22:58:03
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 ?
Başlık: Ynt: Serial Comm
Gönderen: mehmet - 06 Aralık 2016, 11:55:29
processing.org (http://processing.org)
Belki işinize yarayabilir...
Başlık: Ynt: Serial Comm
Gönderen: robikod - 06 Aralık 2016, 22:10:46
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
Başlık: Ynt: Serial Comm
Gönderen: robikod - 07 Aralık 2016, 16:30:16
Yardımcı olacak kimse yok mu :/
Başlık: Ynt: Serial Comm
Gönderen: robikod - 08 Aralık 2016, 00:03:01
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