Raspberry Pi Thiên Lý Nhãn (Phần 1): Time-Lapse

Mô tả dự án: 

Trong bài "Đi học thoai" (Phần 3) (http://arduino.vn/bai-viet/994-di-hoc-thoai-phan-3-time-lapse-cuoi-ngay-...) tui có hướng dẫn các bạn làm hiệu ứng time-lapse với Raspberry Pi camera. Tuy nhiên giá 1 module camera khá chát so với túi tiền sinh viên. Nếu bạn có 1 cái webcam không sử dụng đâu đó trong nhà thì vẫn có thể làm được, có điều là độ phân giải thấp hơn nhiều thôi. (đa phần webcam có độ phân giải khoảng 1MP trở xuống, trong khi Pi Camera có độ phân giải 5 đến 8 MP tùy phiên bản).

Nguyên lý

Chúng ta dùng hàm sleep() của Python ra lệnh cho Raspberry Pi chụp hình lại mỗi 60 giây và gộp chúng lại thành 1 file với dạng .gif

Chuẩn bị

Đơn giản tới mức không thể đơn giản hơn:

Trên Raspberry Pi

Tải package ImageMagick để chuyển định dạng sang .gif:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install imagemagick -y

Tải package fswebcam để điều khiển chụp ảnh bằng webcam:

sudo apt-get install fswebcam

Chép đoạn code sau và lưu lại với tên telepresent.py:

from os import system
from time import sleep


for i in range(60*10):
    os.system("fswebcam 'image{0:04d}.jpg'.format(i)")
    sleep(60)

system('convert -delay 10 -loop 0 image*.jpg animation.gif')

 

Lưu code lại. Mở terminal trong thư mục bạn lưu file python và gõ:

python telepresent.py

 

Lưu ý

Code trên sẽ chạy trong 10 tiếng đồng hồ. Bạn có thể sửa lại số giờ trong phần for() loop nha

Nâng cao

  • Bạn đã thấy module time của Python lợi hại thế nào rồi đó. Với module này, bạn có thể chỉnh sửa chế độ chụp, tần số chụp, etc theo thời điểm trong ngày.
  • Đếm số người trong nhà với MAC address theo như bài http://arduino.vn/bai-viet/981-di-hoc-dzia-kiem-tra-nguoi-dung-co-dang-o... và tăng tần số chụp hình lên (sleep ngắn lại). 
lên
12 thành viên đã đánh giá bài viết này hữu ích.
Chuyên mục: 
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

"Fiat Lux - Hãy có ánh sáng": (Phần 2) Viết code BLINK thần thánh cho neopixel WS2812

Đây là phần 2 cho tutorial hướng dẫn cách lập trình LED 3 màu neopixel WS2812. Vì mỗi module LED là 1 mạch IC nên cách sử dụng hơi rắc rối hơn so với LED thông thường. Các bạn chú ý nha!

lên
22 thành viên đã đánh giá bài viết này hữu ích.

Lồng tiếng robot cho Raspberry Pi

Raspberry Pi là một board rất thích hợp cho các dự án robot thông minh. Ta có thể làm cho dự án của mình thêm sống động bằng cách phát ra các câu trả lời đơn giản. Bài này tui giới thiệu với các bạn 2 chương trình text-to-speech (chuyển chữ thành phiên âm) điều khiển bởi Python.

lên
15 thành viên đã đánh giá bài viết này hữu ích.