บทความ

กำลังแสดงโพสต์จาก กรกฎาคม, 2018

การใช้งาน 7 Segment กับ Arduino

รูปภาพ
การใช้งาน 7 Segment กับ Arduino การใช้งาน 7 Segment กับ Arduino Segment หลักเดียว เมื่อ 2 ปีที่ผ่านมา โดย  เจ้าของร้าน สวัสดีครับ ก่อนหน้านี้กลุ่ม Arduino Thailand ก็ได้มีคนมาสอบถามเรื่องการใช้งาน Arduino ร่วมกับ 7 Segment อยู่บ้าง แต่ว่าการตอบลงในกลุ่มแบบละเอียดก็คงจะไม่ค่อยสะดวกเท่าไหร่ บางครั้งที่ตอบไปผู้ถามก็เข้าใจบ้าง ไม่เข้าใจบ้าง ดังนั้นในบทความนี้จึงจะเน้นความ "ง่าย" อยู่เหนือทุกสิ่งครับ 7 Segment คืออะไร 7 Segment คือหน้าจอแสดงผลตัวเลข - ตัวอักษร (ได้บางตัว) ที่มีหน้าจอทำมาจากการจัดวางหลอด LED ในแนวยาว เมื่อทำให้หลอด LED แต่ละดวงติดพร้อมกัน ก็จะทำให้แสดงออกมาเป็นตัวเลขทรงเหลี่ยมได้ 1. รูปร่างหน้าตาของ 7 Segment 1 หลัก (ขอบคุณรูปภาพจากเว็บไซต์  tandyonline.co.uk ) 2. รูปแสดง 7 Segment ที่แสดงผลออกมาเป็นตัวเลขต่างๆ (ขอบคุณรูปภาพจาก  maruen.tistory.com ) 3. แสดงขาของ 7 Segment (ขอบคุณรูปภาพจาก  projectcircuitpack.yolasite.com ) การแบ่งแยก 7 Segment แบ่งตามขา Common Common Anode - ขาคอมม่อนจะต้องต่ออยู่กับขั่วบวก แล้วขาอื่นๆ ต่ออยู่กับ

Arduinoand Motor Control:Part1

รูปภาพ
Arduino and Motor Control : Part 1 Arduino and Motor Control : Part 1 เมื่อ 3 ปีที่ผ่านมา โดย  เจ้าของร้าน วันนี้เรามาพูดถึงการควบคุมมอเตอร์กระแสตรงกันหน่อย  (ขอโฆษณานิดนะครับ ของที่ใช้ในการทำอยู่ใน Arduino Stater Kit 1 )  แต่บอกไว้ก่อนนะครับ ผมกะจะเขียนบทความแบ่งออกเป็นตอนๆ โดยจะมีเนื้อหาในการควบคุมมอเตอร์ชนิดต่างๆ ดังนี้ครับ   ง่ายสุดก็ DC motor หรือ มอเตอร์กระแสตรง  ซัก 2 ตอน  โดยว่ากันถึงการควบคุมทิศการหมุน และ การควบคุมความเร็วรอบต่อมาก็ Servo motor  ซัก 2 ตอน  และปิดท้ายด้วย Stepping Motor 2 ตอน ครับ  วันนี้ก็ดูจะง่ายๆ ไปก่อนนะครับ Sketch ที่ใช้เป็นตัวอย่างผมไปเอามาจาก Arduino Cookbook โดยคุณ Michael Margolis นะครับ  แล้วมาเขียนเนื้อหาใหม่ โดยอธิบายให้ง่าย และลึกขึ้น  บอกไว้ก่อนเดี๋ยวจะมีคนหาว่าไปลอกมาอีก    DC motor ประกอบด้วย 2 ส่วนหลักๆ ได้แก่ โรเตอร์ และสเตเตอร์ นะครับ  โรเตอร์ก็คือส่วนที่หมุน ส่วนสเตเตอร์คือส่วนที่เป็นขดลวดที่สร้างสนามแม่เหล็ก      หลักการทำงานของ DC motor คร่าวๆ ก็คือการนำกระแสตรงมาตัดผ่านสนามแม่เหล็ก ทำให้เกิดทอร์กขึ้นในทิศที่เหมาะส

คำสั่งไฟพริบ

รูปภาพ
คำสั่งไฟกระพริบ โปรแกรมไฟกระพริบ LED 2 ดวง   โปรแกรมไฟกระพริบ LED 2 ดวง          อย่างที่ได้กล่าวไว้ในบทความแรกครับ เราจะพาเพื่อนๆ เขียนโปรแกรมแบบพื้นฐานง่ายๆกันครับ โดยการใช้งานคำสั่งก็จะไม่มีอะไรซับซ้อนมาก ซึ่งผู้ที่ศึกษาไมโครคอนโทรลเลอร์มือใหม่ ก็สามารถที่จะทำได้เช่นกัน มาเริ่มกันเลยครับ ขั้นตอนที่ 1 ประกอบวงจรตามรูปด้านล่าง ลงในโปรแกรม Proteus ครับ คำสั่งที่ใช้ในการโปรแกรม while()   เป็นคำสั่งทำงานซ้ำแบบมีเงื่อนไขครับ ซึ่งจะทำงานวนซ้ำไปเรื่อยๆจนกว่าเงื่อนไขจะเป็นเท็จ output_x(...)    เป็นคำสั่งส่งข้อมูลออกทางเอาต์พุตในพอร์อตที่ต้องการตามค่าที่กำหนด เช่น output_b(0x01); delay_ms(...)   เป็นคำสั่งหน่วงเวลา เช่น delay_ms(500); โปรแกรมจะหน่วงเวลา 500ms ซึ่งค่านี้เราสามารถเปลี่ยนแปลงได้ตามความต้องการครับ ขั้นตอนที่ 2   เมื่อเราต่อวงจรใน Proteus เสร็จแล้วก็มาเขียนโปรแกรม โดยใช้โปรแกรม CCS C Compiler กันครับแต่ต้องศึกษา วิธี  การใช้งาน ccs compiler  ก่อนนะครับ เริ่มกันเลยครับ #include<16F84A.h> #use delay(clock=4000000) #fuses XT,NOWDT void main()

โครงสร้างไมโครคอนโทรลเลอร์

รูปภาพ
โครงสร้างไมโครคอนโทรลเลอร์ ตระกูล PIC โครงสร้างไมโครคอนโทรลเลอร์ ตระกูล PIC โครงสร้างไมโครคอนโทรลเลอร์ โครงสร้างไมโครคอนโทรลเลอร์ในตระกูล PIC นั้นมีหลายลักษณะ มีทั้งไอซีแบบ 8 ขา(DIP 8 Pins), 14 ขา(DIP 14 Pins), 18 ขา(DIP 18 Pins), 28 ขา(DIP 28 Pins), 40 ขา(DIP 40 Pins) เป็นต้น มีให้ลือกมากมายว่า จะใช้ขนาดหน่วยความจำโปรแกรมขนาดเท่าใดให้เหมาะสมกับงานที่ออกแบบ                                                รูปที่1.โครงสร้างของไมโครคอนโทรลเลอร์ หน่วยประมวลผลกลาง(Central Processing Unit : CPU)  หน่วยประมวลผลกลางจะประกอบไปด้วยวงจรต่างๆหลากหลาย ที่จำเป็นสำหรับประมวลผล และการคำนวณ เช่น วงจรถอดรหัสคำสั่ง, วงจรควบคุมสัญญาณนาฬิกา, วงจรควบคุมการทำงาน, วงจรตั้งเวลา และรวมทั้งหน่วยคำนวณทางลอจิกและคณิตศาตร์ (ALU) เป็นต้น หน่วยความจำ(Memory Unit ) ในการเขียนโปรแกรมด้วยภาษาซีให้กับไมโครคอนโทรลเลอร์ต้องคำนึงถึงขนาดของหน่วยความจำของไมโครคอนโทรลเลอร์ด้วย เพราะหากเขียนให้โปรแกรมที่มีขนาดความจุมากกว่าขนาดของหน่วยความจำโปรแกรมไมโครคอนโทรลเลอร์ ก็ไม่สามารถบรรจุโปรแกรมลงได้ค

โครสร้างของบอร์ด Arduino Uno R3

รูปภาพ
โครงสร้างของบอร์ด Arduino Uno R3 1.โครงสร้างของบอร์ด  Arduino Uno   R3              Arduino Uno  เป็นบอร์ดไมโครคอนโทรลเลอร์ที่ใช้  ATmega 328 (แผ่นข้อมูล) มีอินพุต / เอาต์พุต 14 อินพุต (6 สามารถใช้เป็นเอาท์พุท PWM),  6 อินพุตแบบอนาล็อก ,  ตัวเรโซเนเตอร์เซรามิก 16  MHz,  การเชื่อมต่อ  USB,  แจ็คไฟ ,  ส่วนหัว  ICSP  และปุ่มรีเซ็ต มันมีทุกอย่างที่จำเป็นในการสนับสนุนไมโครคอนโทรลเลอร์ ;  เพียงเชื่อมต่อกับคอมพิวเตอร์ด้วยสายเคเบิล  USB  หรือใช้อะแดปเตอร์หรือแบตเตอรี่  AC-to-DC  เพื่อเริ่มต้นใช้งาน Uno  แตกต่างจากบอร์ดก่อนหน้าทั้งหมดเนื่องจากไม่ได้ใช้ชิปควบคุม  USB  แบบอนุกรมของ  FTDI  แต่มีคุณลักษณะของ  Atmega 16 U 2 ( Atmega 8 U 2 ถึงเวอร์ชั่น  R 2) ซึ่งได้รับการตั้งโปรแกรมเป็นตัวแปลงสัญญาณแบบ  USB-to-serialRevision  2 ของบอร์ด  Uno  มีตัวต้านทานดึงสาย HWB  8 U 2 ไปยังพื้นทำให้ง่ายต่อการใส่ลงในโหมด  DFURevision  3 ของบอร์ดมีคุณสมบัติใหม่ดังต่อไปนี้:1.0  pinout:  เพิ่มหมุด  SDA  และ  SCL ที่อยู่ใกล้กับหมุด  AREF  และอีก 2 หมุดใหม่ที่วางอยู่ใกล้กับขา  RESET IOREF  ที่อนุญาตให้โล่ปรับ

การlnterrupts ของไมโครคอนโทรลเลอร์ คืออะไร?

การ  Interrupts ของไมโครคอนโทรลเลอร์ คือ อะไร? การ interrupt ของไมโครคอนโทรลเลอร์ คือว่าจะต้องให้เวลาจริง (คาดเดาได้ แต่ไม่จำเป็นต้องเร็ว) การตอบสนองต่อเหตุการณ์ที่เกิดขึ้นในระบบฝังตัวที่พวกเขาจะควบคุม เมื่อมีเหตุการณ์บางอย่างเกิดขึ้นซึ่งเป็นระบบการขัดจังหวะสามารถส่งสัญญาณการประมวลผลในการระงับการประมวลผลลำดับการเรียนการสอนในปัจจุบันและที่จะเริ่มต้นประจำบริการขัดจังหวะ (ISR หรือ “ขัดขวางการจัดการ”) ซึ่งจะดำเนินการประมวลผลใด ๆ ต้องอยู่บนพื้นฐานของแหล่งที่มาของการขัดจังหวะก่อน กลับไปที่การเรียนการสอนตามลำดับเดิม แหล่งที่มาขัดจังหวะเป็นไปได้ขึ้นอยู่กับอุปกรณ์และมักจะมีเหตุการณ์เช่นล้นจับเวลาภายในเสร็จสิ้นการอนาล็อกเพื่อแปลงเป็นดิจิตอลมีการเปลี่ยนแปลงระดับตรรกะกับการป้อนข้อมูลเช่นจากปุ่มที่กำลังกดและข้อมูลที่ได้รับการเชื่อมโยงการสื่อสาร ที่ใช้พลังงานเป็นสิ่งสำคัญในอุปกรณ์ batteried ขัดจังหวะอาจตื่นไมโครคอนโทรลเลอร์จากการนอนหลับที่ใช้พลังงานต่ำที่โปรเซสเซอร์จะหยุดจนต้องทำบางสิ่งบางอย่างจากเหตุการณ์ที่ต่อพ่วง ในปี 2002 ประมาณ 55% ของซีพียูทั้งหมดที่ขายในโลกที่มีไมโครคอนโทรลเลอร์ 8 บิตและ

มารู้จักกับ Arduino เเต่ละรุ่น

รูปภาพ
มารู้จักกับ Arduino แต่ละรุ่น  มาทำความรู้จักกับ Arduino รุ่นต่างๆกัน (บทความนี้ เหมาะสำหรับมือใหม่ หัดเล่น) Arduino Board (Official from Arduino.cc) มีหลากหลายรุ่นที่น่าสนใจ สินค้าผ่านการทดสอบคุณภาพ 100% ลูกค้าสามารถเลือกใช้ บอร์ด Arduino  ตามความเหมาะสมกับการใช้งาน ซึ่งมีดังนี้  1.  Arduino Uno R3  เป็นบอร์ด Arduino ที่ได้รับความนิยมมากที่สุด เนื่องจากราคาไม่แพง ส่วนใหญ่โปรเจคและ Library ต่างๆ ที่พัฒนาขึ้นมา Support จะอ้างอิงกับบอร์ดนี้เป็นหลัก และข้อดีอีกอย่างคือ กรณีที่ MCU เสีย ผู้ใช้งานสามารถซื้อมาเปลี่ยนเองได้ง่าย  (ดูรายละเอียดสินค้า)   2.  Arduino Uno SMD  เป็นบอร์ดที่มีคุณสมบัติและการทำงานเหมือนกับบอร์ด Arduino UNO R3 ทุกประการ แต่จะแตกต่างกับที่ Package ของ MCU ซึ่งบอร์ดนี้จะมี MCU ที่เป็น Package SMD (Arduino UNO R3 มี MCU ที่เป็น Package DIP)  (ดูรายละเอียดสินค้า)    3.  Arduino Mega 2560 R3  เป็นบอร์ด Arduino ที่ออกแบบมาสำหรับงานที่ต้องใช้ I/O มากกว่า Arduino Uno R3 เช่น งานที่ต้องการรับสัญญาณจาก Sensor หรือควบคุมมอเตอร์ Servo หลายๆ ต