Mục lục:
- Bước 1: Tài nguyên được sử dụng
- Bước 2: Lắp ráp
- Bước 3: Chương trình mới trong MBED
- Bước 4: Nhập Thư viện DS18b20
- Bước 5: Chương trình mới trong MBED
- Bước 6: Mã nguồn
- Bước 7: Dữ liệu đã nhận
- Bước 8: Bao gồm nhiều cảm biến hơn
- Bước 9: Xem nguồn
- Bước 10: Tập tin
Video: Cực kỳ dễ lập trình!: 10 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
Hôm nay, tôi sẽ nói về STM32 Core, L476RG, là bộ mặt của Điện năng cực thấp. Bạn có thể thấy nó ở bên trái của hình ảnh. Thiết bị này có hai thanh pin cái, mỗi bên một thanh, chẳng qua là đầu nối cho tấm chắn arduino. Điều này thật tuyệt phải không?
Theo tôi, STMicroelectronics đã làm điều này trong Bộ công cụ phát triển của mình vì họ biết các chuyên gia sử dụng chip này. Công ty này đang ngày càng hướng tới arduino. Và điều này cũng đúng với một số bộ công cụ STMicroelectronics chuyên nghiệp khác.
Cuối cùng, liên quan đến dự án ngày hôm nay, chúng tôi sẽ sử dụng hai cảm biến DS18b20 ngoài L476RG. Vì vậy, chúng tôi sẽ tạo một lắp ráp đơn giản bằng L476RG, nhập thư viện vào môi trường MBED, tạo chương trình trong môi trường MBED và lấy dữ liệu từ L476RG qua USB / Serial.
Tôi đã nói một chút về L476RG trong video này: CÁCH DỄ DÀNG HƠN ĐỂ LẬP TRÌNH MICROCONTROLLER, nơi tôi hướng dẫn cách cấu hình môi trường MBED trực tuyến.
Một số người theo dõi video của tôi đang hỏi tôi liệu STM32 có thay thế được ESP32 hay không. Tôi nói một điều: nó không thể thay thế và nó không thể, bởi vì chúng là hai thứ hoàn toàn khác nhau.
Chip STM32 này là một bộ vi điều khiển, hay nói đúng hơn là; nó không phải là một "cụm sự vật" như ESP32. Vì vậy, tên có thể giống nhau, nhưng chúng hoàn toàn khác nhau. STM32 là một bộ vi điều khiển đa năng, chẳng hạn như PIC, Atmel chẳng hạn.
Bước 1: Tài nguyên được sử dụng
1 lõi L476RG
2 cảm biến DS18b20 (chúng tôi sử dụng các mô-đun chống thấm nước phổ biến trên thị trường)
1 điện trở 4k7
Protoboard mini
Jumper để kết nối
Bước 2: Lắp ráp
Ban đầu chúng tôi sẽ tiến hành lắp ráp bằng cách sử dụng một trong các cảm biến nhiệt độ.
Nguồn của nó sẽ là 5V.
Một điện trở 4k7 sẽ được sử dụng để thực hiện kéo lên trên đường dữ liệu (1-Wire).
Chúng tôi sẽ đọc dữ liệu bằng chân A0.
Bước 3: Chương trình mới trong MBED
Khi bạn đã thiết lập tài khoản của mình trong MBED và truy cập vào tài khoản đó, chúng tôi sẽ tạo một chương trình mới. Để thực hiện việc này, hãy nhấp chuột phải vào "Chương trình của tôi" và chọn "Chương trình mới…"
Xác nhận rằng "Nền tảng" phù hợp với bảng bạn đang sử dụng.
Bây giờ chúng ta nhấp vào "Mẫu".
Chúng tôi sẽ tạo một chương trình dựa trên ví dụ, "Hiển thị thông báo trên PC bằng UART".
Nhập tên của chương trình trong "Tên chương trình".
Chọn tùy chọn "Cập nhật chương trình này và thư viện lên bản sửa đổi mới nhất".
Một thư mục mới cho chương trình của bạn sẽ được tạo, bao gồm thư viện MBED mặc định và tệp main.cpp.
Bạn có thể sử dụng nó để kiểm tra xem mọi thứ có hoạt động tốt hay không. Để làm điều này, chỉ cần biên dịch nó và sao chép nó vào nền tảng.
Sử dụng thiết bị đầu cuối nối tiếp mà bạn chọn, bạn có thể nhận được các thông báo sau.
Bước 4: Nhập Thư viện DS18b20
Vì có một số phiên bản thư viện cho Ds18b20, chúng tôi sẽ nhập bằng cách sử dụng url để ví dụ của bạn sử dụng cùng một thư viện.
Bước 5: Chương trình mới trong MBED
Trong trường "URL nguồn", hãy điền vào: https://os.mbed.com/users/Sissors/code/DS1820/ và nhấp vào nhập.
Thư viện DS1820 của bạn sẽ xuất hiện trong thư mục chương trình của bạn.
Bước 6: Mã nguồn
Bao gồm
Chúng tôi bắt đầu bằng cách bao gồm các thư viện cần thiết.
#include "mbed.h" // inclusão da biblioteca padrão do MBED # include "DS1820.h" // inclusão da biblioteca do sensor DS1820
Chúng tôi xác định các hằng số sẽ đại diện cho các chân được sử dụng.
Lưu ý rằng DS18b20 là cảm biến có giao tiếp 1-WIRE. Vì lý do này, chúng tôi sử dụng thư viện sẽ xử lý toàn bộ giao thức giao tiếp với các thiết bị. Điều này bao gồm xác định từng thiết bị cho đến các lệnh đã đọc.
#define PINO_DE_DADOS A0 // xác định o pino para leitura dos dados # xác định MAX_SENSORES 16 // xác định o número máximo para o vetor de sensores
Chúng tôi tạo một vectơ sẽ trỏ đến từng thiết bị trong số 16 thiết bị có thể được kết nối với đường dữ liệu.
DS1820 * cảm biến [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores
Chúng tôi bắt đầu phương thức main (), trong đó, sử dụng phương thức "unassignedProbe ()" có trong thư viện DS1820, chúng tôi tìm kiếm tất cả các thiết bị có sẵn trong đường truyền thông.
Chúng tôi điền vào vectơ cảm biến với các thể hiện sẽ đại diện cho từng cảm biến có sẵn.
Chúng tôi làm điều này cho đến khi tìm thấy cái cuối cùng hoặc cho đến khi chúng tôi đạt được tối đa 16 cảm biến.
int main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia a procura por sensores sensor [encontrados] = new DS1820 (PINO_DE_DADOS); // cria uma instancia para o sensor encontrado encontrados ++; if (encontrados == MAX_SENSORES) // Verifica se atingiu o máximo de sensores break; }
Chúng tôi gửi số lượng cảm biến được tìm thấy trên đường dây.
printf ("Dispositivos encontrado (s):% d / r / n / n", encontrados);
Chúng tôi bắt đầu một vòng lặp vô hạn, yêu cầu tất cả các cảm biến có sẵn tính toán nhiệt độ tương ứng của chúng, sau đó lặp lại qua vector cảm biến bằng cách gửi các kết quả đọc được.
printf ("Dispositivos encontrado (s):% d / r / n / n", encontrados); while (1) {sensor [0] -> convertTempe Heat (true, DS1820:: all_devices); // solicita a leitura de temperatura para todos os dispositivos encontrados for (int i = 0; itempentic ()); //… e sửa lại một temperatura printf ("\ r / n"); đợi (1); }
Bước 7: Dữ liệu đã nhận
Sử dụng một cảm biến duy nhất, chúng tôi thu được đầu ra nối tiếp sau đây.
Bước 8: Bao gồm nhiều cảm biến hơn
Để kiểm tra mã, chúng tôi giới thiệu một cảm biến khác trong đường truyền thông, đơn giản bằng cách kết nối nó song song với cảm biến đầu tiên.
Hãy nhớ tắt cụm trước khi kết nối các cảm biến mới.
Khi khởi động lại lắp ráp, chúng tôi nhận được kết quả sau mà không có bất kỳ thay đổi nào trong mã nguồn.
Bước 9: Xem nguồn
#include "mbed.h" // inclusão da biblioteca padrão do MBED # include "DS1820.h" // inclusão da biblioteca do sensor DS1820 #define PINO_DE_DADOS A0 // xác định o pino para leitura dos dados #define MAX_SENSORES 16 // xác định o número máximo para o vetor de sensores DS1820 * cảm biến [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores int main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia a procura por sensores sensor [encontrados] = new DS1820 (PINO_DE_DADOS); // cria uma instancia para o sensor encontrado encontrados ++; if (encontrados == MAX_SENSORES) // Verifica se atingiu o máximo de sensores break; } printf ("Dispositivos encontrado (s):% d / r / n / n", encontrados); while (1) {sensor [0] -> convertTempe Heat (true, DS1820:: all_devices); // solicita a leitura de temperatura para todos os dispositivos encontrados for (int i = 0; itempentic ()); //… e sửa lại một temperatura printf ("\ r / n"); đợi (1); }}
Bước 10: Tập tin
Khác
Đề xuất:
Cách Flash hoặc Lập trình Phần mềm cơ sở ESP8266 AT bằng cách Sử dụng Bộ lưu trữ và Lập trình ESP8266, Mô-đun IOT Wifi: 6 bước
Làm thế nào để Flash hoặc lập trình Phần mềm cơ sở ESP8266 AT bằng cách sử dụng Bộ lưu trữ và lập trình ESP8266, Mô-đun Wifi IOT: Mô tả: Mô-đun này là một bộ điều hợp / lập trình USB cho các mô-đun ESP8266 thuộc loại ESP-01 hoặc ESP-01S. Nó được trang bị thuận tiện với đầu cắm cái 2x4P 2,54mm để cắm ESP01. Ngoài ra, nó phá vỡ tất cả các chân của ESP-01 thông qua một nam 2x4P 2,54mm h
(gần như) Lập trình viên MIDI SysEx CC đa năng (và Trình tự lập trình tự ): 7 bước (có Hình ảnh)
(gần như) Lập trình viên MIDI SysEx CC đa năng (và Trình lập trình …): Vào giữa những năm tám mươi, các bộ sản xuất tổng hợp bắt đầu " ít hơn là tốt hơn " quá trình dẫn đến synths barebone. Điều này cho phép giảm chi phí về mặt sản xuất, nhưng làm cho quá trình vá lỗi trở nên thành công nếu không muốn nói là không thể sử dụng cuối cùng
Lập trình vi điều khiển với bộ lập trình USBasp trong Atmel Studio: 7 bước
Lập trình vi điều khiển với một lập trình viên USBasp trong Atmel Studio: Hi Tôi đã đọc và học qua nhiều hướng dẫn dạy cách sử dụng lập trình USBasp với Arduino IDE, nhưng tôi cần sử dụng Atmel Studio để làm bài tập ở trường Đại học và không thể tìm thấy bất kỳ hướng dẫn nào. Sau khi nghiên cứu và đọc qua nhiều r
Cách lập trình MCU PIC với bộ lập trình PICkit bằng bảng mạch: 3 bước
Cách lập trình PIC MCU Với Bộ lập trình PICkit Sử dụng Bảng mạch: Bạn không cần các công cụ đắt tiền và phức tạp để chơi với các bộ vi điều khiển PIC (hoặc bất kỳ loại nào khác). Tất cả những gì bạn cần là một bảng mạch để bạn kiểm tra mạch và lập trình của mình. Tất nhiên một số loại lập trình viên và IDE là cần thiết. Trong hướng dẫn này
Hướng dẫn lập trình thú vị cho nhà thiết kế - Kiểm soát quy trình chương trình- Tuyên bố vòng lặp: 8 bước
Hướng dẫn lập trình thú vị cho nhà thiết kế - Điều khiển quy trình chương trình- Tuyên bố vòng lặp: Điều khiển quy trình chương trình- Tuyên bố vòng lặp Từ chương này, bạn sẽ tiếp xúc với một điểm kiến thức quan trọng và mạnh mẽ - Câu lệnh vòng lặp. Trước khi đọc chương này, nếu bạn muốn vẽ 10.000 vòng tròn trong chương trình, bạn chỉ có thể thực hiện với một