Function generator หรือ ฟังก์ชั่นเจน (ภาษาช่าง) เป็นอุปกรณ์ที่ใช้สร้างคลื่นสัญญาณแรงดันไฟฟ้าในรูปแบบต่าง ๆ เพื่อใช้ในการทดลองวงจรอิเล็กทรอนิกส์ มักใช้งานร่วมกับ Oscilloscope (สโคป) เพื่อดูรูปสัญญาณเอาต์พุตที่ได้จากวงจรต่าง ๆ ที่แรงดันไฟฟ้าจากฟังก์ชั่นเจนป้อนเข้าไป โดยฟังก์ชั่นเจน และสโคป ถูกใช้ในการทดลองวงจรที่เกี่ยวข้องกับความถี่ต่าง ๆ เช่น วงจรขยายเสียง วงจรกรองความถี่ วงจรวิทยุ วงจ่ายไฟแบบสวิทชิ่ง เป็นต้น
ตัวฟังก์ชั่นเจน มักจะมีติดตั้งอยู่ในห้องทดลองอิเล็กทรอนิกส์เป็นประจำอยู่ทุกที่อยู่แล้ว ราคาของฟังก์ชั่นเจนที่มีจำหน่ายอยู่ในท้องตลาดนั้นค่อนข้างสูง โดยฟังก์ชั่นเจนที่ราคาต่ำที่สุดจากเว็บไซต์ www.es.co.th มีราคาสูงถึง 6,210 บาทเลยทีเดียว (GW INSTEK รุ่น GAG-809 ราคา ณ วันที่ 11 เมษายน 2561) การที่บุคคลที่สนใจทั่วไปจะซื้อหาฟังก์ชั่นเจนมาใช้ส่วนตัวจึงไม่ง่ายนัก ดังนั้นบทความนี้จึงมาแนะนำอุปกรณ์ ขั้นตอนต่าง ๆ ที่จะช่วยให้ Maker / นักทดลอง มีฟังก์ชั่นเจนไว้ใช้งานในราคาที่ไม่สูง
รูปที่ 1 หน้าตาของฟังก์ชั่นเจน GW INSTEK รุ่น GAG-809
ในโลกปัญจุบัน อะไร ๆ ก็เป็นดิจิตอลไปเสียหมดแล้ว อุปกรณ์ที่เป็นอนาล็อกดูจะตกยุคไปซะหมด แต่อาจจะไม่ใช่กับฟังก์ชั่นเจนก็ได้ ? ฟังก์ชั่นเจนเมื่อพิจารณาตามหลักการออกแบบวงจรแล้ว จะพบว่าฟังก์ชั่นเจนก็สามารถจัดวงจรได้ 2 แบบ คือ อนาล็อก และดิจิตอล
เป็นการสร้างวงจรผลิตความถี่ขึ้นมาโดยอาศัยอุปกรณ์พื้นฐานที่สุดอย่างตัวต้านทาน ตัวเหนี่ยวนำ และตัวเก็บประจุ ร่วมกับอุปกรณ์ประเภทสารกึ่งตัวนำยอดนิยมอย่างไอซีออปแอมป์ หรือไอซี 555 หรือตัวเกตต่าง ๆ
หลักสร้างคลื่นไซน์ (Sin) คือ การใช้ตัวเก็บประจุต่อร่วมกับตัวเหนี่ยวนำได้เป็นวงจรเรโซแนนท์ ค่าของ XC และ XL ที่เท่ากันที่ความถี่หนึ่งจะทำให้วงจรผลิตความถี่นั้น ๆ ออกมา แต่ความถี่นั้นจะผลิตได้แค่ชั่วระยะเวลาหนึ่งเท่านั้นเพราะแรงดันไฟฟ้าจากตัวเก็บประจุถูกใช้ไปกับตัวเหนี่ยวนำ ส่งผลให้ความถี่ที่ผลิตขึ้นมามีแอมพลิจูดที่ต่ำลงเรื่อย ๆ จนเหลือ 0V ในที่สุด ดังนั้นวิธีแก้ไขจึงต้องเพิ่มวงจรผลิตความถี่สี่เหลื่ยมขึ้นมา เพื่อจ่ายพลังงานไฟฟ้าให้ตัวเก็บกระจุเป็นจังหวะ ๆ ไม่ให้ค่าแอมพลิจูดนั้นต่ำลง
รูปที่ 2 วงจรเรโซแนนท์ที่มีสัญญาณรูปสี่เหลี่ยมป้อน จะได้สัญญาณรูปไซน์ออกมา
จะเห็นว่าหลักการข้างต้นจะได้คลื่นรูปไซน์ และสี่เหลี่ยมมาแล้ว ส่วนคลื่นสามเหลี่ยมจำเป็นจะต้องออกแบบวงจรใหม่ คลื่นสามเหลี่ยมมักจะนิยมใช้สัญญาณที่ได้จากตัวเก็บประจุ เก็บ และคายประจุในจังหวะที่ทำงานได้เพียงเล็กน้อย สัญาณที่ได้จะคล้ายรูปสามเหลี่ยมโดยสมบูรณ์ และเพื่อให้ตัวเก็บประจุมีการเก็บ และคายประจุอยู่ตลอดเวลา จึงจะเป็นต้องใช้สัญญาณสี่เหลี่ยมมากระตุ้นด้วย
รูปที่ 3 รูปแบบการต่อวงจรเพื่อแปลงสัญญาณรูปสี่เหลี่ยมเป็นสามเหลี่ยมโดยใช้ตัวต้านทานและตัวเก็บประจุ
การสร้างฟังก์ชั่นเจนแบบ DIY ด้วยอุปกรณ์ และหลักการที่ได้กล่าวมานั้น จะได้รูปคลื่นออกมาสวยงาม แม้สั่งให้ผลิตความถี่สูงมาก ๆ ขึ้นมา แต่ด้วยการทำงานแบบอนาล็อกจึงควบคุมได้ยาก ความทั้งหากต้องการเปลี่ยนความถี่อาจจะต้องเปลี่ยนอุปกรณ์ไปด้วย ฟังก์ชั่นเจนมาตรฐานที่ใช้ในห้องทดลองใช้การจัดวงจรแบบอนล็อก จึงทำให้มีที่ราคาสูงเพราะต้องมีอุปกรณ์หลาย ๆ ตัวที่เข้ามาช่วยในการควบคุมความถี่ให้ได้ตามต้องการนั่นเอง
วงจรแบบดิจิตอลทำงานในรูปแบบดิติตอล กล่าวให้เข้าใจง่ายมากขึ้นคือการสั่งให้ผลิตความถี่ต่าง ๆ จะทำได้ผ่านการส่งค่า 0 หรือค่า 1 ออกไปนั่นเอง โดยจะมีไอซีสำเร็จรูปหลาย ๆ เบอร์ที่ผลิตความถี่ได้หลายรูปคลื่น และหลายความถี่ หลักการทำงานของไอซีแบบนี้คือมีวงจร DAC ความละเอียดสูงอยู่ภายใน เมื่อส่งข้อมูลไปให้ DAC ว่าให้แรงดันออกมาเท่าไร ตัว DAC ก็จะให้แรงดันออกมาเท่านั้น โดยตัวที่ไปสั่ง DAC ทำงานง่าย ๆ โดยใช้การคำนวณทางคณิตศาสตร์เพื่อให้ได้ตัวเลขออกมา แล้วจึงไปสั่ง DAC เช่น ต้องการให้ได้คลื่นไซน์ ก็จะใช้ฟังก์ชั่น sin() เข้ามาคำนวณ และหากต้องการคลื่นสามเหลี่ยม เพียงส่งค่าไล่ขึ้น ไล่ลง เช่น ส่ง 0 0.1 0.2 0.3 0.4 ขึ้นไปเรื่อย ๆ จนถึงค่า ๆ หนึ่ง เช่น 5 จากนั้นจึงไล่ลง 4.9 4.8 4.7 เรื่อย ๆ จนกลับมาเป็น 0 ก็จะได้รูปสัญญาณเอาต์พุตจาก DAC เป็นรูปต่าง ๆ แล้วนั่นเอง
รูปที่ 4 บล็อกไดอะแกรมของ AD9833 ที่ส่วนเอาต์พุตใช้ DAC ความละเอียด 10 บิต และวงจรหลัง DAC เป็นส่วนประมวลผลข้อมูลทั้งหมด
การจัดวงจรแบบดิจิตอลมีข้อดีในเรื่องของการควบคุมรูปคลื่นและความถี่ให้ได้ตามต้องการ แต่มีข้อเสียเช่นเดียวกัน โดยวงจรเมื่อผลิตความถี่สูงขึ้นมา รูปคลื่นที่ได้จะไม่สวยงาม โดยในบางความถี่จะนำมาใช้งานไม่ได้เลย อีกทั้งวงจรต้องอาศัยคลิสตอล ทำให้บางครั้งอุณหภูมิที่เปลี่ยนแปลงอาจทำให้ผลิตความถี่ออกมาไม่ตรง หรือไม่มีเสถียรภาพได้
ด้วยข้อดีด้านการควบคุมที่ง่าย และมีราคาต่ำ ทำให้บทความนี้เราเลือกใช้ไอซี AD9833 ซึ่งเป็นไอซีที่จัดวงจรแบบดิจิตอลสื่อสารผ่าน SPI ในราคาเพียง 145 บาท เพียงพอสำหรับ Maker / นักพัฒนา ที่จะนำมาใช้ส่วนตัวแล้ว
รูปที่ 5 โมดูล AD9833
เนื่องจากตัวไอซี AD9833 มีขนาดเล็กมาก ๆ ไม่เหมาะที่จะนำมาต่อใช้งานตรง ๆ จึงมีการสร้างเป็นโมดูลขึ้นมา พร้อมต่ออุปกรณ์ภายนอกที่ไอซีต้องการมาครบแล้ว ทำให้การต่อวงจรใช้งานง่ายมากยิ่งขึ้น โดยเสียบลงบนโพรโทบอร์ดได้เลย
โมดูล AD9833 ใช้การสื่อสารแบบ SPI ที่โหมด 3 แต่อุปกรณ์ที่ใช้ SPI อื่น ๆ ใช้งานในโหมด 0 ดังนั้น หลังจากการรับ - ส่งข้อมูลกับ AD9833 เสร็จแล้ว จะต้องเปลี่ยนโหมดให้กลับเป็นโหมด 0 ด้วย การเปลี่ยนโหมดสามารถทำได้โดยใช้ฟังก์ชั่น SPI.setDataMode();
รูปที่ 6 ตารางแสดงการทำงานของ SPI ในโหมดต่าง ๆ
AD9833 สามารถสร้างสัญญาณได้ 3 รูปคลื่น คือ คลื่นไซน์ คลื่นสี่เหลี่ยม และคลื่นสามเหลี่ยม กำหนดความถี่ได้ตั้งแต่ 0Hz ถึง 12.5MHz โดยผลการทดสอบให้ AD9833 ผลิตความถี่และรูปคลื่นที่ต่างกันมีดังนี้
รูปที่ 7 ผลการทดสอบใช้ AD9833 สร้างความถี่รูปคลื่นไซน์ ที่ความถี่ 1Hz 10Hz 100Hz 1kHz 1MHz และ 2.5MHz
รูปที่ 8 ผลการทดสอบใช้ AD9833 สร้างความถี่รูปคลื่นสี่เหลี่ยม ที่ความถี่ 1Hz 10Hz 100Hz 1kHz 1MHz และ 2.5MHz
รูปที่ 9 ผลการทดสอบใช้ AD9833 สร้างความถี่รูปคลื่นสามเหลี่ยม ที่ความถี่ 1Hz 10Hz 100Hz 1kHz 1MHz และ 2.5MHz
จะเห็นว่าความถี่ตั้งแต่ 1MHz เป็นต้นไป ความถี่คลื่นไซน์ และคลื่นสามเหลี่ยมดูจะนำมาใช้งานไม่ได้แล้ว ดังนั้นฟังก์ชั่นเจนที่ได้จะบทความนี้จึงแนะนำให้ตั้งความถี่ไม่เกิน 1MHz เพื่อให้เมื่อนำไปป้อนเข้าวงจรต่าง ๆ แล้วไม่ทำให้ผลการทดลองผิดพลาด
แอมพลิจูดที่ได้จะอยู่ในช่วง 38mV ถึง 650mA กรณีต้องการแอมพลิจูดที่สุดกว่านี้ จำเป็นต้องต่อวงจรขยายสัญญาณโดยใช้ออปแอมป์เพิ่มเติม
แรงดันไฟฟ้าที่ AD9833 ต้องการอยู่ในช่วง 2.3V ถึง 5.5V เมื่อต่อใช้งานจริงควรเลือกต่อตามระดับแรงดันของ SPI เช่น ไมโครคอนโทรลเลอร์ใช้แรงดัน 5V ตัว AD9833 ก็ควรใช้แรงดันไฟฟ้า 5V ด้วย
การต่อจะต่อแบบ SPI ปกติ คือ มีขา SCLK คือขา SCK ใน SPI, SDATA คือ MOSI และ FSYNC คือ CS/SS ดังนั้นขา SCLK และ SDATA จะถูกกำหนดให้ต่อตามส่วน SPI ของ Pinout ในไมโครคอนโทรลเลอร์แต่ละเบอร์ ส่วน FSYNC เลือกต่อได้อิสระ ขาที่เหลือคือ VCC ให้ต่อตามแรงดันของไมโครคอนโทรลเลอร์ และต่อ GND ส่วน OUT และ AGND ใช้เป็นคู่สัญญาณเอาต์พุต
รูปที่ 10 การต่อวงจรระหว่างโมดูล AD9833 กับบอร์ด Arduino Nano 3.0
>> สั่งซื้อโมดูล AD9833 ได้ที่ https://www.artronshop.co.th/p/202 <<
หัวใจสำคัญของฟังก์ชั่นเจนคือส่วนสร้างสัญญาณออกมาเพื่อนำไปใช้ต่อไป แต่สัญญาณที่สร้างขึ้นมาจะเป็นรูปแบบไหน ความถี่เท่าไร ก็จำเป็นต้องมีอุปกรณ์แสดงผลมาเป็นตัวบอก อุปกรณ์ที่ใช้แสดงผลบทความนี้เลือกใช้จอ LCD TFT ขนาด 2 นิ้ว เพราะช่วยให้การบอกลักษณะสัญญาณทำได้ชัดเจน และจอ 2 นิ้วก็ไม่ถือว่าเล็กเกินไป รวมทั้งบอร์ดไมโครคอนโทรลเลอร์ Arduino Nano 3.0 ยังใช้งานร่วมกับจอนี้ได้อย่างไม่ปัญหาอีกด้วย
รูปที่ 11 2.0 inch 176*220 SPI TFT LCD ILI9225
ความละเอียด 176 x 220 พิเซล สื่อสารกับไมโครคอนโทรลเลอร์ผ่าน SPI ไอซีไดร์เวอร์จอเบอร์ ILI9225 การเขียนโปรแกรมสามารถโหลดไลบารี่ Nkawu/TFT_22_ILI9225 มาลง แล้วเขียนโปรแกรมสั่งงานได้เลย
ตัวจอรองรับการทำงานที่แรงดันไฟฟ้าทั้งช่วง 3.3V และช่วง 5V ทำให้สามารถใช้งานกับไมโครคอนโทรลเลอร์ทุกระดับแรงดันได้ กระแสไฟฟ้าที่ใช้ประมาณ 80mA ซึ่งสิ้นเปลืองที่ไฟแบล็คไลค์เป็นส่วนใหญ่ ทั้งนี้สามารถสั่งปิดไฟแบล็คไลค์เพื่อลดการใช้กระแสไฟฟ้าได้เพียงสั่งให้ขา LED เป็นลอจิก 0
ขาต่อใช้งานมีทั้งหมด 8 ขา แต่ละขามีรายละเอียดดังนี้
รูปที่ 12 การต่อวงจรระหว่างจอ TFT LCD กับบอร์ด Arduino Nano 3.0
>> สั่งซื้อโมดูล 2.0 inch 176*220 SPI TFT LCD ILI9225 ได้ที่ https://www.artronshop.co.th/ <<
จอเป็นสิ่งสำคัญที่จะใช้เพื่อบอกว่าตอนนี้ได้สร้างสัญญาณออกมาในรูปไหน และความถี่เท่าไร แต่ยังขาดอุปกรณ์ที่ใช้ป้อนข้อมูลเพื่อควบคุมการสร้างความถี่ อุปกรณ์อินพุตที่บทความนี้เลือกใช้คือ TEE I2C Keypad ซึ่งเป็นแป้นกดตัวเลข 0 ถึง 9 และ A ถึง D และ * # รวมทั้งหมด 16 ตัว อยู่ในแป้นขนาด 4 x 4
รูปที่ 13 TEE I2C Keypad
โมดูลที่แปลง Keypad ขนาด 4x4 จากการสื่อสารแบบขนาน มาเป็นการสื่อสารแบบอนุกรมโดยใช้บัส I2C จากเดิมที่ต้องสายถึง 8 เส้น ลดเหลือเพียง 2 เส้นเท่านั้น การเขียนโปรแกรมให้ใช้ไลบารี่ ioxhop/I2C_KEYPAD ได้เลย
การสื่อสารแบบ I2C มีสิ่งที่เรียกว่า Address ซึ่งเป็นเหมือนชื่อที่อุปกรณ์แต่ละตัวมีไม่ซ้ำกันในบัสแต่ละชุด ตัว TEE I2C Keypad สามารถเลือก Address ได้โดยตัดลายวงจรบนแผ่น PCB ส่วนแรงดันไฟฟ้าที่โมดูลนี้รับได้จะอยู่ในช่วง 2.8V ถึง 5.5V ซึ่งช่วงแรงดันนี้ทำให้สามารถใช้งานได้กับไมโครคอนโทรลเลอร์ที่ใช้แรงดัน 3.3V และ 5V
ให้ต่อแบบบัส I2C ปกติ ซึ่งคือการต่อสาย SDA และ SCL ให้ตรงกับขาของไมโครคอนโทรลเลอร์แต่ละเบอร์โดยดูจากรูป Pinout ส่วน VDD สามารถต่อได้กับแรงดันไฟฟ้า 5V หรือ 3.3V และสุดท้ายจะต้องไม่ลืมต่อ GND ด้วย
รูปที่ 14 การต่อวงจรระหว่าง TEE I2C Keypad กับบอร์ด Arduino Nano 3.0
>> สั่งซื้อโมดูล TEE I2C Keypad ได้ที่ https://www.ioxhop.com/p/703 <<
มีส่วนผลิตความถี่ ส่วนแสดงผล และส่วนป้อนข้อมูลแล้ว แต่หัวใจสำคัญที่ให้แต่ละส่วนเข้ามาเชื่อมต่อกันยังขาดไป ส่วนนั้นคือ ไมโครคอนโทรลเลอร์ ตัวไมโครคอนโทรลเลอร์เป็นหัวใจสำคัญที่จะคอยติดต่อ สั่งงานในแต่ละส่วนตามที่ผู้พัฒนาได้เขียนโปรแกรมเอาไว้ ซึ่งไมโครคอนโทรลเลอร์ที่บทความนี้เลือกใช้คือบอร์ด Arduino Nano 3.0
รูปที่ 15 บอร์ด Arduino Nano 3.0
บอร์ดไมโครคอนโทรลเลอร์ในโครงการของ Arduino ซึ่งออกแบบโดยคนไทย เดิมมีราคาสูง แต่ผู้ผลิตในจีีนนำต้นแบบไปปรับปรุงใหม่เพื่อลดราคาในส่วนต่าง ๆ ทำให้ตัวบอร์ด Arduino Nano 3.0 แบบ Compatible มีราคาที่ต่ำลงมามาก
ตัวบอร์ดใช้ไมโครคอนโทรลเลอร์เบอร์ ATmega328p-pu ใช้ความถี่จากคลิสตอล 16MHz มีช่อง SPI I2C และ GPIO ครบครัน การเขียนโปรแกรมจะใช้โปรแกรม Arduino IDE ใช้งานได้ฟรี นอกจากนี้การเขียนโปรแกรมยังค่อนข้างง่ายอีกด้วย
>> สั่งซื้อบอร์ด Arduino Nano 3.0 ได้ที่ https://www.artronshop.co.th/p/299 <<
ส่วนสำคัญ ๆ เตรียมอุปกร์ครบแล้ว ขาดเพียงอุปกรณ์ที่ใช้ในการทดลองอย่างโพรโทบอร์ด สายจั้ม และสาย USB เมื่อครบทั้งหมดแล้ว จึงเริ่มลงมือทำได้เลย
ส่วนของการลงมือทำจะแบ่งออกเป็นอีก 3 ส่วนย่อย คือ ส่วนของการต่อวงจร ส่วนอัพโหลดโปรแกรม และส่วนทดสอบ โดยเริ่มที่การต่วงจรกันเลย
หัวใจหลักคือ Arduino Nano 3.0 ดังนั้นอุปกรณ์ในส่วนต่าง ๆ จะถูกนำมาต่อเข้ากับ Arduino Nano ได้ดังนี้
รูปที่ 16 รูปแบบการต่อวงจรสร้าง Function generator
หรือต่อวงจรตามตารางด้านล่างนี้
Arduino Nano 3.0 | AD2833 | TFT LCD | I2C Keypad |
5V | VCC | VCC | VDD |
GND | GND | GND | GND |
D13 | SCLK | SCK | |
D11 | SDATA | SDI | |
D10 | CS | ||
D9 | RS | ||
D8 | RES | ||
D4 | FSYNC | ||
D3 | LED | ||
A4 | SDA | ||
A5 | SCL |
เพื่อทดสอบการต่อวงจร และทดสอบส่วนต่าง ๆ ว่าทำงานได้ปกติหรือไม่ ให้ไล่อัพโหลดโปรแกรมเพื่อทดสอบดังนี้
** เลือกบอร์ดเป็น Arduino Nano และเลือกพอร์ตให้ถูกต้องก่อนอัพโหลด **
ทดสอบส่วนผลิตความถี่ (AD2833)
ใช้สโคปจับที่ปลายด้าน Output โดยใช้สายสีแดงจับที่ OUT และสายสีดำจับที่ AGND แล้วเปิดโปรแกรม Arduino ขึ้นมา คัดลอกโค้ดโปรแกรมต่อไปนี้ไปวาง แล้วอัพโหลดโปรแกรมได้เลย
หากทำงานได้ถูกต้อง สโคปจะต้องแสดงรูปไซน์ และแจ้งความถี่ประมาณ 1KHz แต่หากผลได้ไม่ถูกต้อง ให้ไล่การต่อสายดูอีกครั้ง
รูปที่ 17 รูปสัญญาณและความถี่ที่ได้จากหน้าจอของสโคป
ทดสอบส่วนแสดงผล (TFT LCD)
ติดตั้งไลบารี่ Nkawu/TFT_22_ILI9225 เพิ่มเติม กดไปที่เมนู Sketch > Include Library เลือก Manage Library...
ในช่องค้นหา พิมพ์ ILI9225 คลิกเลือกชื่อ TFT_22_ILI9225 แล้วกดปุ่ม Install
เมื่อติดตั้งเสร็จแล้ว จะขึ้น INSTALLED ให้ปิดหน้าต่างนี้ไปได้เลย
คัดลอกโค้ดต่อไปนี้ลงโปรแกรม Arduino และอัพโหลดได้เลย
ผลที่ได้คือ หน้าจอจะวนแสดงสีขาว แดง น้ำเงิน เขียว และดำ หากไม่ได้ผลตามนี้ ให้ตรวจเช็คการต่อวงจรอีกครั้ง
รูปที่ 18 ภาพขณะจอเปลี่ยนจากสีขาวเป็นสีแดง
ทดสอบส่วนป้อนข้อมูล (TEE I2C Keypad)
ติดตั้งไลบารี่ ioxhop/I2C_KEYPAD เพิ่ม โดยเข้าไปที่ https://github.com/ioxhop/I2C_KEYPAD/releases กด Source code (zip)
เปิดไฟล์ที่ได้ดาวน์โหลดมาด้วยโปรแกรมคลายไฟล์ (WinRAR, 7-zip) ลากโฟลเดอร์ภายใน ไปใส่ในโฟลเดอร์ Documents\Arduino\libraries เป็นอันจบการติดตั้งไลบารี่ ioxhop/I2C_KEYPAD
กดไปที่เมนู File > Examples > I2C_KEYPAD-0.1 เลือก ex_keypad
กดอัพโหลดโปรแกรมได้เลย แล้วเปิด Serial Monitor ขึ้นมา รอคำว่า Start Keypad แล้วจึงเริ่มกดปุ่มบน Keypad หากต่อวงจรถูกต้อง ตัวอักษรที่แสดงใน Serial Monitor จะขึ้นตามที่กดปุ่ม
อัพโหลดโปรแกรมจริง
เข้าไปที่ https://github.com/ioxhop/AD2833-Function-generator กดปุ่ม Clone or download แล้วกด Download ZIP
คลายไฟล์ที่ได้ดาวน์โหลดมา เข้าไปในโฟลเดอร์ Function_generator แล้วดับเบิลคลิกเปิดไฟล์ Function_generator.ino ขึ้นมาได้เลย กดปุ่มอัพโหลด แล้วรอจนกว่าการอัพโหลดจะเสร็จสิ้น เป็นอันจบขั้นตอนการอัพโหลดโปรแกรม
หลังจากอัพโหลดโปรแกรมแล้ว หน้าจอจะแสดงผลบอกรูปคลื่น ความถี่ที่ตั้ง และตัวคูณ (Uint) การใช้งาน มีดังนี้
ทุกครั้งที่มีการปรับค่าใด ๆ ก็ตาม สัญญาณเอาต์พุตจะเปลี่ยนไปทันที
Function generator สามารถสร้างได้โดยใช้ AD2833 เป็นหัวใจหลัก มี Arduino Nano 3.0 เป็นตัวควบคุม และมีจอ LCD TFT ขนาด 2 นิ้ว และ TEE I2C Keypad เป็นอุปกรณ์ใช้แสดงผลและป้อนข้อมูลเข้าไป ขั้นตอนการทำเริ่มตั้งแต่ต่อวงจร อัพโหลดโปรแกรม และทดสอบ ซึ่งผู้เขียนเชื่อว่า หากท่านทำตามขั้นตอนทุกประการ ก็จะได้ Function generator มาใช้ได้อย่างแน่นอน
บทความนี้ก็มีเพียงเท่านี้ หากท่านมีคำถามสามารถส่งเข้ามาถามในส่วนติดต่อเรา หรือคอมเม้นใต้บทความนี้ได้เลย
~ สวัสดีครับ ~