Lập trình raspberry pi


*

Bắt đầu làm quen với Raspberry Pi – Lập trình Input với Output bởi Pynhỏ Kiểm tra GPIO bởi Python


Đi vào trình phiên dịch cửa hàng Python thả từ bỏ lốt nói termnial. (Trong các phiên phiên bản cũ của Raspbian, RPi.GPIO tận hưởng quyền truy cập root để phát âm với điều khiển các chân. Nếu chúng ta sử dụng phiên bạn dạng cũ của Raspbian với nhận thấy lưu ý quyền truy vấn, rất cần được chạy Python với quyền root bằng lệnh suvị pyeo hẹp khi sử dụng RPi.GPIO.)

Dưới đó là phương pháp thực hiện:

Trong chương thơm này, ta áp dụng Pybé nhỏ 2.7 nạm vì Python thả 3 bởi một trong những mô-đun vẫn sử dụng chỉ được thiết đặt cho Pykhông lớn 2.x bên trên Raspberry Pi. Khi gõ python tại vết kể lệnh trên Raspberry Pi, khoác định nó chạy Pyhẹp 2.7, có thể chuyển đổi về sau (rất có thể chạy Pydong dỏng 2.7 cụ thể bằng phương pháp gõ python2.7 nắm vày python). Một khác biệt quan trọng đặc biệt thân nhì phiên bạn dạng là bí quyết xuất văn uống phiên bản vào bàn tinh chỉnh. quý khách hàng dùng kiểu dáng print “Hello, world!” trong Pydong dỏng 2.x, tuy thế trong Pynhỏ nhắn 3 là print(“Hello, world!”).

You watching: Lập trình raspberry pi

Nếu ko chạm mặt ngẫu nhiên lỗi làm sao sau khoản thời gian nhập lệnh nhập, bạn đã chuẩn bị để cần sử dụng demo thứ 1 tiên:

Trước khi có thể sử dụng các chân, bạn đề xuất báo cho mô-đun GPIO giải pháp code sẽ tsi mê chiếu đến chúng. Trong Chương thơm 6, số chân sẽ sử dụng ko đối sánh tương quan cùng với cách bọn chúng được bố trí trên board. quý khách đã cần sử dụng thương hiệu biểu thị của chip Broadcom cho mỗi chân. Với mô-đun Pykhiêm tốn này, rất có thể lựa chọn tyêu thích chiếu mang lại những chân theo 1 trong các nhì giải pháp. Để dùng đánh số từ layout, hãy dùng cơ chế GPIO.set(GPIO.BOARD). Nhưng hãy đính thêm với các chân đang sử dụng trong Cmùi hương 6 (GPIO.setmode (GPIO.BCM), với BCM là viết tắt của Broadcom) kia là những gì Adafruit Pi Cobbler cùng các board breakout giống như áp dụng cho những chân:

=>Bài viết được trích tự sách:Raspberry Pi


*

Dự án: Soundboard đơn giản

Bây giờ đồng hồ đã biết cách hiểu các đầu vào trên Raspberry Pi, rất có thể thực hiện các chức năng âm tkhô giòn của mô-đun Pybé Pygame để chế tạo ra một soundboard. Một soundboard được cho phép phát những bản thu thanh bé dại Khi thừa nhận các nút ít của chính nó. Để soundboard, có nhu cầu các điều tiếp sau đây bên cạnh Raspberry Pi:

Ba nút ít bấmDây nối đực-cáiJumper tiêu chuẩn chỉnh hoặc dây nối, được cắt theo kích thướcBreadboardBa điện trsống 10K ohmLoa laptop hoặc screen HDXiaoMI gồm loa tích hợp

Ngoài ra phải một vài ba file âm tkhô nóng không nén, sinh hoạt định dạng .wav. Với mục đích thí nghiệm, bao gồm một vài ba tệp tin âm thanh khô được tải sẵn trên Raspberry Pi hoàn toàn có thể áp dụng. Sau lúc làm cho soundboard chuyển động, thật dễ dãi nhằm thay thế sửa chữa đông đảo tệp tin đó bởi bất kỳ âm thanh hao làm sao, mặc dù có thể bắt buộc thay đổi chúng thành .wav tự những định hình khác. Bắt đầu bằng cách gắn mạch:

Sử dụng dây đực-dòng kết nối chân đất của Raspberry Pi vào bus âm trên breadboard.Sử dụng dây đực-chiếc nối chân 3.3V của Pi mang đến bus dương bên trên breadboard.Lắp cha nút bấm chuột breadboard, tất cả nằm ở đường thân breadboard.Sử dụng jumper tiêu chuẩn hoặc những dây nối nhỏ tuổi, kết nối bus dương của breadboard với chân trên thuộc của mỗi nút ít.Bây tiếng nối những năng lượng điện trsinh sống cùng với chân dưới thuộc của từng nút để nối đất cùng với điện trngơi nghỉ 10K.Sử dụng dây đực-mẫu nối chân bên dưới của mỗi nút (chân nối điện trsinh hoạt 10K) cùng với các chân GPIO của Raspberry Pi. Đối với dự án công trình này, ta thực hiện các chân 23, 24 với 25.

Hình 7-2 cho thấy thêm mạch hoàn chỉnh. Sơ đồ này được tạo thành với Fritzing, một hình thức mã nguồn msinh sống để tạo nên những thi công Hartware.



Hình 7-2. Mạch hoàn chỉnh đến dự án công trình soundboard

Bây giờ sẽ tất cả bảng mạch, đấy là thời điểm để triển khai Việc với code:

Tạo một tlỗi mục new vào thư mục bao gồm với viết tên là sound-board.Msinh sống tlỗi mục kia cùng tạo nên một file mang tên là sound- board.py.Mnghỉ ngơi soundboard.py cùng nhập vào đoạn code sau:

import pygame.mixerfrom time import sleepimport RPi.GPIO as GPIOfrom sys import exitGPIO.setmode(GPIO.BCM)GPIO.setup(23, GPIO.IN)GPIO.setup(24, GPIO.IN)GPIO.setup(25, GPIO.IN)pygame.mixer.init(48000, -16, 1, 1024) soundA = pygame.mixer.Sound("/usr/share/sounds/alsa/Front_Center.wav") soundB = pygame.mixer.Sound("/usr/share/sounds/alsa/Front_Left.wav")soundC = pygame.mixer.Sound("/usr/share/sounds/alsa/Front_Right.wav")soundChannelA = pygame.mixer.Channel(1) soundChannelB = pygame.mixer.Channel(2)soundChannelC = pygame.mixer.Channel(3)print "Soundboard Ready." while True: try: if (GPIO.input(23) == True):  soundChannelA.play(soundA)  if (GPIO.input(24) == True): soundChannelB.play(soundB) if (GPIO.input(25) == True): soundChannelC.play(soundC) sleep(.01)  except KeyboardInterrupt:  exit()Œ Khởi tạo nên cỗ hòa âm Pygame.

 Tải âm thanh hao.

Ž Thiết lập tía kênh (một cho mỗi âm thanh) để có thể phân phát âm tkhô giòn khác biệt bên cạnh đó.

 Cho người dùng biết soundboard đã sẵn sàng (thực hiện cú pháp Pynhỏ bé 2).

See more: Kẹt Xe Khủng Khiếp Ở Ngã Ba Dầu Dây, Ngã Ba Dầu Giây

 Nếu chân vẫn ở tầm mức high, hãy triển khai chiếc sau.

‘ Phát âm tkhô cứng.

’ Dừng “chiếm giũ” bộ xử lý bằng phương pháp chất vấn những nút ít nkhô hanh hơn.

“ Vấn đề này sẽ chất nhận được bay hẳn ngoài script Khi người dùng gõ Ctrl-C, không hiển thị thông báo truy xuất lại.

Mở comm& line cùng điều tìm hiểu tlỗi mục mà lại đang giữ soundboard.py với tiến hành tập lệnh bằng Pythuôn 2:

pi
raspberrypi ~/soundboard $ subởi vì python thả soundboard.py

Sau trong khi thấy “Soundboard Ready”, ban đầu nhận nút ít nhằm phân phát những chủng loại âm thanh hao.
Dù Pygame có sẵn mang đến Pykhiêm tốn 3, tuy nhiên trên thiết lập mặc định của Raspberry Pi, nó vẫn chỉ được thiết lập đến Pybé nhỏ 2.

See more: Trạng Quỳnh Có Thật Không - Nguyễn Quỳnh Không Phải Là Trạng Quỳnh

Tùy nằm trong vào phương pháp Raspberry Pi được tùy chỉnh, âm tkhô cứng hoàn toàn có thể được gửi qua HDXiaoMi MI cho tới màn hình hoặc âm thanh kia có thể được gửi mang đến jaông xã output âm tkhô hanh analog 3,5 mm onboard. Để chuyển đổi điều này, hãy thoát thoát khỏi script bằng cách thừa nhận Ctrl-C với triển khai lệnh sau nhằm sử dụng cổng đầu ra âm thanh analog:

pi
raspberrypi ~/soundboard $ subởi vì amixer cset numid=3 1

Để gửi âm tkhô hanh qua HDMI cho tới screen, hãy sử dụng:

pi
raspberrypi ~/soundboard $ suvì amixer cphối numid=3 2 Tất nhiên, âm tkhô hanh có sẵn ko thú vui lắm, tuy thế có thể sửa chữa thay thế chúng bởi ngẫu nhiên âm tkhô cứng nào: giờ vỗ tay, giờ đồng hồ cười, giờ đồng hồ chuông,… Thêm chúng nó vào thư mục soundboard cùng cập nhật code nhằm trỏ mang đến những file đó. Nếu mong mỏi áp dụng nhiều âm thanh hao hơn bên trên soundboard, hãy thêm các nút bổ sung cập nhật và update code Lúc yêu cầu.


Chuyên mục: Chia sẻ