ความรู้แน่น ฟรีสำหรับชุมชน ArduinoAll ที่นี่เท่านั้น

ฟรีและดีที่สุด คอร์สอบรม Arduino + NodeMCU
ทำเพื่อแบ่งปัน ห้ามนำไปจำหน่าย หรือเก็บเงินค่าเรียน
  !!!


  


AllNewStep รับประกันคุณภาพทุกชิ้น วันจันทร์-ศุกร์แจ้งชำระสินค้าก่อน 14.00 จัดส่งทันทีวันนี้ค่ะ

กรุงเทพ /ภาคกลาง ได้พรุ่งนี้


*** สินค้าทุกชิ้น ถ้าสามารถทำรายการสั่งซื้อได้ แสดงว่ามีครบทุกรายการค่ะ *** 

พิมพ์ค้นหาบทความ หัวข้อกระทู้ และสินค้าในเว็บ AllNewStep ได้ที่นี่
QUOTE 

สอบถามเรื่อง step mortor หน่อยครับ

ทศ
ผมใช้ TB6560 เป็นตัวขับ
แล้วใช้ code นี้ในการสั่งให้มอเตอร์ หมุนไป-กลับ แต่มันดันหมุนกลับมากกว่าเดิมทีละนิดๆ ผมลองปล่อยให้มันทำงาน 5 นาที มันขยับไปจากจุดเดิมเยอะมาก ปัญหานี้เกิดจากอะไรหรอครับ ใช้มอเตอร์ 1.8 องศา 6 สายแต่ ต่อไบโบลา 4 สาย สาย com ปล่อยไว้เฉยๆครับ
#define DIR 4
#define M 5
#define EN 6
void setup() {
pinMode(DIR,OUTPUT); //direction
pinMode(M,OUTPUT); //step
pinMode(EN,OUTPUT); //ennable
digitalWrite(DIR,HIGH);
digitalWrite(M,HIGH);
digitalWrite(EN,HIGH);
}
void loop() {
digitalWrite(DIR,LOW);
for(int i=0; i<200; i++){
digitalWrite(M,HIGH);
delay(10);
digitalWrite(M,LOW);
delay(10);
}
delay(5000);
digitalWrite(DIR,HIGH);
for(int i=0; i<200; i++){
digitalWrite(M,HIGH);
delay(10);
digitalWrite(M,LOW);
delay(10);
}
delay(5000);
}
QUOTE 
ความคิดเห็นที่ #1
เจ้าของร้าน

ตัวนี้ทางร้านยังไม่ได้ลอง ต้องขออภัยมาก ๆ

ลองดูโคดนี้ครับ 

https://gist.github.com/penpencool/82e2fe6ddd3350b76f134a50a63b909a

 

QUOTE 
ความคิดเห็นที่ #2
ทศ

ตัวนี้ทางร้านยังไม่ได้ลอง ต้องขออภัยมาก ๆ

ลองดูโคดนี้ครับ 

https://gist.github.com/penpencool/82e2fe6ddd3350b76f134a50a63b909a

 

ตอนนี้ได้แล้วครับ


อยากสอบถามว่า int Mon = 13 ที่ประกาศไว้ข้างบน ใช้กับอะไรหรอครับ เห็นมีเขียนไว้แต่ไม่ได้ต่อขาบน arduino

แล้วก็  ฟังชั่นก์นี้หมายความว่ายังไงหรอครับ เป็นมือใหม่พึ่งหัดทำครับ

Distance = Distance + 1;

  if (Distance ==7808 ) {

    digitalWrite(Dir, !digitalRead(Dir));   

    Distance = 0;

 

  }

ขอบคุณครับ

QUOTE 
ความคิดเห็นที่ #3
เจ้าของร้าน

อยากสอบถามว่า int Mon = 13 ที่ประกาศไว้ข้างบน ใช้กับอะไรหรอครับ เห็นมีเขียนไว้แต่ไม่ได้ต่อขาบน arduino

- เป็นการกำหนดตัวแปรชืื่อ Mon มีค่าเท่ากับ 13 อาจใช้สำหรับกำหนดค่าให้ตัวแปร หรือ ใช้เรียกแทนขา 13 ครับ


แล้วก็  ฟังชั่นก์นี้หมายความว่ายังไงหรอครับ เป็นมือใหม่พึ่งหัดทำครับ

- อธิบายตามโคดนี้ครับ

Distance = Distance + 1; // เพิ่มค่าของตัวแปร Distance อีก 1 

  if (Distance ==7808 ) { // ถ้า Distance มีค่าเท่ากับ 7808

    digitalWrite(Dir, !digitalRead(Dir));    // ให้เขียนค่าที่ขา Dir โดยเช็คว่าขา dir อ่านค่าเข้ามาเป็น 1 ให้มีค่าเป็น0 หรือถ้าเป็น 0 ก็ให้มีค่าเป็น 1

    Distance = 0; // กำหนดค่า Distance เป็น 0

  }

QUOTE 
ความคิดเห็นที่ #4
ทศ

อยากสอบถามว่า int Mon = 13 ที่ประกาศไว้ข้างบน ใช้กับอะไรหรอครับ เห็นมีเขียนไว้แต่ไม่ได้ต่อขาบน arduino

- เป็นการกำหนดตัวแปรชืื่อ Mon มีค่าเท่ากับ 13 อาจใช้สำหรับกำหนดค่าให้ตัวแปร หรือ ใช้เรียกแทนขา 13 ครับ


แล้วก็  ฟังชั่นก์นี้หมายความว่ายังไงหรอครับ เป็นมือใหม่พึ่งหัดทำครับ

- อธิบายตามโคดนี้ครับ

Distance = Distance + 1; // เพิ่มค่าของตัวแปร Distance อีก 1 

  if (Distance ==7808 ) { // ถ้า Distance มีค่าเท่ากับ 7808

    digitalWrite(Dir, !digitalRead(Dir));    // ให้เขียนค่าที่ขา Dir โดยเช็คว่าขา dir อ่านค่าเข้ามาเป็น 1 ให้มีค่าเป็น0 หรือถ้าเป็น 0 ก็ให้มีค่าเป็น 1

    Distance = 0; // กำหนดค่า Distance เป็น 0

  }

ขอบคุณครับ

QUOTE 
ความคิดเห็นที่ #5
เจ้าของร้าน

ยินดีครับ 

แสดงความคิดเห็นที่ 1-5 จากทั้งหมด 5 ความคิดเห็น
ขาย ARDUINO
คุณภาพ อันดับ 1

ได้รับรางวัลร้านยอดเยี่ยม
ตั้งแต่ปี 2558
ขาย Arduino
วีดีโอสอน Arduino

สอน esp8266

สอน Arduino IoT
สอน Arduino แบบเร็ว

สอน NodeMCU

อุปกรณ์ Arduino

MEMBER ZONE

พูดคุย-สอบถาม