Hướng dẫn cho người mới bắt đầu về MicroPython với Raspberry Pi Pico

Hướng dẫn cho người mới bắt đầu về MicroPython với Raspberry Pi Pico

Raspberry Pi Pico là thành viên mới nhất của Gia đình Raspberry Pi. Trước đó, dòng sản phẩm Raspberry Pi là máy tính một bo mạch có khả năng chạy một hệ điều hành.

Dựa trên chip RP2040 mới, Raspberry Pi Pico hỗ trợ cả MicroPython và C / C ++. Với Raspberry Pi Pico, người mới bắt đầu và những người đam mê có thể điều khiển phần cứng và các thiết bị được kết nối. Các chân GPIO của Raspberry Pi Pico có thể được sử dụng để làm mờ đèn, đọc trạng thái của công tắc và hơn thế nữa.

MicroPython là gì?

Việc lập trình trên vi điều khiển chủ yếu được thực hiện bằng ngôn ngữ C, như được sử dụng trong các bảng phát triển Arduino . Sau đó, vào năm 2014, một ngôn ngữ lập trình mới cho vi điều khiển, MicroPython, đã được xuất bản. MicroPython cho phép bạn viết mã Python trên kim loại trần của vi điều khiển. Điều này có nghĩa là bạn có thể viết mã Python mà không cần hệ điều hành.

Python là một ngôn ngữ lập trình cấp cao, thân thiện với người mới bắt đầu cho phép người dùng tập trung vào việc học các khái niệm lập trình. Điều này cũng giống với MicroPython.

Sử dụng đèn LED

Để kiểm soát phần cứng, Pico nói chuyện với một loạt các chân dọc theo cả hai cạnh của nó. Chúng được gọi là các chân đầu ra đầu vào mục đích chung (GPIO) và có thể tìm thấy đèn LED trên bo mạch trên GPIO 25. Để điều khiển nó, trước tiên hãy nhập các thư viện cần thiết:

import machine

import utime

Sau đó gọi hàm Pin bằng cách sử dụng thư viện máy để xử lý chân GPIO của Pin, trong trường hợp này chúng ta đang thiết lập Pin tại GPIO 25, vì vậy nó là tham số đầu tiên. Tham số thứ hai đặt nó như một chân đầu ra chứ không phải là một chân đầu vào, làm như vậy, chân sẽ biết nó phải làm gì:

onboard_led = machine.Pin(25, machine.Pin.OUT)

Để tiếp tục, trong đoạn mã sau, chúng tôi yêu cầu Pico đặt giá trị pin của nó ở GPIO 25 thành 1, hoặc 'bật'.

while True: onboard_led.value(1)

Tuy nhiên, bạn có thể nhận ra rằng dường như không có gì xảy ra. Điều này là do Pico hoạt động rất nhanh, vì vậy đèn LED sáng nhanh hơn bạn có thể cảm nhận bằng mắt. Để khắc phục điều này, chúng ta cần làm chậm chương trình bằng cách sử dụng lệnh sleep từ thư viện utime . Bạn có thể xem mã đầy đủ nơi đèn LED sẽ bật và tắt bên dưới:

import machine import utime onboard_led = machine.Pin(25, machine.Pin.OUT) while True: onboard_led.value(1) utime.sleep(5) onboard_led.value(0) utime.sleep(5)

Bật và tắt đèn LED

Ngoài ra, có một cách khác để bật và tắt đèn LED, bằng lệnh chuyển đổi :

import machine import utime onboard_led = machine.Pin(25, machine.Pin.OUT) while True: led_onboard.toggle() utime.sleep(5)

Trong ví dụ này, lệnh bật tắt thay thế yêu cầu đặt giá trị của đèn LED thành 1 và sau đó là 0. Nó vẫn sáng trong 5 giây rồi tắt trong 5 giây nữa, miễn là chương trình đang chạy.

Tạo các chức năng

Hướng dẫn cho người mới bắt đầu về MicroPython với Raspberry Pi Pico

Khi các chương trình ngày càng phức tạp, nó sẽ giúp nhóm các đoạn mã lại với nhau để nó duy trì sự mạch lạc. Để làm như vậy, MicroPython như Python cho phép sử dụng các hàm. Hàm là một nhóm các câu lệnh liên quan thực hiện một nhiệm vụ cụ thể. Ví dụ trong đoạn mã sau, một hàm được gọi là printNames được định nghĩa:

def printNames: print(“Raspberry Pi 1”) print(“Raspberry Pi 2”) print(“Raspberry Pi 3”) print(“Raspberry Pi 4”) print(“Raspberry Pi Compute Module”) print(“Raspberry Pi 400”) print(“Raspberry Pi Pico”) printNames()

Dòng cuối cùng trong mã gọi hàm để nó thực thi.

Vòng lặp

Hướng dẫn cho người mới bắt đầu về MicroPython với Raspberry Pi Pico

Logic có điều kiện thực hiện các hành động khác nhau tùy thuộc vào việc một ràng buộc Boolean đánh giá là đúng hay sai. Rất nhiều dự án Raspberry Pi Pico dựa trên những tuyên bố hợp lý này. Trong ví dụ sau, một câu lệnh if-else được sử dụng để xác định xem một câu lệnh print có thực thi hay không:

i = 17 def printNames(): if i > 15: print("i is greater than 15!") else: print("i is not greater than 15") printNames()

Trong ví dụ tiếp theo, vòng lặp for được sử dụng với hàm phạm vi . Các vòng lặp này có thể được sử dụng để lặp lại một khối mã nhiều lần.

Hướng dẫn cho người mới bắt đầu về MicroPython với Raspberry Pi Pico

Đối với ví dụ này, lệnh in sẽ được thực hiện năm lần với độ trễ là năm giây giữa mỗi lần với lệnh ngủ :

import utime def printNames(): for i in range(5): print("Raspberry Pi Pico") utime.sleep(5) printNames()

Bộ chuyển đổi tương tự sang kỹ thuật số (ADC)

Mặc dù bạn sẽ không thể nhìn thấy nó, Raspberry Pi Pico có bộ chuyển đổi tín hiệu tương tự sang kỹ thuật số bên trong. Trong ví dụ sau, một chiết áp được nối với Raspberry Pi Pico trên GPIO 26, có khả năng thực hiện chức năng ADC:

import machine import utime pot = machine.ADC(26) while True: print(pot.read_u16()) utime.sleep(1)

Ở đây, trước khi chúng ta có thể sử dụng chân có khả năng ADC này, nó cần được thiết lập với chức năng ADC. Sau đó, trong khi chương trình đang chạy, giá trị của chiết áp sẽ in ra mỗi giây. Các chân khác trên Raspberry Pi Pico có khả năng ADC bao gồm GPIO27, 28 và 29.

Điều chế độ rộng xung (Pwm)

Đầu ra kỹ thuật số của vi điều khiển chỉ có thể là 1 hoặc 0. Để tạo tín hiệu tương tự, bạn cần có bộ chuyển đổi tín hiệu số sang tín hiệu tương tự. Tuy nhiên, có một cách khác là tạo tín hiệu tương tự một cách giả tạo, bằng cách sử dụng điều chế độ rộng xung hay viết tắt là PWM.

Bằng cách bật và tắt tín hiệu kỹ thuật số, đây được gọi là xung. Bằng cách điều chỉnh độ rộng của một xung, điều này tạo ra một tín hiệu tương tự một cách giả tạo như trong ví dụ sau:

import machine import utime pot = machine.ADC(26 led = machine.PWM(machine.Pin(21)) led.freq(1000) while True: led.duty_u16(pot.read_u16())

Đầu tiên, máy và thư viện utime đã được nhập. Một đối tượng, onboard_led được tạo với đầu ra PWM được kích hoạt trên chân GPIO 21. Sau đó, sử dụng lệnh freq , lệnh này đặt tần số để điều chỉnh độ rộng xung. Hãy tưởng tượng xoay chiết áp, đèn LED sẽ sáng hơn khi quay theo một chiều.

Điều này xảy ra vì giá trị tương tự từ chiết áp được sử dụng làm giá trị cho chu kỳ làm việc của tín hiệu PWM, nó là giá trị từ 0 đến 65535. Tuy nhiên, nếu không chuyển đổi, việc xoay một chút chiết áp có thể khiến đèn LED đạt đến mức độ sáng tối đa .

Để khắc phục điều này, để chiết áp chỉ đạt đến độ sáng đầy đủ khi xoay về phía cuối cùng, giá trị được chuyển đổi bằng hàm duty_u16 . Hàm này biến nó thành một số nguyên 16 bit có giá trị từ 0 đến 1024, là cùng một dải giá trị mà bạn sẽ nhận được từ chân tương tự của Pico.

Tạo nhiều hơn với Raspberry Pi Pico

Bài viết này đã trình bày các lệnh cơ bản trong MicroPython trên Raspberry Pi Pico. Để biết thêm thông tin, hãy xem tài liệu chính thức về lập trình MicroPython với Raspberry Pi Pico .

Nếu nó chưa được thiết lập trên Raspberry Pi Pico của bạn, hãy lấy Thonny IDE để chạy mã MicroPython của bạn hoặc kiểm tra trình giả lập CPU Unicorn để chạy vi điều khiển ảo trực tiếp trên máy tính của bạn.


10 ý tưởng đèn tự làm hàng đầu để biến phòng ngủ của bạn

10 ý tưởng đèn tự làm hàng đầu để biến phòng ngủ của bạn

Ánh sáng là chất keo kết dính phong cách trang trí của bạn với nhau. Nó làm nổi bật các tính năng hấp dẫn cho căn phòng của bạn, biến nó thành một ốc đảo ấm áp, ấm cúng mà bạn sẽ thích đến vào mỗi buổi tối. Phần tốt nhất? Bạn thậm chí không phải phá vỡ ngân hàng vì có một số ý tưởng DIY khá phi thường để thắp sáng phòng ngủ của bạn. Đây là top 10 của chúng tôi:

Thiết kế và in 3D Tác phẩm thu nhỏ trên mặt bàn của riêng bạn với máy in FDM

Thiết kế và in 3D Tác phẩm thu nhỏ trên mặt bàn của riêng bạn với máy in FDM

Các trò chơi trên máy tính bảng như D&D và Warhammer cung cấp một cách tuyệt vời để thưởng thức giải trí tương tác mà không cần đến máy tính hoặc bảng điều khiển.

Cách cài đặt Camera hành trình trong ô tô của bạn

Cách cài đặt Camera hành trình trong ô tô của bạn

Nếu bạn có một chiếc camera hành trình, việc lắp nó có vẻ là một việc vặt. Trong một số trường hợp, nó không đơn giản như bạn mong muốn, nhưng việc lắp đặt một camera hành trình trong ô tô của bạn đáng giá từng phút bạn dành cho nó.

6 Vị trí Tốt nhất để Tìm kiếm Mô hình In 3D

6 Vị trí Tốt nhất để Tìm kiếm Mô hình In 3D

Khi các bằng sáng chế về in 3D hết hạn, ngành công nghiệp này bùng nổ trong gia đình.

Cách khôi phục dữ liệu từ ổ cứng ngoài

Cách khôi phục dữ liệu từ ổ cứng ngoài

Ổ cứng gắn ngoài ngày càng trở nên phổ biến do tốc độ, giá thành và sự tiện lợi của chúng. Tuy nhiên, cũng giống như các ổ cứng thông thường, chúng phải chịu những rủi ro mất dữ liệu giống nhau, có thể là do cơ học hoặc phần mềm gây ra.

10 Ăng-ten Wi-Fi Dải dài Tự làm Bạn có thể Làm tại Nhà

10 Ăng-ten Wi-Fi Dải dài Tự làm Bạn có thể Làm tại Nhà

Mặc dù ăng-ten Wi-Fi hiện đại cho phép bạn sử dụng tốc độ nhanh nhất trong gói của ISP, nhưng chúng có thể khá đắt. May mắn thay, bạn luôn có thể chuyển sang các dự án DIY để cải thiện tín hiệu kết nối của mình mà không tốn quá nhiều tiền.

Hướng dẫn cho người mới bắt đầu về MicroPython với Raspberry Pi Pico

Hướng dẫn cho người mới bắt đầu về MicroPython với Raspberry Pi Pico

Raspberry Pi Pico là thành viên mới nhất của Gia đình Raspberry Pi. Trước đó, dòng sản phẩm Raspberry Pi là máy tính một bo mạch có khả năng chạy một hệ điều hành.

Cách xây dựng tháp xúc xắc tự làm cho trò chơi trên máy tính bảng

Cách xây dựng tháp xúc xắc tự làm cho trò chơi trên máy tính bảng

Xúc xắc được cho là đã có từ hàng nghìn năm trước. Tuy nhiên, trong thời gian này, rất ít việc được thực hiện để cải tiến hoặc đổi mới công nghệ này. Mặc dù vật liệu đã thay đổi và các phương pháp làm xúc xắc cũng tiến dần lên, nhưng bạn vẫn mắc kẹt khi tung xúc xắc bằng tay như một loại người thượng cổ nào đó.

10 dự án nhà thông minh ESP32 tốt nhất

10 dự án nhà thông minh ESP32 tốt nhất

Ngôi nhà thông minh là ngôi nhà trong đó các thiết bị và đồ dùng có thể được điều khiển từ xa từ bất kỳ điện thoại hoặc máy tính nào có kết nối internet. Nó thường dựa trên các thiết bị được kết nối không dây được tạo bằng vi điều khiển, chẳng hạn như Arduino hoặc bo mạch ESP32.

Đây là cách để ép xung RAM PC: Nhưng bạn có nên không?

Đây là cách để ép xung RAM PC: Nhưng bạn có nên không?

Nhận RAM cho PC của bạn là một điều cần thiết. Mặc dù, nếu bạn không chạy nó ở công suất tối đa, bạn sẽ mất đi rất nhiều. Mỗi chương trình đều lưu trữ dữ liệu trong RAM trong một thời gian để có khả năng truy cập nhanh hơn. Với RAM được ép xung, bạn có thể tăng hiệu suất của PC.