📖
CorgiDude
  • Introduction
  • Specification
  • Installation
    • การใช้งาน Maixpy IDE เบื้องต้น
    • วิธีการลง Maixpy ใน Sipeed Maix Bit
    • การใช้งาน Kflash GUI และการอัพโหลดไฟล์ .bin kmodel
  • Lessons
  • Article & API
    • การใช้งาน GPIO
    • การอ่านและเขียนไฟล์ SD Card
    • การเชื่อมต่อ WiFi
    • การใช้งาน HTTP Request
    • การใช้งาน MQTT
    • การใช้งาน Google Spreadsheet ผ่านทาง IFTTTT
    • การใช้งาน LINE Notify
    • การใช้งาน ThingSpeak
    • การใช้งาน Google Vision
  • Modules
    • Button Switch
    • Drive Motor
    • GPIO Input
    • Servo Motor
  • Demo Projects
    • Face Recognition
      • ตอนที่ 1
      • ตอนที่ 2
      • ตอนที่ 3
      • ตอนที่ 4
    • Image Classification
      • CorgiDude บอร์ด Image Classification โดยใช้ MobileNetV1
      • CorgiDude บอร์ด Image Classification โดยใช้ Transfer Learning MobileNetV1
    • Object Detection
      • CorgiDude บอร์ดกับการทำ Object Detection โดยใช้ Yolo
      • CorgiDude บอร์ด ตรวจจับใบหน้าด้วย Yolo Face Detection
      • CorgiDude บอร์ดกับการทำ Cat Face Detection โดยใช้ Yolo2
      • การทำ Dataset แบบ Object Detection ชนิด VOC ที่สามารถเอาไปใช้ตอนเทรนใน Yolo2 ได้เลย
      • CorgiDude บอร์ดกับการทำ License Plate Detection ของรถมอเตอร์ไซค์ โดยใช้ Yolo2
      • CorgiDude บอร์ด ตรวจจับใบหน้า และ Mask ด้วย Yolo2 Face Mask Detection
  • Downloads
    • Firmware
    • Models
Powered by GitBook
On this page

Was this helpful?

  1. Article & API

การใช้งาน GPIO

PreviousArticle & APINextการอ่านและเขียนไฟล์ SD Card

Last updated 4 years ago

Was this helpful?

การใช้งาน GPIO ของบอร์ด CorgiDude นั้นก็จะมีที่ให้ใช้งานอยู่ 4 จุดด้วยกันนะครับ

จากรูปภาพข้างต้น จะมี INPUT 2 จุด OUTPUT 2 จุด INPUT 1 มี 11-15 เป็นชื่อขาใช้งานนะครับ INPUT 2 มี 1-3,10 เป็นชื่อขาใช้งานนะครับ OUTPUT 1 มี 18-21 เป็นชื่อขาใช้งานนะครับ OUTPUT 2 มี 32-35 เป็นชื่อขาใช้งานนะครับ

เมื่อเราได้รู้จักการกับขาต่างๆ แล้ว ต่อไปก็มาดูโปแกรมกันเลยครับ ในที่นี้จะใช้เป็น micropython นะครับ

ในที่นี้ผมจะใช้ โมดูล Buttun ตัวนี้ในการแนะนำการใช้งานนะครับ

โมดูลตัวนี้ active high

ต่อ โมดูลเข้ากับ CorgiDude เลือก INPUT 1 เลยนะครับ

หลังจากต่อเสร็จ มาดูโปรแกรมกันต่อครับ

import utime
from Maix import GPIO
from board import board_info
from fpioa_manager import fm

ข้อความข้างบนเป็น เรียกใช้ library ในที่นี้ก็จะมี utime เวลาที่นับขึ้นตั้งแต่เปิดเครื่อง GPIO คือ GPIO ให้ใช้งาน

#board_info คือ ใช้ที่ใช้แทงขา
#fm คือ ตัวจอง GPIO ภายใน
fm.register(11, fm.fpioa.GPIOHS0, force=True)
fm.register(12, fm.fpioa.GPIOHS1, force=True)
fm.register(13, fm.fpioa.GPIOHS2, force=True)
fm.register(14, fm.fpioa.GPIOHS3, force=True)
fm.register(15, fm.fpioa.GPIOHS4, force=True)

#เป็นการตั้งค่า GPIO ภายในกับภายนอก
#ภายนอกเป็น 11,12,13,14,15 เป็นต้น
#ภายในเป็น fm.fpioa.GPIOHS0,fm.fpioa.GPIOHS1,fm.fpioa.GPIOHS2 เป็นต้น
input11 = GPIO(GPIO.GPIOHS0, GPIO.IN)
input12 = GPIO(GPIO.GPIOHS1, GPIO.IN)
input13 = GPIO(GPIO.GPIOHS2, GPIO.IN)
input14 = GPIO(GPIO.GPIOHS3, GPIO.IN)
input15 = GPIO(GPIO.GPIOHS4, GPIO.IN)

#ต่อไปกำหนดว่าเป็น INPUT หรือ OUTPUT
GPIO.IN คือ กำหนดให้เป็น INPUT
GPIO.OUT คือ กำหนดให้เป็น OUTPUT
while 1:
    print("input:", input11.value(), input12.value(), input13.value(), input14.value(), input15.value())

    utime.sleep_ms(500)

#แสดงผมทุกขาออกมา
input11.value() คือ การดึงค่า INPUT มาแสดงได้
input11.value(0) คือ การกำหนด ลอจิก 0 ไปยัง input11 นั้นเอง

#ดังนี้ถ้าเอาโปรแกรมมาต่อรวมกับ

////////////////////////////////////////////////////////////////////////////////////////////////////////////////
import utime
from Maix import GPIO
from board import board_info
from fpioa_manager import fm


fm.register(11, fm.fpioa.GPIOHS0, force=True)
fm.register(12, fm.fpioa.GPIOHS1, force=True)
fm.register(13, fm.fpioa.GPIOHS2, force=True)
fm.register(14, fm.fpioa.GPIOHS3, force=True)
fm.register(15, fm.fpioa.GPIOHS4, force=True)

input11 = GPIO(GPIO.GPIOHS0, GPIO.IN)
input12 = GPIO(GPIO.GPIOHS1, GPIO.IN)
input13 = GPIO(GPIO.GPIOHS2, GPIO.IN)
input14 = GPIO(GPIO.GPIOHS3, GPIO.IN)
input15 = GPIO(GPIO.GPIOHS4, GPIO.IN)


while 1:
    print("input:", input11.value(), input12.value(), input13.value(), input14.value(), input15.value())

    utime.sleep_ms(500)

///////////////////////////////////////////////////////////////////////////////////////////////////////////

ก็จะได้โปรแกรมอ่านค่า Button ทั้งโหมดในโมดูล

หลังจากนี้ ผมจะให้ โจทย์ ลองเขียนแสดง หลอดไป LED RGB แบบกระพริบพร้อมกับ ที่อยู่บนบอด์ทโดย ขา R=22,G=24,B=23 ใช้ทำ 10 นาทีครับเริ่มครับ

หาซื้อได้จาก ได้เลยครับ

https://www.aiiotshop.com/