คือผมเรียนสาขาไฟฟ้าระบบราง รุ่นแรกเลยครับ ตอนนี้ ปวส.2
จะทำโปรเจคเลเซอร์วัดระยะด้วยเลเซอร์ครับ เอาไปวัดสาย Contact wire(สายส่ง) โดยใช้stepping motor ควบคุมการเล็งเลเซอร์ไปที่สายส่งครับ ชื่อเต็มๆคือ เครื่องตรวจวัดความสูงจากรางถึงสายคอนแทคไวร์ในระบบรถไฟฟ้า
แต่ตอนนี้ติดปัญหาที่ โค้ดตัวเลเซอร์ครับ ด้านการส่งและรับสัญญาณทางพอร์ต RX TX ครับ
ผมลองๆเขียนโค้ดก็เหมือนจะได้แต่ไม่แน่ใจเลยมาตั้งกระทู็ถามครับ
คลิปทดสอบเขียนโค้ด
เว็บข้อมูลและตัวอย่างจากต่างประเทศ
LRF 701A&5020A
LRF V2
Remy_Martin
(Permpol Thanapunnamas)
กุมภาพันธ์ 5, 2022, 2:39pm
2
แล้วตอนนี้อ่านค่าเป็นไงบ้าง คลิปที่ลงมาต้องเปิดเป็นสาธารณะนะครับ ดูไม่ได้
1 Likes
https://drive.google.com/file/d/1jA69UTrTWpe9WT8Ia73QXh7K3cXPpJ2m/view?usp=drivesdk
เปิดให้แล้วครับผม ก็ให้ส่งข้อมูลครับ คำสั่งรับข้อมูลยังไม่ทันได้ลองครับผม กำลังศึกษาทำความเข้าใจอยู่คับ
1 Likes
String receive_buffer;
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(19200);
}
// the loop routine runs over and over again forever:
void loop() {
Serial.write('D');
delay (2000);
if(Serial.available()>0)
{ receive_buffer = Serial.readString();
Serial.println(receive_buffer);
}
}
คลิปทดลองครับ
ตอนนี้ให้ป้อน+รับข้อมูลอัตโนมัติครับ แต่อยากให้กด push button แต่ละปุ่มแล้วให้รันตามคอมมานครับ ช่วยแนะนำทีครับ
คือลองเขียนให้พิมพ์ ตัวอักษรใน seria; monitor แล้วก็ มันก็ไม่ทำงานครับ ผมอาจจะเขียนผิดด้วยแหละครับ
Remy_Martin
(Permpol Thanapunnamas)
กุมภาพันธ์ 15, 2022, 2:30pm
9
ประมาณนี้ครับ
String receive_buffer;
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(19200);
}
// the loop routine runs over and over again forever:
void loop() {
if(digitalRead(Buttton1) == HIGH){
Serial.write('D');
delay (2000);
if(Serial.available()>0)
{ receive_buffer = Serial.readString();
Serial.println(receive_buffer);
}
}
if(digitalRead(Buttton2) == HIGH){
Serial.write('M');
delay (2000);
if(Serial.available()>0)
{ receive_buffer = Serial.readString();
Serial.println(receive_buffer);
}
}
}
โทษทีนะครับตอบช้าช่วงนี้ผมติดงานเยอะมาก ยังไงถึงไหนมาอัพเดทกันหน่อยนะครับ