Hello Pi - Board raspberry Pi คอมพิวเตอร์จิ๋ว แต่ความสามารถไม่จิ๋ว - EP1 - BasicPi
สวัสดีครับหลังจากที่ห่างหายไปนาน วันนี้เราก็มาพบกับ บอร์ดคอมพิวเตอร์ขนาดจิ๋วที่ความสามารถครอบจักรวาลมากๆ ในราคาเพียง 30$ ต้นๆ แน่นอนครับตามหัวข้อเขากำลังพูดถึงเจ้า RasberryPi นั่นเอง สงสัยละสิว่าจะคอมพิวเตอร์ที่ชื่อเหมือนของหวานนี้มันคืออะไรและทำอะไรได้บ้างไปดูกันเลย !
เจ้าบอร์ดนี้เป็นที่นิยมมากในหลายๆงานด้วยความที่ตัวมันเป็น open source ทำให้ community ที่ใช้งงานนั้นมีขนาดใหญ่มากๆ สามารถพัฒนางานต่างๆได้ด้วยเจ้านี่ไม่ว่าจะเป็นงาน IOT Robot AI image processing พลังของเจ้าตัวนี้ตัวเดียวสามารถเอาอยู่เจ้า สเป็คของเจ้าบอร์ด
Raspberry Pi 3 B ที่เราจะใช้ก็ตามนี้เลย
Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @1.4GHz
1GB LPDDR2 SDRAM
2.4GHz and 5GHz IEEE 802.11.b/g/n/ac wireless LAN
Bluetooth 4.2, BLE
Gigabit Ethernet over USB 2.0 (maximum throughput 300 Mbps)
Extended 40-pin GPIO header
Full-size HDMI
4 USB 2.0 ports
CSI camera port for connecting a Raspberry Pi camera
DSI display port for connecting a Raspberry Pi touchscreen display
4-pole stereo output and composite video port
Micro SD port for loading your operating system and storing data
5V/2.5A DC power input
Power-over-Ethernet (PoE) support (requires separate PoE HAT)
หลังจากที่รู้จักหน้าค่าตาของมันไปแล้วที่นี้ก็จะทำให้ดูเลยละกันว่าจะใช้งานมันได้อย่างไร?
1.Install
step 1 : ดาวน์โหลด OS raspbian จาก http://www.raspberrypi.org/downloads/
step 2 : ดาวโหลดโปรแกรม Win32DiskImager จาก http://sourceforge.net/projects/win32diskimager/ และติดตั้งให้เรียบร้อย
Step 3: ใส่ SD card เข้ากับเครื่องคอมพิวเตอร์หรือ card reader
Step 4: เปิดโปรแกรม Win32 Disk Imager เลือก Dive เป็นไดรฟ์ของ Micro SD card และที่ช่อง Image File ให้เลือก OS (ตัว Raspbian ที่โหลดมาในขั้นตอนแรก) ที่เราจะทำการติดตั้งใน Micro SD card
Step 5: กดปุ่ม Write เพื่อติดตั้ง OS ลง Micro SD card แล้วกด YES เพื่อยืนยัน
Step 6: เมื่อติดตั้งเสร็จแล้วให้ถอด Micro SD card ออกจากคอมพิวเตอร์แล้วใส่ไปที่
Raspberry Pi ต่อไป
เท่านี้เราก็จะได้ บอร์ดที่พร้อมใช้งานแล้วครับ
2.Boot Up and Re,ote to desktop
Step 1: จ่ายไฟให้ Raspberry Pi ต่อ USB mouse และ key board พร้อมกับ HDMI Moniter ให้กับ Raspberry Pi
Step 2:ไปที่ Wireless & Wired Network Setting เลือก Network Setting ตั้งค่า Interface เป็น ethO เลือก Disable IPv6 ตั้งค่า IP เป็น 192.168.1.xx กด Apply, and Close
Step 3:ไปที่ Raspberry เลือก Preference > PRI Configuration เลือกเป็น Enable ทั้งหมด จากนั้นกฌกด OK หลังจากนี้เราก็สามารถ Remote เข้า Raspberry Pi ผ่าน Desktop ได้แล้ว
Step 4: ถอด keyboard mouse และ HDMI ออกจาก Pi แล้วต่อสาย Network LAN ระหว่าง Pi กับ NoteBook แทน
Step 5: fix IP notebook ของสาย LAN ที่ต่อกับ Pi ไปที่ Properties > Internet Protocol Version (TCP/IPv4) > Used thr following IP Address ตั้งเป็น 192.168.1.191 subnet เป็น 255.255.255.0 กด OK
Step 6: เรียกใช้งาน ด้วยโปรแกรม VNC viewer login: pi password:raspberry เพียงเท่านี้เราก็สามารถ remote เข้า Pi ผ่าน desktopwได้แล้วครับ
Step 7: หลังจากเราใช้งานครั้งแรกนั้นให้ทำการ BootUp โดยการเข้าไปที่หน้า Terminal แล้วพิมพ์คำสั่งนี้ sudo apt-get update แล้วกด Enter เพื่อเป็นการอัพเดตโปรแกรม และคำสั่ง
sudo apt-get upgrade กด Enter เพื่ออัพเกรดโปรแกรมเป็นเวอร์ชั่นล่าสุด กด Y เพื่อยืนยัน
3.Hello World! Raspberry Pi (ฺ Blink LED)
นี่คือขาต่างๆที่ควรรู้ของ Pi นะครับ ส่วนภาษาที่เขียนเราจะใช้ Python กัน
Ex.1 Blink LED
-วงจร
ต่อ LED ขาบวกไปที่ขา 11 (GPIO17) ขาลบต่อไปที่ตัวต้านทาน 330 โอฆ์ม และเอาตัวต้านทาน ไปต่อกับ GND
-การทดลอง
เปิด menu > Programing > Python 3 > File > new window จากนั้นใส่โค๊ดตัวอย่างลงไป
import RPi.GPIO as GPIO #Add GPIO library to a Python sketch
import time #Add time library to a Python sketch
GPIO.setmode(GPIO.BOARD) #Setup GPIO using Board numbering
GPIO.setup(11, GPIO.OUT) #Setup pin 11 to output
while True:
GPIO.output(11,GPIO.HIGH) #Set LED pin 8 to HIGH
print("Input = 1, HIGH")
time.sleep(0.5)
GPIO.output(11,GPIO.LOW) #Set LED pin 8 to LOW
print("Input = 0, LOW")
time.sleep(0.5)
จากนั้นก็ไปที่ File > save as ตั้งชื่อเป็น Blink.py บันทึกไฟล์ไว้ที่ /home/pi (ตำแหน่ง Default)
-ทดสอบ
ไปที่หน้า Terminal และพิมพ์คำสั่ง sudo Python Blink.py จะเห็นว่า LED จะติดดับครั้งละ 1 วิ สามารถ Ctrl + Z เพื่อยกเลิกการทำงานของโค๊ด
Ex.2 INPUT/OUTPUT
-วงจร
ใช้ต่อจากวงจรของการทดลองที่ 1 และเพิ่มการใช้ขา 12(GPIO18) ต่อเข้ากับขาข้างหนึ่งของปุ่มกด และขาอีกด้านหนึ่งต่อ pull-up ลง GND
Code
import RPi.GPIO as GPIO #Add GPIO library to a Python sketch
import time #Add time library to a Python sketch
GPIO.setmode(GPIO.BOARD) #Setup GPIO using Board numbering
GPIO.setup(11, GPIO.OUT) #Setup pin 11 to output
GPIO.setup(12, GPIO.IN, pull_up_down=GPIO.PUD_UP)
#Setup pin 12 to input and Pull-Up
while True:
if (GPIO.input(12)==1): #Read Botton pin 7
GPIO.output(11,GPIO.HIGH) #Set LED pin 8 to HIGH
print("Input = 1, HIGH")
else:
GPIO.output(11,GPIO.LOW) #Set LED pin 8 to LOW
print("Input = 0, LOW")
time.sleep(0.5)
จากนั้นก็ เข้าที่ Terminal พิมพ์คำสั่ง sudo python button.py
Ex3.DHT-22 Sensor
DHT-22 Snsor เป็นเซ็นเซอร์วัดอุณหภูมิที่สามารถใช้งานกับ Raspberry Pi ได้ง่ายมากๆ
-วงจร
ก่อนจะใช้งาน DHT-22 ได้นั้นเราต้องทำการลงโมดูล DHT-22 กับ Python ก่อนโดยพิมพ์คำสั่งดังนี้
sudo apt-get update
sudo apt-get install build-essential python-dev
git clone https://github.com/addfruit/Adafruit_Python_DHT.git
cd AdaFruit_Python_DHT
sudo pyrhon setup.py install
สามารถพิมพ์คำสั่งเพื่อดูอุณหภูมิได้ดังนี้
cd examples
sudo ./AdafruitDHT.py 22 4
เราจะได้อุณหภูมิและความชื้อมา
หากเราต้องการแบบ real time ก็ต้องเขียนโค๊ดกันหน่อยย
import sys
import time
import Adafruit_DHT
sensor = Adafruit_DHT.DHT22
pin = 4
while True:
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
if humidity is not None and temperature is not None:
print 'Temp={0:0.1f}*C Humidity={1:0.1f}%'.format(temperature, humidity)
time.sleep(2)
else:
print 'Failed to get reading. Try again!'
Ex.4 Play with MAX7219 Display
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
LATCH = 24 # CS
CLK = 23 # Clock
dataBit = 19 # DIN
GPIO.setup(LATCH, GPIO.OUT)
GPIO.setup(CLK, GPIO.OUT)
GPIO.setup(dataBit, GPIO.OUT)
# Setup IO
GPIO.output(LATCH, 0)
GPIO.output(CLK, 0)
def pulseCLK():
GPIO.output(CLK, 1)
time.sleep(.001)
GPIO.output(CLK, 0)
return
def pulseCS():
GPIO.output(LATCH, 1)
time.sleep(.001)
GPIO.output(LATCH, 0)
return
# shift byte into MAX7219
# MSB out first!
def ssrOut(value):
for x in range(0,8):
temp = value & 0x80
if temp == 0x80:
GPIO.output(dataBit, 1) # data bit HIGH
else:
GPIO.output(dataBit, 0) # data bit LOW
pulseCLK()
value = value << 0x01 # shift left
return
# initialize MAX7219 4 digits BCD
def initMAX7219():
# set decode mode
ssrOut(0x09) # address
ssrOut(0x00); # no decode data
# ssrOut(0xFF) # 4-bit BCD decode eight digits
pulseCS();
# set intensity
ssrOut(0x0A) # address
ssrOut(0x04) # 9/32s
pulseCS()
# set scan limit 0-7
ssrOut(0x0B); # address
ssrOut(0x07) # 8 digits
# ssrOut(0x03) # 4 digits
pulseCS()
# set for normal operation
ssrOut(0x0C) # address
# ssrOut(0x00); // Off
ssrOut(0x01) # On
pulseCS()
# clear to all 0s.
for x in range(0,9):
ssrOut(x)
ssrOut(0x0f)
pulseCS()
return
def writeMAX7219(digit, location, data):
ssrOut(location)
ssrOut(data | (digit<<7))
pulseCS()
return
def displayOff():
# set for normal operation
ssrOut(0x0C) # address
ssrOut(0x00); # Off
# ssrOut(0x01) # On
pulseCS()
return
def displayOn():
# set for normal operation
ssrOut(0x0C) # address
# ssrOut(0x00); # Off
ssrOut(0x01) # On
pulseCS()
return
Encode7Seg = [ 0b1111110,0b0110000,0b1101101,0b1111001,
0b0110011,0b1011011,0b1011111,0b1110000,
0b1111111,0b1111011,0b1110111,0b0011111,
0b1001110,0b0111101,0b1001111,0b1000111 ]
time.sleep(1)
initMAX7219()
while True:
Tempp2 = 7
Tempp1 = 6
Tempp0 = 5
Humid2 = 4
Humid1 = 3
Humid0 = 2
writeMAX7219( 0, 8, Encode7Seg[Tempp2])
writeMAX7219( 1, 7, Encode7Seg[Tempp1])
writeMAX7219( 0, 6, Encode7Seg[Tempp0])
writeMAX7219( 0, 5, 0b00001101) #Code=tabcdefgh
writeMAX7219( 0, 4, Encode7Seg[Humid2])
writeMAX7219( 1, 3, Encode7Seg[Humid1])
writeMAX7219( 0, 2, Encode7Seg[Humid0])
writeMAX7219( 0, 1, 0b00010111) #Code=tabcdefgh
time.sleep(1)
TemppX = (int)(temperature * 10)
Tempp0 = TemppX % 10
TemppX = TemppX / 10
Tempp1 = TemppX % 10
TemppX = TemppX / 10
Tempp2 = TemppX % 10
HumidX = (int)(humidity * 10)
Humid0 = HumidX % 10
HumidX = HumidX / 10
Humid1 = HumidX % 10
HumidX = HumidX / 10
Humid2 = HumidX % 10
จะเห็นว่าอุณหภูมิจะมาแสดงบน Display ของเรานะครับ
Ex.5 play with USB camera
ก่อนอื่นให้ทำการติดตั้ง fswebcam ก่อนโดยก่อนพิมพ์คำสั่งใน Terminal ว่า
sudo apt-get install fswebcam
sudo apt-get install libjpeg8-dev
sudo apt-get install imagemagick
เจ้าบอร์ดนี้เป็นที่นิยมมากในหลายๆงานด้วยความที่ตัวมันเป็น open source ทำให้ community ที่ใช้งงานนั้นมีขนาดใหญ่มากๆ สามารถพัฒนางานต่างๆได้ด้วยเจ้านี่ไม่ว่าจะเป็นงาน IOT Robot AI image processing พลังของเจ้าตัวนี้ตัวเดียวสามารถเอาอยู่เจ้า สเป็คของเจ้าบอร์ด
Raspberry Pi 3 B ที่เราจะใช้ก็ตามนี้เลย
Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @1.4GHz
1GB LPDDR2 SDRAM
2.4GHz and 5GHz IEEE 802.11.b/g/n/ac wireless LAN
Bluetooth 4.2, BLE
Gigabit Ethernet over USB 2.0 (maximum throughput 300 Mbps)
Extended 40-pin GPIO header
Full-size HDMI
4 USB 2.0 ports
CSI camera port for connecting a Raspberry Pi camera
DSI display port for connecting a Raspberry Pi touchscreen display
4-pole stereo output and composite video port
Micro SD port for loading your operating system and storing data
5V/2.5A DC power input
Power-over-Ethernet (PoE) support (requires separate PoE HAT)
หลังจากที่รู้จักหน้าค่าตาของมันไปแล้วที่นี้ก็จะทำให้ดูเลยละกันว่าจะใช้งานมันได้อย่างไร?
1.Install
step 1 : ดาวน์โหลด OS raspbian จาก http://www.raspberrypi.org/downloads/
step 2 : ดาวโหลดโปรแกรม Win32DiskImager จาก http://sourceforge.net/projects/win32diskimager/ และติดตั้งให้เรียบร้อย
Step 3: ใส่ SD card เข้ากับเครื่องคอมพิวเตอร์หรือ card reader
Step 4: เปิดโปรแกรม Win32 Disk Imager เลือก Dive เป็นไดรฟ์ของ Micro SD card และที่ช่อง Image File ให้เลือก OS (ตัว Raspbian ที่โหลดมาในขั้นตอนแรก) ที่เราจะทำการติดตั้งใน Micro SD card
Step 5: กดปุ่ม Write เพื่อติดตั้ง OS ลง Micro SD card แล้วกด YES เพื่อยืนยัน
Step 6: เมื่อติดตั้งเสร็จแล้วให้ถอด Micro SD card ออกจากคอมพิวเตอร์แล้วใส่ไปที่
Raspberry Pi ต่อไป
เท่านี้เราก็จะได้ บอร์ดที่พร้อมใช้งานแล้วครับ
2.Boot Up and Re,ote to desktop
Step 1: จ่ายไฟให้ Raspberry Pi ต่อ USB mouse และ key board พร้อมกับ HDMI Moniter ให้กับ Raspberry Pi
Step 2:ไปที่ Wireless & Wired Network Setting เลือก Network Setting ตั้งค่า Interface เป็น ethO เลือก Disable IPv6 ตั้งค่า IP เป็น 192.168.1.xx กด Apply, and Close
Step 3:ไปที่ Raspberry เลือก Preference > PRI Configuration เลือกเป็น Enable ทั้งหมด จากนั้นกฌกด OK หลังจากนี้เราก็สามารถ Remote เข้า Raspberry Pi ผ่าน Desktop ได้แล้ว
Step 4: ถอด keyboard mouse และ HDMI ออกจาก Pi แล้วต่อสาย Network LAN ระหว่าง Pi กับ NoteBook แทน
Step 5: fix IP notebook ของสาย LAN ที่ต่อกับ Pi ไปที่ Properties > Internet Protocol Version (TCP/IPv4) > Used thr following IP Address ตั้งเป็น 192.168.1.191 subnet เป็น 255.255.255.0 กด OK
Step 6: เรียกใช้งาน ด้วยโปรแกรม VNC viewer login: pi password:raspberry เพียงเท่านี้เราก็สามารถ remote เข้า Pi ผ่าน desktopwได้แล้วครับ
Step 7: หลังจากเราใช้งานครั้งแรกนั้นให้ทำการ BootUp โดยการเข้าไปที่หน้า Terminal แล้วพิมพ์คำสั่งนี้ sudo apt-get update แล้วกด Enter เพื่อเป็นการอัพเดตโปรแกรม และคำสั่ง
sudo apt-get upgrade กด Enter เพื่ออัพเกรดโปรแกรมเป็นเวอร์ชั่นล่าสุด กด Y เพื่อยืนยัน
3.Hello World! Raspberry Pi (ฺ Blink LED)
นี่คือขาต่างๆที่ควรรู้ของ Pi นะครับ ส่วนภาษาที่เขียนเราจะใช้ Python กัน
Ex.1 Blink LED
-วงจร
ต่อ LED ขาบวกไปที่ขา 11 (GPIO17) ขาลบต่อไปที่ตัวต้านทาน 330 โอฆ์ม และเอาตัวต้านทาน ไปต่อกับ GND
-การทดลอง
เปิด menu > Programing > Python 3 > File > new window จากนั้นใส่โค๊ดตัวอย่างลงไป
import RPi.GPIO as GPIO #Add GPIO library to a Python sketch
import time #Add time library to a Python sketch
GPIO.setmode(GPIO.BOARD) #Setup GPIO using Board numbering
GPIO.setup(11, GPIO.OUT) #Setup pin 11 to output
while True:
GPIO.output(11,GPIO.HIGH) #Set LED pin 8 to HIGH
print("Input = 1, HIGH")
time.sleep(0.5)
GPIO.output(11,GPIO.LOW) #Set LED pin 8 to LOW
print("Input = 0, LOW")
time.sleep(0.5)
จากนั้นก็ไปที่ File > save as ตั้งชื่อเป็น Blink.py บันทึกไฟล์ไว้ที่ /home/pi (ตำแหน่ง Default)
-ทดสอบ
ไปที่หน้า Terminal และพิมพ์คำสั่ง sudo Python Blink.py จะเห็นว่า LED จะติดดับครั้งละ 1 วิ สามารถ Ctrl + Z เพื่อยกเลิกการทำงานของโค๊ด
Ex.2 INPUT/OUTPUT
-วงจร
ใช้ต่อจากวงจรของการทดลองที่ 1 และเพิ่มการใช้ขา 12(GPIO18) ต่อเข้ากับขาข้างหนึ่งของปุ่มกด และขาอีกด้านหนึ่งต่อ pull-up ลง GND
Code
import RPi.GPIO as GPIO #Add GPIO library to a Python sketch
import time #Add time library to a Python sketch
GPIO.setmode(GPIO.BOARD) #Setup GPIO using Board numbering
GPIO.setup(11, GPIO.OUT) #Setup pin 11 to output
GPIO.setup(12, GPIO.IN, pull_up_down=GPIO.PUD_UP)
#Setup pin 12 to input and Pull-Up
while True:
if (GPIO.input(12)==1): #Read Botton pin 7
GPIO.output(11,GPIO.HIGH) #Set LED pin 8 to HIGH
print("Input = 1, HIGH")
else:
GPIO.output(11,GPIO.LOW) #Set LED pin 8 to LOW
print("Input = 0, LOW")
time.sleep(0.5)
จากนั้นก็ เข้าที่ Terminal พิมพ์คำสั่ง sudo python button.py
Ex3.DHT-22 Sensor
DHT-22 Snsor เป็นเซ็นเซอร์วัดอุณหภูมิที่สามารถใช้งานกับ Raspberry Pi ได้ง่ายมากๆ
-วงจร
ก่อนจะใช้งาน DHT-22 ได้นั้นเราต้องทำการลงโมดูล DHT-22 กับ Python ก่อนโดยพิมพ์คำสั่งดังนี้
sudo apt-get update
sudo apt-get install build-essential python-dev
git clone https://github.com/addfruit/Adafruit_Python_DHT.git
cd AdaFruit_Python_DHT
sudo pyrhon setup.py install
สามารถพิมพ์คำสั่งเพื่อดูอุณหภูมิได้ดังนี้
cd examples
sudo ./AdafruitDHT.py 22 4
เราจะได้อุณหภูมิและความชื้อมา
หากเราต้องการแบบ real time ก็ต้องเขียนโค๊ดกันหน่อยย
import sys
import time
import Adafruit_DHT
sensor = Adafruit_DHT.DHT22
pin = 4
while True:
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
if humidity is not None and temperature is not None:
print 'Temp={0:0.1f}*C Humidity={1:0.1f}%'.format(temperature, humidity)
time.sleep(2)
else:
print 'Failed to get reading. Try again!'
Ex.4 Play with MAX7219 Display
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
LATCH = 24 # CS
CLK = 23 # Clock
dataBit = 19 # DIN
GPIO.setup(LATCH, GPIO.OUT)
GPIO.setup(CLK, GPIO.OUT)
GPIO.setup(dataBit, GPIO.OUT)
# Setup IO
GPIO.output(LATCH, 0)
GPIO.output(CLK, 0)
def pulseCLK():
GPIO.output(CLK, 1)
time.sleep(.001)
GPIO.output(CLK, 0)
return
def pulseCS():
GPIO.output(LATCH, 1)
time.sleep(.001)
GPIO.output(LATCH, 0)
return
# shift byte into MAX7219
# MSB out first!
def ssrOut(value):
for x in range(0,8):
temp = value & 0x80
if temp == 0x80:
GPIO.output(dataBit, 1) # data bit HIGH
else:
GPIO.output(dataBit, 0) # data bit LOW
pulseCLK()
value = value << 0x01 # shift left
return
# initialize MAX7219 4 digits BCD
def initMAX7219():
# set decode mode
ssrOut(0x09) # address
ssrOut(0x00); # no decode data
# ssrOut(0xFF) # 4-bit BCD decode eight digits
pulseCS();
# set intensity
ssrOut(0x0A) # address
ssrOut(0x04) # 9/32s
pulseCS()
# set scan limit 0-7
ssrOut(0x0B); # address
ssrOut(0x07) # 8 digits
# ssrOut(0x03) # 4 digits
pulseCS()
# set for normal operation
ssrOut(0x0C) # address
# ssrOut(0x00); // Off
ssrOut(0x01) # On
pulseCS()
# clear to all 0s.
for x in range(0,9):
ssrOut(x)
ssrOut(0x0f)
pulseCS()
return
def writeMAX7219(digit, location, data):
ssrOut(location)
ssrOut(data | (digit<<7))
pulseCS()
return
def displayOff():
# set for normal operation
ssrOut(0x0C) # address
ssrOut(0x00); # Off
# ssrOut(0x01) # On
pulseCS()
return
def displayOn():
# set for normal operation
ssrOut(0x0C) # address
# ssrOut(0x00); # Off
ssrOut(0x01) # On
pulseCS()
return
Encode7Seg = [ 0b1111110,0b0110000,0b1101101,0b1111001,
0b0110011,0b1011011,0b1011111,0b1110000,
0b1111111,0b1111011,0b1110111,0b0011111,
0b1001110,0b0111101,0b1001111,0b1000111 ]
time.sleep(1)
initMAX7219()
while True:
Tempp2 = 7
Tempp1 = 6
Tempp0 = 5
Humid2 = 4
Humid1 = 3
Humid0 = 2
writeMAX7219( 0, 8, Encode7Seg[Tempp2])
writeMAX7219( 1, 7, Encode7Seg[Tempp1])
writeMAX7219( 0, 6, Encode7Seg[Tempp0])
writeMAX7219( 0, 5, 0b00001101) #Code=tabcdefgh
writeMAX7219( 0, 4, Encode7Seg[Humid2])
writeMAX7219( 1, 3, Encode7Seg[Humid1])
writeMAX7219( 0, 2, Encode7Seg[Humid0])
writeMAX7219( 0, 1, 0b00010111) #Code=tabcdefgh
time.sleep(1)
TemppX = (int)(temperature * 10)
Tempp0 = TemppX % 10
TemppX = TemppX / 10
Tempp1 = TemppX % 10
TemppX = TemppX / 10
Tempp2 = TemppX % 10
HumidX = (int)(humidity * 10)
Humid0 = HumidX % 10
HumidX = HumidX / 10
Humid1 = HumidX % 10
HumidX = HumidX / 10
Humid2 = HumidX % 10
จะเห็นว่าอุณหภูมิจะมาแสดงบน Display ของเรานะครับ
Ex.5 play with USB camera
ก่อนอื่นให้ทำการติดตั้ง fswebcam ก่อนโดยก่อนพิมพ์คำสั่งใน Terminal ว่า
sudo apt-get install fswebcam
sudo apt-get install libjpeg8-dev
sudo apt-get install imagemagick
ความคิดเห็น
แสดงความคิดเห็น