Please clarify what working means as im sure that i have sucessfully added libs in apde and so has Jafal.
Then please recheck my post as i tried to make it as clear as possible and even took screenshots
OK. I will definitely try today. I’m still slowly moving forward with the old library on APDE5.2
This?
This is the freshest.
how to glue them? not .jar files!
My git already has the file i posted the link…
Ignore my last response. I seem to recall @jafal saying you need yo add all three.
I will very, very, very slowly climb to victory!
as i said hardware problems i cannot help with as i dont have an arduino to test.
ultimately there are a lot of reasons this could fail and im simply not capable of answering why atm.
@paulgoux
I am not asking for help, I am just informing others who have participated about the current state of affairs.
glv method works I followed the steps and it is success now the library could be use with APDE
i am always saying that you are one of the best
@ZENAR57 here is the modified APDE you can download it and it is ready to use the library
here is working code
import org.slf4j.*;
import org.slf4j.helpers.*;
import com.hoho.android.usbserial.util.*;
import com.yourinventit.processing.android.serial.*;
import org.slf4j.spi.*;
import com.hoho.android.usbserial.driver.*;
import org.slf4j.impl.*;
//import processing.serial.*; // imports library for serial communication
Serial SerialPort; // defines Object for Serial
String ang="";
String distance="";
String data="";
int angle, dist;
void setup() {
size (1200, 700);
// myPort = new Serial(this,"COM4", 9600); // starts the serial communication
SerialPort = new Serial(this, Serial.list(this)[0], 9600);
SerialPort .bufferUntil('.'); // reads the data from the serial port up to the character '.' before calling serialEvent
background(0);
}
void draw() {
//for the blur effect
fill(0,5); //colour,opacity
noStroke();
rect(0, 0, width, height*0.93);
noStroke();
fill(0,255);
rect(0,height*0.93,width,height); // so that the text having angle and distance doesnt blur out
drawRadar();
drawLine();
drawObject();
drawText();
}
void serialEvent (Serial myPort) { // starts reading data from the Serial Port
// reads the data from the Serial Port up to the character '.' and puts it into the String variable "data".
data = myPort.readStringUntil('.');
data = data.substring(0,data.length()-1);
int index1 = data.indexOf(",");
ang= data.substring(0, index1);
distance= data.substring(index1+1, data.length());
angle = int(ang);
dist = int(distance);
System.out.println(angle);
}
void drawRadar()
{
pushMatrix();
noFill();
stroke(10,255,10); //green
strokeWeight(3);
translate(width/2,height-height*0.06);
line(-width/2,0,width/2,0);
arc(0,0,(width*0.5),(width*0.5),PI,TWO_PI);
arc(0,0,(width*0.25),(width*0.25),PI,TWO_PI);
arc(0,0,(width*0.75),(width*0.75),PI,TWO_PI);
arc(0,0,(width*0.95),(width*0.95),PI,TWO_PI);
line(0,0,(-width/2)*cos(radians(30)),(-width/2)*sin(radians(30)));
line(0,0,(-width/2)*cos(radians(60)),(-width/2)*sin(radians(60)));
line(0,0,(-width/2)*cos(radians(90)),(-width/2)*sin(radians(90)));
line(0,0,(-width/2)*cos(radians(120)),(-width/2)*sin(radians(120)));
line(0,0,(-width/2)*cos(radians(150)),(-width/2)*sin(radians(150)));
stroke(175,255,175);
strokeWeight(1);
line(0,0,(-width/2)*cos(radians(15)),(-width/2)*sin(radians(15)));
line(0,0,(-width/2)*cos(radians(45)),(-width/2)*sin(radians(45)));
line(0,0,(-width/2)*cos(radians(75)),(-width/2)*sin(radians(75)));
line(0,0,(-width/2)*cos(radians(105)),(-width/2)*sin(radians(105)));
line(0,0,(-width/2)*cos(radians(135)),(-width/2)*sin(radians(135)));
line(0,0,(-width/2)*cos(radians(165)),(-width/2)*sin(radians(165)));
popMatrix();
}
void drawLine() {
pushMatrix();
strokeWeight(9);
stroke(0,255,0);
translate(width/2,height-height*0.06);
line(0,0,(width/2)*cos(radians(angle)),(-width/2)*sin(radians(angle)));
popMatrix();
}
void drawObject() {
pushMatrix();
strokeWeight(9);
stroke(255,0,0);
translate(width/2,height-height*0.06);
float pixleDist = (dist/40.0)*(width/2.0); // covers the distance from the sensor from cm to pixels
float pd=(width/2)-pixleDist;
float x=-pixleDist*cos(radians(angle));
float y=-pixleDist*sin(radians(angle));
if(dist<=40) // limiting the range to 40 cms
{
//line(0,0,pixleDist,0);
line(-x,y,-x+(pd*cos(radians(angle))),y-(pd*sin(radians(angle))));
}
popMatrix();
}
void drawText()
{
pushMatrix();
fill(100,200,255);
textSize(25);
text("10cm",(width/2)+(width*0.115),height*0.93);
text("20cm",(width/2)+(width*0.24),height*0.93);
text("30cm",(width/2)+(width*0.365),height*0.93);
text("40cm",(width/2)+(width*0.45),height*0.93);
textSize(40);
text("YAinnoware",width*0.08,height*0.99);
text("Angle :"+angle,width*0.45,height*0.99);
if(dist<=40) {
text("Distance :"+dist,width*0.7,height*0.99);
}
translate(width/2,height-height*0.06);
textSize(25);
text(" 30°",(width/2)*cos(radians(30)),(-width/2)*sin(radians(30)));
text(" 60°",(width/2)*cos(radians(60)),(-width/2)*sin(radians(60)));
text("90°",(width/2)*cos(radians(91)),(-width/2)*sin(radians(90)));
text("120°",(width/2)*cos(radians(123)),(-width/2)*sin(radians(118)));
text("150°",(width/2)*cos(radians(160)),(-width/2)*sin(radians(150)));
popMatrix();
}
take Arduino code from here
Radar (SONAR) Using Processing 3
and this is the device filter file make folders in your sketch folder res/xml
<?xml version="1.0" encoding="utf-8"?>
<!--
https://github.com/mik3y/usb-serial-for-android/blob/master/usbSerialExamples/src/main/res/xml/device_filter.xml
-->
<resources>
<!-- 0x0403 / 0x6001: FTDI FT232R UART -->
<usb-device vendor-id="1027" product-id="24577" />
<!-- 0x0403 / 0x6015: FTDI FT231X -->
<usb-device vendor-id="1027" product-id="24597" />
<!-- 0x2341 / Arduino -->
<usb-device vendor-id="9025" />
<!-- 0x16C0 / 0x0483: Teensyduino -->
<usb-device vendor-id="5824" product-id="1155" />
<!-- 0x10C4 / 0xEA60: CP210x UART Bridge -->
<usb-device vendor-id="4292" product-id="60000" />
<!-- 0x067B / 0x2303: Prolific PL2303 -->
<usb-device vendor-id="1659" product-id="8963" />
<!-- 0x1a86 / 0x7523: Qinheng CH340 -->
<usb-device vendor-id="6790" product-id="29987" />
</resources>
@jafal
@paulgoux
@glv
I managed to establish a connection.
I used normal APDE5.2 (unmodified) and normal 0.2.0beta library. The manifest and file filter are used normal. the problem was that all together it absolutely didn’t work at 57600. At any other speed it started to work well.
however, the 57600 terminal worked well in a third-party program.
here is the library
https://drive.google.com/drive/folders/1rOhqlkHkkarVYh5q3qaM5wokhwuFWXzM?usp=sharing
@jafal
@paulgoux
@glv
Thank you all very much. I appreciate every letter and number you write here. your help is immense.
APDE5.2
I blinded the library from your files and installed fine. But I don’t know much about it, something went wrong.
could you please format it correctly into a zip file?
It will be able to work on api16, is it android 4.1? Today there are still many large, old tablets on android4.1, I wanted to use them in the first place, because for the modern world and normal use they are very outdated.