ข้ามไปที่เนื้อหาหลัก

ใช้ Arduino ควบคุม2button2led1servo "Nutkung Nutkung"


#include <Servo.h>

int buttonPin = 2;                                  // กำหนดให้สวิทซ์อยู่ที่ขา 2
int buttonPin1 = 4;                               // กำหนดให้สวิทซ์อยู่ที่ขา 4
const int servoPin = 9;                        // กำหนดให้ SERVO อยู่ที่ขา9
int ledPin =  13;                                 // กำหนดให้หลอดไฟอยู่ที่ขา 13
int ledPin1 =  11;                               // กำหนดให้หลอดไฟอยู่ที่ขา 11
boolean buttonState = 0;                   // สถานะของสวิทซ์ตัวที่ 1 เท่ากับ 0
boolean buttonState1 = 0;                 // สถานะของสวทซ์ตัวที่ 2 เท่ากับ 0
int directionState = 0;                       // กำหนดให้สถานะของตำแหน่งเท่ากับ 0                   
Servo servoOne;                               // กำหนดให้เป็น SERVO ตัวที่ 1
int pos = 0;                                       // กำหนดองศาให้เท่ากับ 0

void setup() {
      servoOne.attach(9);                                      // กำหนดให้ SERVO รับสัญาณจากขา 9             
  servoOne.write(directionState);                      // กำหนดอ่านค่าสถานะของตำแหน่ง
      pinMode(ledPin, OUTPUT);                      // กำให้หลอดไฟเป็น เอาต์พุท
      pinMode(buttonPin, INPUT);                    // กำหนดให้สวิทซ์เป็น อินพุท 
      pinMode(ledPin1, OUTPUT);                   // กำหนดให้หลอดไฟเป็น เอาต์พุท
      pinMode(buttonPin1, INPUT);                  // กำหนดให้ สวิทซ์เป็นอินพุท
   
}
void loop() {
      buttonState = digitalRead(buttonPin);         // ให้สถานะของสวิทซ์ไปอ่านค่าสวิซ์ตัวที่ 1

      if (buttonState == LOW) {                          //  กำหนดสถานะของสวิทซ์=LOW
         digitalWrite(ledPin,HIGH);                     //  เขียนค่าหลอดไฟเป็น HIGH
      directionState = 0;                                      // สถานะของตำแหน่งเท่ากับ 0    
      for (pos = 0; pos < 180; pos = pos + 1) {  // เมื่อกดปุ่มจะทำให้ servo หมุนไป180 องศา
        servoOne.write(pos);
     delay(5);
      }
       
      } else {
         digitalWrite(ledPin, LOW);                   // เมื่อปล่อยมืออกจากปุ่มกดไฟก็จะดับ
       
      }
       buttonState1 = digitalRead(buttonPin1);            // ให้สถานะของสวิทซ์ไปอ่านค่าสวิซ์ตัวที่ 2
     
      if (buttonState1 == LOW) {                              //  กำหนดสถานะของสวิทซ์=LOW
         digitalWrite(ledPin1, HIGH);                         //  เขียนค่าหลอดไฟเป็น HIGH
      directionState = 0;                                             // สถานะของตำแหน่งเท่ากับ 0
      for (pos = 180; pos > 1; pos = pos - 1) {           // เมื่อกดปุ่มจะทำให้ servo หมุนไป 0 องศา
        servoOne.write(pos);
        delay(5);
      }
       
      } else {
         digitalWrite(ledPin1, LOW);                       // เมื่อปล่อยมืออกจากปุ่มกดไฟก็จะดับ
      }
}

                                                       การต่อวงจรและการอะิบาย

1 . สวิทช์ตัวที่ 1 ต่อกับขา 2 ต่อ ตัวต้านทาน ต่อกับไฟบวก ( +5V ) ขาอีกข้างต่อ( GND )
2.  ต่อ Led 1 เข้ากับขา 13 ( ขาสั้น )  ส่วนอีกข้างต่อกับไฟบวก ( +5V ) 
3. สวิทช์ตัวที่ 2 ต่อกับขา 4 ต่อ ตัวต้านทาน ต่อกับไฟบวก ( +5V ) ขาอีกข้างต่อกาว ( GND )
4.ต่อLed 1 เข้ากับขา 13 ( ขาสั้น )  ส่วนอีกข้างต่อกับไฟบวก ( +5V )
5.ต่อ SERVO โดยนำสายสีแดงต่อไฟบวก(+5V)และสายสีน้ำตาลต่อกาว(GND)ส่วนสายสีส้มที่เป็นสายสัญาณให้ต่อกับขาdigition (9)

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

คู่มือการใช้ tinkercad เบื้องต้น

คู่มือการใช้งานเบื้องต้น 1.tinkercad               t inkercad คือ  โปรแกรมออกแบบที่ทำงานบน Web Browser  ที่ช่วยในการออกแบบวงจรและยังสามารถจำลองการทำงานของวงจรได้อีกด้วย อีกทั้งยังช่วยในการออกแบบงานจำพวก3dได้อีกด้วยทั้งนี้ทั้งนั้นเราของยกมาแค่การออกแบบวงจรก่อนนะครับ ขั้นตอนการใช้โปรแกรมเบื้องต้น 1.เปิดโปรแกรม หน้าตาโปรแกรมก็จะประมาณนี้คับ 2.เมื่อเปิดโปรแกรมเสร็จแล้วให้ไปที่ Circuits  > try Circuits 3.จากนี้เราก็สามารถเขียนวงจรได้แล้ว 4.ถ้าเราต้องการที่จะเปลี่ยนสีสายของสายที่ใช้ต่อหรือพวกledให้ทำการคลิกทีอุปการณ์และเลือกได้เลย วิธีการนี้ใช้ได้กับการเปลี่ยนค่าตัวต้านทานด้วยเช่นกัน   5.ถ้าเราต้องการที่จะจำลองการทำงานให้เราไปที่ code จากนั้นก็ทำการเขียนได้เลยแต่ในtinkercadมันสามารถเขียนcodeได้หลายแบบมีดังนี้    6.เรามาจำลองการทำงานดูกันเลยดีกว่า ให้เราไปเขียนcodeให้เสร็จก่อนจากนั้นให้ไปกดที่ start simulation จากนั้นมันก็จะทำงานตามที่เราเขียนcode ใว้   7.โปรแกรม...

การใช้งานโปรแกรม Fritzing แบบพื้นฐานขอพื้นฐาน Nisakorn

คู่มือการใช้งานโปรแกรมเบื้องต้น 2. Fritzing   โปรแกรม Fritzing เป็นโปรแกรมที่ช่วยในการออกแบบวงจรสำหรับบอร์ดต่างๆ เช่น Arduino รุ่นต่างๆช่วยให้วางในตำแหน่งที่เหมาะสม ที่สำคัญยังเป็นโปรแกรมฟรีช่วยในการออกแบบวงจรลงบน BreadBoard วาดวงจร Schemetic และการออกแบบแผ่นปริ้น (PCB) ขั้นตอนการใช้งาน Fritzing เบื้องต้น 1.เปิดโปรแกรม หน้าตาโปรแกรมก็จะประมาณนี้คับ 2. คลิ๊กเปิดหน้าใหม่ File > New 3. เมื่อเปิดเสร็จก็จะมีหน้าตาประมาณนี้ ซึ่งเมื่อเข้ามาจะมีอุปกรณ์มากมาย ดังนี้                4. เราสามารถเอาอุปกรณ์ลากมาได้ดังรูป เพื่อที่จะสามารถดูว่าสยไหนเป็นสายไหนเราสามารถเปลี่ยนสีของสายได้ดังนี้ กดที่ Wre Color -  เลือกสีที่ต้องการดังรูป ผมใช้สีแดง 5. โปรแกรมนี้สามารถวงจรไฟฟ้าที่เราเขียนได้กดที่ Schematic 6.วิธีการ Save ไปคลิ๊กที่  File > Save As ซึ่งนามสกุลของมันคือ fzz เราสามารถ save ไฟล์แบบรูปภาพไดหากต้องการไปใช้ ไปที่   file  - expost - as Image  - เลือ...

วัดองศาการเคลื่อนที่ โดย Encoder

จัดทำโดย นายณฐกร      โชติบุตร      แผนกเมคคาทรอนิกส์  วิทยาลัยเทคนิคสมุทรสาคร Esan3D เอ็นโค๊ดเดอร์ Encoder คืออะไร  ? มีอีกชื่อหนึ่งที่นิยมเรียกกันว่า เอ็นโค้ดเดอร์แบบแกนหมุน คือ เซ็นเซอร์ชนิดหนึ่งที่ทำหน้าที่ในการเข้ารหัส จากระยะทางจากการหมุนรอบตัวเอง และแปลงออกมาเป็นรหัสในรูปแบบของสัญญาณ ไฟฟ้า โดยเราสามารถนำเอารหัสเหล่านี้มาแปลงกลับ เพื่อหาค่าต่างๆที่เราต้องการได้ ไม่ว่าจะเป็นระยะทางการหมุน องศาการเคลื่อนที่ หรือ ความเร็วรอบก็ได้ แล้วนำมาแสดงผลให้เราได้ทราบค่าผ่านหน้าจอแสดงผล เช่น ถ้าต้องการวัดระยะทาง เราจะต้องต่อเข้ากับตัวนับจำนวน เพื่อแสดงผลเป็นระยะทาง หรือ ถ้าต้องการวัดความเร็วรอบ เราจะต้องต่อเข้ากับตัววัดพัลส์ โดยการประยุกต์ใช้เอ็นโค้ดเดอร์นั้น สามารถใช้ทำงานได้อย่างหลากหลาย เช่น กระบวนการประกอบชิ้นส่วนอิเล็กทรอนิกส์ อุตสาหกรรมเซมิคอนดักเตอร์ เครื่องมือวัดต่างๆ เช่น ในการวัดความยาว หรือ อุตสาหกรรมเครื่องมือแพทย์ เป็นต้น การจะเลือกใช้ Encoder ต้องดูที่อะไรบ้าง  ? 1.  ความยาวสายสัญญาณของเอ็นโค้ดเดอร์ เมือเรามีการใช้งานตัวเอ็นโค้ด...