Posted on

การอ่านค่าจากขาอะนาล็อก 10 บิต บอร์ด Arduino

การอ่านค่าจากขาอะนาล็อก 10 บิต บอร์ด Arduino

Read Analog Voltage

BOARD OPERATING VOLTAGE USABLE PINS MAX RESOLUTION

Uno

5 Volts

A0 to A5

10 bits

Code

การอ่านค่าจากขาอะนาล็อก 10 บิต บอร์ด Arduino มีตัวแปลงแอนะล็อกเป็นดิจิทัลแบบหลายช่องสัญญาณ 10 บิต ซึ่งหมายความว่าจะแมปแรงดันอินพุตระหว่าง 0 และแรงดันใช้งาน (5V หรือ 3.3V) เป็นค่าจำนวนเต็มระหว่าง 0 ถึง 1023 ตัวอย่างเช่น บน Arduino UNO ค่านี้จะให้ความละเอียดระหว่างการอ่าน: 5 โวลต์ / 1024 หน่วย หรือ , 0.0049 โวลต์ (4.9 มิลลิโวลต์) ต่อหน่วย

  • ช่วงอินพุตสามารถเปลี่ยนได้โดยใช้ analogReference() ในขณะที่สามารถเปลี่ยนความละเอียดได้ (สำหรับบอร์ด Zero, Due และ MKR เท่านั้น) โดยใช้ analogReadResolution()
  • บนบอร์ดที่ใช้ ATmega (UNO, Nano, Mini, Mega) จะใช้เวลาประมาณ 100 ไมโครวินาที (0.0001 วินาที) ในการอ่านอินพุตแบบอะนาล็อก ดังนั้นอัตราการอ่านสูงสุดจึงอยู่ที่ประมาณ 10,000 ครั้งต่อวินาที
  • ในโปรแกรมด้านล่าง สิ่งแรกที่คุณจะทำคือในฟังก์ชันการตั้งค่า เพื่อเริ่มการสื่อสารแบบอนุกรมที่ข้อมูล 9600 บิตต่อวินาที ระหว่างบอร์ดและคอมพิวเตอร์ของคุณด้วยสาย:

  • ในลูปหลักของโค้ดต้องสร้างตัวแปรเพื่อเก็บค่าความต้านทาน (ซึ่งจะอยู่ระหว่าง 0 ถึง 1023 เหมาะสำหรับประเภทข้อมูล int) ที่มาจากโพเทนชิออมิเตอร์

  • หากต้องการเปลี่ยนค่าจาก 0-1023 เป็นช่วงที่สอดคล้องกับแรงดันไฟฟ้าที่พินกำลังอ่านจะต้องสร้างตัวแปรอื่น เช่น Float หากต้องการปรับขนาดตัวเลขระหว่าง 0.0 ถึง 5.0 ให้หาร 5.0 ด้วย 1023.0 แล้วคูณด้วย sensorValue :

  • สุดท้ายต้อง Print ข้อมูลนี้ไปยัง Serial Monitor  สามารถทำได้โดยใช้คำสั่ง Serial.println() ในโค้ดบรรทัดสุดท้าย:

  • เมื่อเปิด Serial Monitor ใน Arduino IDE (โดยคลิกที่ไอคอนทางด้านขวาของแถบสีเขียวด้านบน หรือกด Ctrl+Shift+M) จะเห็นตัวเลขต่อเนื่องตั้งแต่ 0.0 – 5.0 เมื่อ หมุน Potentiometer  ค่า จะเปลี่ยนตามแรงดันไฟที่เข้าขา A0
Posted on

ควบคุมสเต็ปปิ้งมอเตอร์โดยใช้บอร์ดอาดูโน่และลิมิตสวิทช์

ควบคุมสเต็ปปิ้งมอเตอร์โดยใช้บอร์ดอาดูโน่

 

Posted on

บันทึกข้อมูล CoolTerm Arduino Serial Motitor Data ในไฟล์ TXT, CSV และ Excel

ใช้ CoolTerm เพื่อรับข้อมูลซีเรียลเป็นไฟล์ที่บันทึกได้

CoolTerm 2.0 freeware Download

https://coolterm.en.lo4d.com/windows

CoolTerm สามารถบันทึกข้อมูลขาเข้าลงในไฟล์ข้อความ ในส่วนวิธีใช้ คุณสามารถอ่านเกี่ยวกับ “ข้อมูลที่ได้รับสามารถบันทึกลงใน Textfile โดยใช้การ Connection/Capture to Textfile.”, “Capture Text Options”, “Leave File open while capturing” and “Add timestamps to received data”.

Posted on

ตัวอย่างโปรแกรม แสดงผล Counter บนคอมพิวเตอร์ Modbus RTU RS485 ด้วย Software Processing 

โปรโตคอล Modbus เป็นวิธีการมาตรฐานในอุตสาหกรรมสำหรับการถ่ายโอนข้อมูล ใช้กับระบบอัตโนมัติและระบบควบคุมในงานอุตสาหกรรม

  • Step 3 : เชื่อมต่อสายสื่อสารข้อมูล RS485-USB เข้ากับคอมพิวเตอร์
  • Step 4 : เปิด Source Code เปลี่ยน Comport ให้ตรง (ทำได้โดยแก้ไขบรรทัดที่  3 เดิมเป็น COM11 เปลี่ยน commPort เป็น COMXX ให้ตรงกับ Comport ในคอมพิวเตอร์ของเรา *ดูใน Device Manager )

Step 5 : กดปุ่มรัน (Run) โปรแกรมจะแสดงผลค่า Target และค่าที่นับได้ (Actual)

Posted on

ตัวอย่างโค้ด Arduino รวมเซนเซอร์ 37 ชิ้น

ตัวอย่างโค้ดรวมเซนเซอร์ Arduino 37 ชิ้น  Arduino Example Code 37 Sensor Kit

ตัวอย่างโค้ด โมดูลเซ็นเซอร์อุณหภูมิ Temperature sensor module Arduino Example Code

รหัสนี้ใช้ไลบรารี OneWire และ DallasTemperature เพื่อสื่อสารกับโมดูลเซ็นเซอร์อุณหภูมิ ไลบรารี OneWire ใช้เพื่อสร้างการสื่อสารกับโมดูลเซ็นเซอร์อุณหภูมิผ่านบัสสายเดี่ยว และไลบรารี DallasTemperature มีอินเทอร์เฟซที่ใช้งานง่ายสำหรับการอ่านค่าอุณหภูมิ ในฟังก์ชันการตั้งค่า เราเริ่มต้นพอร์ตอนุกรมและเริ่มไลบรารี DallasTemperature ในฟังก์ชันลูป เราร้องขออุณหภูมิจากเซ็นเซอร์โดยใช้ฟังก์ชัน requestTemperatures จากนั้นพิมพ์ค่าอุณหภูมิโดยใช้ฟังก์ชัน getTempCByIndex โปรดทราบว่ารหัสนี้ถือว่าโมดูลเซ็นเซอร์อุณหภูมิเชื่อมต่อกับพิน 2 บนบอร์ด Arduino และใช้ดัชนีอุปกรณ์เริ่มต้น (0) คุณอาจต้องแก้ไขค่าเหล่านี้ขึ้นอยู่กับการตั้งค่าเฉพาะของคุณ

 

ตัวอย่างโค้ด Automatic flashing colorful LED module Arduino Example Code

 

ตัวอย่างโค้ด Mini magnetic reed modules Arduino Example Code

 

ตัวอย่างโค้ด Hall Magnetic sensor module Arduino Example Code

 

ตัวอย่างโค้ด Infrared sensor receiver module Arduino Example Code

 

ตัวอย่างโค้ด Class Bihor magnetic sensor Arduino Example Code

 

ตัวอย่างโค้ด เซนเซอร์สวิตช์ปรอทกับหลอดไฟ LED KY-027 Magic light cup module Arduino Example Code

 

ตัวอย่างโค้ด Rotary encoder module Arduino Example Code

 

ตัวอย่างโค้ด Optical broken module Arduino Example Code

 

ตัวอย่างโค้ด Detect the heartbeat module Arduino Example Code

 

ตัวอย่างโค้ด Reed module Arduino Example Code

 

ตัวอย่างโค้ด Obstacle avoidance sensor module Arduino Example Code

 

ตัวอย่างโค้ด Hunt sensor module Arduino Example Code

 

ตัวอย่างโค้ด Mercury open optical module Arduino Example Code

 

ตัวอย่างโค้ด 3mm 2 Color LED module Arduino Example Code

 

ตัวอย่างโค้ด Active buzzer module

 

ตัวอย่างโค้ด Microphone sound sensor module

 

ตัวอย่างโค้ด Laser sensor module Arduino Example Code

 

ตัวอย่างโค้ด Temperature sensor module Arduino Example Code

 

ตัวอย่างโค้ด Magnetic Hall sensors Arduino Example Code

 

ตัวอย่างโค้ด Flame sensor module Arduino Example Code

 

ตัวอย่างโค้ด Sensitive microphone sensor module Arduino Example Code

 

ตัวอย่างโค้ด Temperature&humidity sensor module Arduino Example Code

 

ตัวอย่างโค้ด 3 Color full-color LED SMD modules Arduino Example Code

 

ตัวอย่างโค้ด Infrared emission sensor module Arduino Example Code

Posted on

การควบคุมรถบังคับดีซีมอเตอร์ผ่านสมาร์ทโฟนโดยใช้อาดูโน่ Arduino Car Robot Bluetooth Module

หลักการควบคุมไดรเวอร์มอเตอร์ L298 ด้วย Arduino และสมาร์ทโฟน จะต้องตั้งค่าการสื่อสาร Bluetooth ระหว่าง Arduino และสมาร์ทโฟน ติดตั้งโมดูล Bluetooth เช่น Bluetooth HC-05 (ZS-040) บน Arduino และต่อสายตามแผ่นข้อมูลของโมดูล ส่งคำสั่งจากสมาร์ทโฟนไปยัง Arduino เพื่อควบคุม L298 และมอเตอร์ที่เชื่อมต่ออยู่ ตัวอย่างเช่น ส่ง “F” เพื่อให้มอเตอร์เคลื่อนที่ไปข้างหน้า ส่ง “B” เพื่อให้มอเตอร์เคลื่อนที่ถอยหลัง และ ส่ง “S” เพื่อหยุดมอเตอร์ สามารถส่งคำสั่งเพื่อควบคุมความเร็วของมอเตอร์ เช่น “1” สำหรับความเร็วต่ำและ “9” สำหรับความเร็วสูง

รวบรวมวัสดุที่จำเป็น:

  1. BDMC04 บอร์ดอาดุยโน่ Arduino Uno R3 Compatible DIP IC CH340 USB Cable
  2. BDSP02 บอร์ดขับมอเตอร์ DC Motor Driver L298N
  3. BDBT01 โมดูลบลูทูธ Bluetooth Module HC-06 BT06 (ZS-040)
  4. DC Gear Motor พร้อมล้อ + โครงสร้างรถหรือตัวถังรถเพื่อประกอบฐานล้อ โครงรถอลูมิเนียม Aluminum Frame Robot Car Wheel TT DC Gear Motor
  5. เครื่องมือช่างที่จำเป็นได้แก่หัวแร้งและตะกั่วบัดกรี

แผนผังการต่อสายไฟ

ติดตั้งแอพเทอร์มินัล Bluetooth บนสมาร์ทโฟน

แอพ Android และ iOS ที่ให้เราส่งและรับข้อมูลผ่านบลูทูธ โดยใช้ Bluetooth terminal app, Serial Bluetooth Terminal, Bluetooth Terminal

ตั้งค่าฮาร์ดแวร์:

เชื่อมต่อโมดูลบลูทูธ เข้ากับ Arduino

  1. โมดูลบลูทูธ VCC  >> 3.3V Arduino
  2. โมดูลบลูทูธ GND >> GND Arduino
  3. โมดูลบลูทูธ RXD >> 11 Arduino
  4. โมดูลบลูทูธ TXD >> 10 Arduino

เขียน Code: arduino

เขียน Sketch สำหรับ Arduino เพื่อควบคุม L298 ตามคำสั่งที่ได้รับผ่านการเชื่อมต่อ Bluetooth Sketch นี้ใช้ไลบรารี software serial เพื่อตั้งค่าพอร์ตอนุกรมที่สองสำหรับ Bluetooth Module และรับฟังคำสั่งผ่านพอร์ตนี้ในฟังก์ชันลูป เมื่อได้รับคำสั่ง มันจะควบคุม L298 ตามอักขระที่ได้รับ L298 ถูกควบคุมโดยใช้ฟังก์ชันเอาต์พุตดิจิตอลเพื่อกำหนดทิศทางของมอเตอร์ และฟังก์ชันเอาต์พุตแบบอะนาล็อกเพื่อตั้งค่าความเร็วของมอเตอร์โดยใช้การมอดูเลตความกว้างพัลส์ (PWM)

 

Posted on

วิธีใช้อาดูโน่ควบคุมรถบังคับดีซีมอเตอร์ Arduino L298N DC Motor Car Robot

ในการควบคุมรถ RC โดยใช้ Arduino และไดรเวอร์มอเตอร์ L298N จะต้องทำตามขั้นตอนเหล่านี้

รวบรวมวัสดุที่จำเป็น:

  1. BDMC04 บอร์ดอาดุยโน่ Arduino Uno R3 Compatible DIP IC CH340 USB Cable
  2. BDSP02 บอร์ดขับมอเตอร์ DC Motor Driver L298N
  3. DC Gear Motor พร้อมล้อ + โครงสร้างรถหรือตัวถังรถเพื่อประกอบฐานล้อ RC4401 โครงรถอลูมิเนียม Aluminum Frame Robot Car 65mm Wheel TT DC Gear Motor
  4. เครื่องมือช่างที่จำเป็นได้แก่หัวแร้งและตะกั่วบัดกรี

ตั้งค่าฮาร์ดแวร์:

  1. เชื่อมต่อแหล่งจ่ายไฟเข้ากับโมดูลไดรเวอร์มอเตอร์ L298N
  2. โมดูล L298N จะต้องมีแหล่งจ่ายไฟแยกต่างหากจาก Arduino เนื่องจากจะต้องขับมอเตอร์ซึ่งต้องใช้กระแสไฟมาก
  3. เชื่อมต่อมอเตอร์เข้ากับโมดูลไดรเวอร์มอเตอร์ L298N โมดูล L298N มีเอาต์พุตมอเตอร์สองตัวสำหรับมอเตอร์ด้านซ้ายขวาของรถ RC
    1. เชื่อมต่อมอเตอร์ด้านซ้าย เข้า กับขั้วต่อ M1
    2. เชื่อมต่อมอเตอร์ด้านขวา เข้า กับขั้วต่อ M2
    3. เชื่อมต่อโมดูลไดรเวอร์มอเตอร์ L298N เข้ากับ Arduino เชื่อมต่อพิน ENA และ ENB ของโมดูล L298N
    4. เชื่อมต่อโมดูลไดรเวอร์มอเตอร์ L298Nเข้ากับพินดิจิทัล PWM ของ Arduino
    5. เชื่อมต่อพิน IN1, IN2, IN3 และ IN4 เข้ากับพินดิจิทัลเอาต์พุตของ Arduino

แผนผังการต่อสายไฟ

https://oshwlab.com/s2insupply/arduino-l298n-rc-robot-car

เขียน Code: arduino

  • เขียน Arduino Sketch เพื่อควบคุมมอเตอร์ ใช้ฟังก์ชัน digitalWrite() เพื่อตั้งค่าสถานะของพิน IN1, IN2, IN3 และ IN4 และใช้ฟังก์ชัน analogWrite() เพื่อตั้งค่าความเร็วของมอเตอร์โดยใช้พิน ENA และ ENB
  • อัปโหลด Sketch ไปยัง Arduino และทดสอบรถ RC ใช้ฟังก์ชัน digitalWrite() และ analogWrite() ใน Sketch เพื่อควบคุมทิศทางและความเร็วของมอเตอร์ และใช้รีโมทคอนโทรลหรืออุปกรณ์อินพุตอื่นๆ เพื่อส่งคำสั่งไปยัง Arduino

 

 

Posted on

วิธีทำถังขยะอัตโนมัติใช้อาดูโน่เซอร์โวมอเตอร์และอัลตร้าโซนิคเซนเซอร์ Arduino automatic waste bin

ภาพรวมของระบบถังขยะควบคุมอัตโนมัติประกอบด้วยส่วนประกอบหลัก 3 ส่วนได้แก่ตัวควบคุมเซ็นเซอร์และมอเตอร์ควบคุมในที่นี้ส่วน input ให้มาจากเซ็นเซอร์เซ็นเซอร์อัลตร้าโซนิคและ output ที่สามารถควบคุมการเคลื่อนไหวนั่นคือมอเตอร์ขนาดเล็กนั่นเอง

วิธีทำถังขยะอัตโนมัติโดยใช้อาดูโน่และเซอร์โวมอเตอร์และอัลตร้าโซนิคเซนเซอร์ การทำถังขยะอัตโนมัติโดยใช้ Arduino เซอร์โวมอเตอร์ และเซ็นเซอร์อัลตราโซนิกเป็นโครงการง่ายๆ ที่สามารถทำได้ในไม่กี่ขั้นตอน นี่คือโครงร่างทั่วไปของวิธีเริ่มต้นใช้งาน: หลักการทำงานของ เซ็นเซอร์อัลตราโซนิก HC-SR04 เป็นอุปกรณ์ยอดนิยมและราคาไม่แพงที่สามารถใช้วัดระยะทางไปยังวัตถุได้ ทำงานโดยปล่อยคลื่นเสียงความถี่สูงและวัดเวลาที่คลื่นเสียงสะท้อนกลับหลังจากกระทบวัตถุ หากต้องการใช้เซ็นเซอร์อัลตราโซนิก HC-SR04 กับบอร์ด Arduino จะต้องเชื่อมต่อเข้ากับบอร์ดโดยใช้สายจัมเปอร์ HC-SR04 มี 4 พิน คือ Vcc, Trig, Echo และ GND

รวบรวมวัสดุที่จำเป็น:

  1. BDMC04 บอร์ดอาดุยโน่ Arduino Uno R3 Compatible DIP IC CH340 USB Cable
  2. MT0501 เซอร์โวมอเตอร์ RC Servo Motor Micro RC SG90 Black
  3. SSUS01 เซ็นเซอร์อัลตราโซนิก เซ็นเซอร์จับระยะ Ultrasonic Sensor HC-SR04
  4. แหล่งพลังงาน (เช่น แบตเตอรี่หรือแหล่งจ่ายไฟ DC 4.5 – 12V)
  5. รังถ่านใส่แบตเตอรี่ Battery Holder
  6. สายไฟจัมเปอร์ Jumper Wire
  7. ถังขยะขนาดเล็กตามแต่จะหาได้

ตั้งค่าฮาร์ดแวร์:

  1. เชื่อมต่อเซอร์โวมอเตอร์เข้ากับ บอร์ด Arduino UNO R3 โดยใช้สายจัมเปอร์
  2. เชื่อมต่อเซ็นเซอร์อัลตราโซนิกเข้ากับ บอร์ด Arduino UNO R3 โดยใช้สายจัมเปอร์
  3. เชื่อมต่อแหล่งจ่ายไฟ DC 4.5 – 12V เข้ากับ บอร์ด Arduino Uno R3 ผ่านทางขั้ว DC Jack 5.5×2.1mm
  4. Code นี้ เซอร์โวมอเตอร์เชื่อมต่ออยู่กับขา 8 ของ บอร์ด Arduino Uno R3
  5. ขา Trig Pin ของเซ็นเซอร์อัลตราโซนิกเชื่อมต่อกับขา 9 ของ บอร์ด Arduino Uno R3
  6. ขา echo Pin ของเซ็นเซอร์อัลตราโซนิกเชื่อมต่อกับขา 10 ของ บอร์ด Arduino Uno R3

How HC-SR04 Ultrasonic Module Distance Sensor works

เซ็นเซอร์จะส่ง Ping ที่เวลา t1 และรับการ Ping ที่เด้งที่เวลา t2 เมื่อทราบความเร็วของเสียง ความแตกต่างของเวลา Δt = t2 – t1 สามารถทำให้เราทราบระยะทางของวัตถุได้

  • D, distance = (t2 – t1/2)
  • D, distance = (Δt /2)
  • D, distance = (duration/2)

ตัวอย่างเช่น ถ้า Δt = 500us เรารู้ว่าต้องใช้เวลา 250us ในการส่ง Ping ไปกระทบวัตถุ และอีก 250us ในการกลับมา
ความเร็วเสียง c โดยประมาณในอากาศแห้งกำหนดโดย  สมการ:

  • c = 331.5 + 0.6 * [อุณหภูมิอากาศเป็นองศาเซลเซียส]
    ที่ 20°C,
  • c = 331.5 + 0.6 * 20
  • c = 343.5 m/s
    ถ้าเราแปลงความเร็วเป็นเซนติเมตรต่อไมโครวินาที เราจะได้:
  • c = 343.5 * (100/1000000)
  • c = 0.03435 cm./s

ระยะทางคือ

  • D, distance = (Δt/2)*c

หรือ

  • distance = 250*0.03435 = 8.6cm.

แทนที่จะใช้ความเร็วของเสียง เราสามารถใช้ “อัตราเร็วของเสียง” ได้เช่นกัน
อัตราเร็วของเสียง = 1 / c

อัตราเร็วของเสียง = 1 / 0.03435

อัตราเร็วของเสียง = 29.1ss/cm

ในกรณีนี้ สมการที่ใช้คำนวณระยะทางจะกลายเป็น:

  • distance = (Δt/2) / อัตราเร็วของเสียง

และสำหรับตัวอย่างด้านบน:

  • distance = 250 / 29.1
  • distance = 8.6 cm

https://www.instructables.com/Using-a-SR04/

 

แผนผังการต่อสายไฟ

https://oshwlab.com/s2insupply/arduino-automatic-waste-bin

เขียน Code: arduino Code เชื่อมต่ออัลตราโซนิคเซนเซอร์เพื่อควบคุมเซอร์โวมอเตอร์

  1. ใช้ Arduino Integrated Development Environment (IDE) เพื่อเขียนโปรแกรมที่จะควบคุมเซอร์โวมอเตอร์และเซ็นเซอร์อัลตราโซนิก
  2. กำหนดตัวแปร
    1. const int trigPin = 9; // define trigPin for ultrasonic sensor
    2. const int echoPin = 10; // define echoPin for ultrasonic sensor
    3. myservo.attach(8);  // attach the servo to pin 8
  3. ตั้งค่าเซอร์โวมอเตอร์และเซ็นเซอร์อัลตราโซนิก
  4. ในฟังก์ชันลูป ใช้เซ็นเซอร์อัลตราโซนิกเพื่อวัดระยะทางไปยังวัตถุ
  5. หากระยะทางต่ำกว่าเกณฑ์ที่กำหนด ให้เปิดใช้งานเซอร์โวมอเตอร์เพื่อเปิดถังขยะ
    1. เซ็นเซอร์อัลตราโซนิกจะใช้เพื่อวัดระยะทางไปยังวัตถุ หากระยะห่างน้อยกว่า 20 ซม. เซอร์โวมอเตอร์จะตั้งค่าเป็น 0 องศาเป็นเวลา 1 วินาที จากนั้นตั้งค่าเป็น 90 องศา
    2. หากระยะทางมากกว่า 20 ซม. เซอร์โวมอเตอร์จะตั้งค่าเป็น 90 องศา
  6. อัพโหลดโค้ดไปยังบอร์ด Arduino
  7. ทดสอบและดีบัก
  8. ทดสอบโปรแกรมโดยวางวัตถุไว้ด้านหน้าเซ็นเซอร์อัลตราโซนิก และตรวจสอบว่าเซอร์โวมอเตอร์เคลื่อนที่เพื่อเปิดถังขยะ
  9. ดีบักปัญหา ที่เกิดขึ้นโดยใช้เครื่องมือดีบักในตัว Arduino IDE และตรวจหาข้อผิดพลาดทางไวยากรณ์หรือข้อผิดพลาดเชิงตรรกะในโค้ดของเรา

ตัวอย่าง Arduino Code เชื่อมต่ออัลตราโซนิคเซนเซอร์เพื่อวัดระยะทางไปยังวัตถุ

 

ตัวอย่าง Arduino Code เชื่อมต่ออัลตราโซนิคเซนเซอร์เพื่อวัดระยะทางไปยังวัตถุและควบคุมเซอร์โวมอเตอร์

 

Posted on

การต่อเซ็นเซอร์ที่มีเอาต์พุตเป็น NPN ร่วมกับอาดูโน่

เซ็นเซอร์ที่มี เอาต์พุต เป็นชนิด NPN
หมายความว่าในสถานะปกติที่ยังไม่พบชิ้นงานใดๆ
เอาต์พุต จะมีสถานะเป็น Logic High
เมื่อเซ็นเซอร์ตรวจพบชิ้นงานสถานะของ เอาต์พุต จะเปลี่ยน เป็น Logic Low

 

เราสามารถประโยช์การเปลี่ยนแปลงสัญยาณเอาต์พุตของเซ็นเซอร์ เอาไปใช้ในการควบคุมอุปกรณ์ เอาต์พุต อย่างเช่น  Rejector ได้

เซ็นเซอร์ที่มี เอาต์พุต เป็นชนิด PNP
หมายความว่าในสถานะปกติที่ยังไม่พบชิ้นงานใดๆ
เอาต์พุตจะมีสถานะเป็น Logic Low
เมื่อเซ็นเซอร์ตรวจพบชิ้นงานสถานะของ เอาต์พุต จะเปลี่ยน เป็น Logic High

*การใช้งานเซ็นเซอร์ที่มี เอาต์พุต เป็นชนิด PNP
ต้องระวังเรื่องแรงดัน เราควรจะเลือกรุ่นที่มีแรงดันเป็น 5 โวลท์

* หากใช้เซ็นเซอร์ที่รับไฟเลี้ยง 12 โวลท์ หรือ 24 โวลท์สถานะ เอาต์พุต
จะเท่ากับแหล่งจ่ายนั่นคือ 12 โวลท์หรือ 24 โวลท์
จะทำให้อาดูโน่เกิดความเสียหาย

* หากมีความจำเป็นต้องใช้เซนเซอร์ที่ใช้แรงดัน 12 หรือ 24 โวลท์

แนะนำให้ต่อตัวต้านทาน 2K อนุกรม

 

 

 

 

 

 

Posted on

เริ่มต้นใช้งาน Mixly กับ Robot Biped หุ่นยนต์เดิน 2ขา ด้วย Arduino Nano

เริ่มต้นใช้งาน Mixly

Mixly เป็นฟรีโอเพ่นซอร์สซอฟต์แวร์กราฟิกภาษา Visual Arduino ซึ่งจะทำให้การเขียนโปรแกรมทำได้ง่ายเหมือนกับการสร้างบล็อค Mixly GUI ได้รับการพัฒนาบนพื้นฐานของ Blockly และ Java8 ซึ่งสามารถทำงานได้บน OS Win7 หรือสูงกว่า มีไฟล์การติดตั้ง Arduino IDE รวมถึงโค้ดตัวอย่าง

1. ดาวน์โหลด โปรแกรม mixly ได้ที่ http://wiki.sunfounder.cc/index.php?title=Get_started_with_Mixly

อินเทอร์เฟซหลักของ Mixly

1 ด้านซ้าย พื้นที่ Blocks หมวดหมู่ บล็อก สำหรับเขียนโปรแกรม

2 ตรงกลาง พื้นที่เขียนโปรแกรม วาง Blocks

3 ด้านขวา เพื่อซูมเข้าหรือซูมออกและลบ

4 แถบสีเทาที่ด้านล่างสุดเป็นแถบเครื่องมือรวมถึงเมนูฟังก์ชันทั้งหมด

5 ด้านล่างสุดคือแถบแสดงข้อความ

 

Blocks

Mixly วางการเขียนโปรแกรมให้อยู่ในรูป Block ซึ่งได้แก่ In / Out, Control, SerialPort และ Block หมวดหมู่บล็อกอื่น ๆ ที่จำเป็นต้องใช้คำนวณทางคณิตศาสตร์ เช่น Math, Block ที่จำเป็นต้องใช้สำหรับ Biped Robot หุ่นยนต์เดิน 2ขา นั้นมีดังนี้

  • In/Out: DigitalRead, DigitalWrite, AnalogRead, AnalogWrite, attachInterrupt, detachInterrupt, ShiftOut, etc.
  • Control: Delay, if…do…, repeat…do…, System running time, setup, etc.
  • Math: Map, Constrain, operations like +/-, sin/cos, random integer from…to… etc.
  • Logic: if conditional statement, logical operations
  • SerialPort: set baud rate, print data, read data
  • Communicate: IR receive, IR send, I2C read/write device, to SPI, etc.
  • Sensor: ultrasonic, DHT11, DS18B20
  • Actuator: Tone control, servo and stepper control.
  • Monitor: setup LCD pin, LCD print data, set LCD I2C address
  • Variables: High/Low, True/False, float, integer, Boolean, string variables, etc.
  • Functions: define function, do procedure with, etc.

ไดร์เวอร์

เมื่อเราเชื่อมต่อบอร์ด Arduino Nano เข้ากับคอมพิวเตอร์ คอมพิวเตอร์อาจแสดง “Unknown Device” หรือ “USB Serial Port” ด้วยเครื่องหมายอัศเจรีย์สีเหลือง ให้เราทำการตติดตั้งไดรเวอร์ให้เรียบร้อย โดยการ คลิกขวาที่ “Unknown Device” หรือ “USB Serial Port” พร้อมเครื่องหมายอัศเจรีย์สีเหลืองและคลิก “Update Driver Software” จากนั้นคลิก “Browse my computer for driver software”

ตัวอย่าง การเขียนโปรแกรม Mixly ควบคุมหุ่นยนต์ 

  1. ให้เชื่อมต่อบอร์ด Arduino Nano กับคอมพิวเตอร์ ด้วยสาย USB ที่เตรียมไว้ให้
  2. จากนั้นเปิด โปรแกรม Mixly เลือกประเภทของบอร์ดเป็น (Arduino Nano) และเลือกพอร์ต Com Port ให้ตรง
  3. จากนั้นไปที่ Open เพื่ออัพโหลดไฟล์โปรแกรม เราจะเห็นผลลัพธ์ของแต่ละโปรแกรม ว่า Biped Robot ทำงานตามโปรแกรมอย่างไร

1. ตัวอย่าง โปรแกรมการปรับเซอร์โวทั้ง 4 ตัว ของหุ่นยนต์แบบเดินสองขา

2. ตัวอย่าง โปรแกรมหุ่นยนต์เดินสองขา เดินหน้าถอยหลัง เลี้ยวซ้ายเลี้ยวขวา

3. ตัวอย่าง โปรแกรมหุ่นยนต์แบบสองขาเต้น

4. ตัวอย่าง โปรแกรมหุ่นยนต์เดินสองขา หลบหลีกสิ่งกีกขวาง โดยใช้อัลตราโซนิคเซนเซอร์

5. ตัวอย่าง โปรแกรมควบคุมหุ่นยนต์ไร้สายด้วยรีโมทอินฟราเรด

 

ดาวน์โหลด