มาลอง GPIO แบบ Input ของ ESP-01 กัน

คราวนี้เราจะเอา GPIO 0 กับ GPIO 2 มาลองทำหน้าที่เป็น input บ้าง ง่ายที่สุดคือการรับค่าแบบ Digital แบบ HIGH หรือ LOW เหมือนการส่งค่าออกแบบ Output นั้นแหล่ะ

อุปกรณ์ที่ต้องมาเกี่ยวข้องคือ Switch

ถ้าบ้านๆคนทั่วไปคงเข้าใจว่าเหมือน Switch ไฟบ้านทั่วๆไป นั้นก็คือ Switch โยกรูปแบบนึงครับ เอาจริงๆ Switch ที่ใช้ในงาน อิเล็กทรอนิกส์มีหลายแบบ ยกตัวอย่างเอาเท่าที่พอให้เข้าใจง่ายๆ

  • Switch แบบกดติดกดดับ โดยหน้าที่ของมันตรงตัวครับ ถ้าเรากด 1 ที Switch จะทำหน้าที่ต่อวงจร ถ้าเรากดซ้ำอีกที Switch จะทำหน้าที่แยกวงจร ออกจากกัน Switch บ้านไฟ, Switch โยง ก็ถืออยู่ในกลุ่ม Switch แบบกดติดกดดับเหมือนกัน
  • Switch แบบกดติดปล่อยดับ ตรงชื่อครับถ้ากด Switch จะต่อวงจร ถ้าปล่อยมันจะแยกวงจรออกจากกัน Switch แบบนี้พวก Gamer คุ้นเคยก็พวกปุ่มเกมในตู้เกมไงครับ
หน้าตา Switch แบบต่างๆ
หน้าตา Switch แบบต่างๆ

ทั้งแบบกดติดกดดับ กดติดปล่อยดับ หน้าตามันเหมือนๆกันเลยครับ ต้องไปลองกดดูจะเข้าใจ ตัว Switch ยังมีอีกหลายแบบ แบบหลายหน้าสัมผัส เยอะฮะเอาว่าเข้าใจแค่นี้ก่อน

เราจะเอา Switch พวกนี้มาต่อวงจรเข้ากับ ESP-01 ครับเพื่อจะจำลองการเกิด Input เข้ามาที่ขา GPIO 0,2 ดูโดยผมจะตัดพวกการทำงาน Web Server ออกไปก่อนนะครับให้เห็นง่ายๆ ต่อ Switch ที่ GPIO 0 ต่อ LED ที่ GPIO 2 แล้วมาลองดูการทำงานกัน

ต่อ ESP-01 ทดสอบการทำงานการกด Switch ให้ LED สว่าง
ต่อ ESP-01 ทดสอบการทำงานการกด Switch ให้ LED สว่าง R ทั้ง 2 ตัวใช้ค่า 10K ครับ

เนื่องจากมันต้องต่อวงจรเยอะล่ะคงไม่สามารถต่อบนตัว ESP-01 ได้แล้วผมเลยเอาแผงทดลอง (protoboard) ออกมาต่อนะครับ ให้ลองต่อตามวงจรเลย สำหรับแผงทดลองและอุปกรณ์ตามที่เห็นในภาพแบบนี้หาซื้อได้ตามร้านขายอุปกรณ์อิเล็กทรอนิกส์ทั่วไปนะครับ แผงทดลองแบบนี้จะมีรูให้เราเสียบอุปกรณ์ลงไปโดยแถวบนสุด 2 แถวและล่างสุด 2 แถว ภายในจะต่อถึงกันเป็นแนวนอน ส่วนตรงกลางจะต่อถึงกันในแนวตั้ง สังเกตจากรูปจะเห็นจุดเขียวๆ แสดงลักษณะการเชื่อมต่อให้เข้าใจครับ

วงจรที่เห็นคือ เอาขา GPIO 0 เป็นขา Output ต่อออกไปขับ LED  ส่วนขา GPIO 2 เป็นขา Input ต่อรับการกดของ Switch ไล่จากวงจรถ้าเรากด Switch เป็นต่อวงจรจะทำให้แรงดันที่ขา GPIO 2 เป็น LOW แต่ถ้าเราปล่อย Switch จะเปิดวงจรและทำให้แรงดันที่ขา GPIO2 เป็น HIGH

หน้าตาอุปกรณ์เวลาต่อบนแผงทดลองก็จะประมาณนี้ครับ
หน้าตาอุปกรณ์เวลาต่อบนแผงทดลองก็จะประมาณนี้ครับ

เราก็สามารถเอาสถานะดังกล่าวมาเขียน Program ได้ตามนี้

เอา Switch แบบกดติดปล่อยดับ มาต่อกับ ESP-01 ให้ทำงาน แบบกดแล้ว LED ติดถ้าปล่อยให้ LED ดับ

เอา Switch แบบกดติดปล่อยดับ มาต่อกับ ESP-01 ให้ทำงาน แบบกดแล้วปล่อยให้ LED ติดและกดแล้วปล่อยให้ LED ดับ

ลองไล่การทำงานดูคิดว่าไม่น่ายากตรงๆ การจำลอง Switch แบบกดติดปล่อยดับให้ทำงานแบบ กดติดกดดับตามตัวอย่างที่ 2 ต้องอาศัยการเขียน Program ช่วยเก็บสถานะของการทำงานไว้

การบ้าน

เขียนบทความมาเยอะแล้วขอส่งการบ้านทิ้งไว้ให้ลองทำกันดูนะครับ

  1. เอา Switch แบบกดติดปล่อยดับ มาต่อกับ ESP-01 ให้ทำงาน แบบกดค้างไว้ให้ LED ติดกระพริบไปเรื่อยๆแล้วเมื่อปล่อยให้ LED ดับ
  2. เอา Switch แบบกดติดปล่อยดับ มาต่อกับ ESP-01 ให้ทำงาน แบบกดแล้วปล่อยให้ LED ติดกระพริบไปเรื่อยๆและกดแล้วปล่อยให้ LED ดับ

ลองดูนะครับผมยังไม่ได้ลองเล่นเหมือนกันไม่มีเฉลยนะครับ ถ้าทำการบ้านได้ก็แสดงว่าเข้าใจเรื่องนี้แล้ว ตอนหน้าผมจะลองเอาอุปกรณ์พวก IO กับอุปกรณ์ภายนอกมาลองต่อให้ดูครับ จะได้เข้าใจล่ะว่า GPIO มันมีประโยชน์ยังไง

ความคิดเห็น