กรกฎาคม 23, 2014, 11:00:43 pm *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
   หน้าแรก   ช่วยเหลือ เข้าสู่ระบบ สมัครสมาชิก  
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน หัวข้อ: อยากสอบถามวิธีการแปลงค่าที่รับมาแบบ string เป็น char หรือ int ใน Arduino  (อ่าน 1622 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
shoji
Newbie
*
ออฟไลน์ ออฟไลน์

กระทู้: 5


| |
« เมื่อ: เมษายน 03, 2013, 10:33:58 pm »

input ที่จะส่งมาให้ Arduino เป็นแบบชุดข้อมูล string 16 แบบ [0 0 0 0 ], [0 0 01], [0 0 1 0], [0 1 0 0], [1 0 0 0].... [1 1 1 1]
ผมอยากแปลงให้เป็นข้อมูลแบบ char แทน เพื่อที่จะให้มันเข้าใจคำสั่งง่ายขึ้น
อยากรู้ว่าจะแปลงชุดได้ยังไงครับ
บันทึกการเข้า
ShadowMan
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 8001


ShadowWares


| |
« ตอบ #1 เมื่อ: เมษายน 03, 2013, 11:27:41 pm »

เปลี่ยน String เป็น char หมายความว่าอะไร?
หมายความว่า ถ้าเป็น "1111" เปลี่ยนเป็น "15" แบบหรือเปล่า?
ถ้าใช่ แสดงการคำนวณเลขฐานสองเป็นฐานสิบให้ผมดูหน่อย แล้วเดี๋ยวค่อยว่ากันเรื่อง code
ถ้าไม่ใช่ ปรับคำถามใหม่ ให้ตรงกับสิ่งที่คุณต้องการ
บันทึกการเข้า

By SDW: Do No Wrong Is Do Nothing
          If you want to increase your success rate, double your failure rate
shoji
Newbie
*
ออฟไลน์ ออฟไลน์

กระทู้: 5


| |
« ตอบ #2 เมื่อ: เมษายน 06, 2013, 03:21:54 pm »

ผมลองแก้แล้วครับ ผมส่งค่าเป็นสตริง 16 ค่าจากแมทแลปคือ
1 2 3 4 5 6 7 8 9 a b c d e f z
ผมอยากจะลองเขียนให้มันแสดงใน (ใช้ Arduino) serial monitor ว่ารับค่า 1 2 3 4 5 6 7 8 9 a b c d e f z มาแล้วอ่ะครับ
อยากให้ช่วยดูโค้ดให้หน่อยครับว่ามีไรต้องแก้ไหมครับ

int matlabdata = 0;


void setup()
{
  Serial.begin(9600);
  delay(2000);
 
}

void loop()
{
  while(Serial.available() > 0)
  {
    matlabdata = Serial.read();
      Serial.println(matlabdata);
      delay(1);
  }
}
บันทึกการเข้า
dynamic
Global Moderator
Sr. Member
*****
ออฟไลน์ ออฟไลน์

กระทู้: 292



| |
« ตอบ #3 เมื่อ: เมษายน 06, 2013, 05:36:31 pm »

โค๊ดนี้ รับค่ามา แล้วก็แสดงผลด้วยการส่งค่ากลับไปทาง serial port ที่มันรับมา

ลองรันดูเลยครับ เดี๋ยวก็เห็นผลเอง  อยากให้ดู tutorial + reference ของ arduino ด้วยครับ อ่านง่ายๆ ทำความเข้าใจได้ไม่ยาก
บันทึกการเข้า

w.khanchai
Newbie
*
ออฟไลน์ ออฟไลน์

กระทู้: 2


| |
« ตอบ #4 เมื่อ: เมษายน 21, 2013, 05:55:15 am »

Serial.println(matlabdata);

ต้องใส่ชนิอของข้อมูลที่ต้องการด้วยครับว่าให้ print กลับมาเป็นแบบไหน เช่น

Serial.println(matlabdata,HEX); //เลขฐาน 16

Serial.println(matlabdata,DEC);  //เลขฐาน 10

Serial.println(matlabdata,OCT); //เลขฐาน 8

Serial.println(matlabdata,BIN); //เลขฐาน 2

ครับ

ขออนุญาตฝากลิงค์ด้วยครับ
http://wce-project.lnwshop.com/

https://sites.google.com/site/wceproject/home
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป: