คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 1
ตอนที่คุณ Serial2.read(); data มันยังมาไม่ครบครับ
ลองดูนี่นะ
String readString = "";
void loop()
{
while (Serial2.available()) {
delay(3); //delay to allow buffer to fill
//if (Serial2.available() >0) {
char c = Serial.read(); //gets one byte from serial buffer
readString += c; //makes the string readString
if(c == '\n'){
Serial.println(readString );
readString = "";
break;
}
// }
}
}
การคุยกันของ serial มันมีปัญหาเรื่อง timing คือต้องรอไห้ data มีถึงจะอ่าน แล้วจะส่งก้เมื่อเจอ เว้นบรรทัด ส่งไปหมดเด๋วไปไม่ครบอีก
ลองดูนี่นะ
String readString = "";
void loop()
{
while (Serial2.available()) {
delay(3); //delay to allow buffer to fill
//if (Serial2.available() >0) {
char c = Serial.read(); //gets one byte from serial buffer
readString += c; //makes the string readString
if(c == '\n'){
Serial.println(readString );
readString = "";
break;
}
// }
}
}
การคุยกันของ serial มันมีปัญหาเรื่อง timing คือต้องรอไห้ data มีถึงจะอ่าน แล้วจะส่งก้เมื่อเจอ เว้นบรรทัด ส่งไปหมดเด๋วไปไม่ครบอีก
แสดงความคิดเห็น
อ่านค่าจาก ADXL345 แล้วส่งข้อมูลด้วย Serial Port ทำยังไงครับ ???
โปรแกรมที่เขียนคือ
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
โดยที่โปรแกรมจะเป็นการแสดงค่าเฉพาะแกน Z เท่านั้น เมื่อจับตัว Sensor ตั้งขึ้นค่าที่ได้จะใกล้เคียง 1 g โดยที่รูปนี้เป็นค่าที่แสดงออกมาครับ
แต่ที่สิ่งที่จะทำคือ ให้ค่าที่วัดได้ส่งข้อมูลผ่าน Serial Port ไปที่ Arduino MEGA 2560 ครับ แล้วให้ MEGA 2560 อ่านค่าจาก Serial Port ที่ส่งมาจาก Arduino UNO ครับ ซึ่งเป็นดังภาพนี้ครับ
ผมจะเขียนโปรแกรมบน Arduino MEGA 2560 ยังไงดีครับให้สามารถแสดงค่าเหมือนรูปด้านบนได้ครับ
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
ถ้าใครที่ตอบได้จะขอบคุณเป็นอย่างยิ่งครับ