Isi kandungan:

Sangat Mudah Diprogram !: 10 Langkah
Sangat Mudah Diprogram !: 10 Langkah

Video: Sangat Mudah Diprogram !: 10 Langkah

Video: Sangat Mudah Diprogram !: 10 Langkah
Video: CARA MUDAH PERKALIANDASAR 1-10 LANGSUNG BISA // HOW TO EASY MULTIPLE BASIC 1-10 DIRECTLY CAN 2024, November
Anonim
Image
Image
Sangat mudah untuk diprogramkan!
Sangat mudah untuk diprogramkan!

Hari ini, saya akan bercakap mengenai STM32 Core, L476RG, yang merupakan wajah Ultra Low Power. Anda dapat melihatnya di sebelah kiri gambar. Peranti ini mempunyai dua batang pin wanita, satu di setiap sisi, yang tidak lebih daripada penyambung untuk pelindung arduino. Ini hebat, bukan?

Pada pendapat saya, STMicroelectronics melakukan ini dalam Kit Pembangunannya kerana tahu profesional menggunakan cip ini. Syarikat ini semakin maju ke arah arduino. Dan ini juga berlaku untuk beberapa kit STMicroelectronics profesional yang lain.

Akhirnya, mengenai projek hari ini, kami akan menggunakan dua sensor DS18b20 sebagai tambahan kepada L476RG. Oleh itu, kami akan membuat perhimpunan mudah menggunakan L476RG, mengimport perpustakaan ke persekitaran MBED, membuat program di persekitaran MBED, dan mendapatkan data dari L476RG melalui USB / Serial.

Saya telah membincangkan sedikit mengenai L476RG dalam video ini: CARA MUDAH MENGHASILKAN MIKROKONTROLER, di mana saya menunjukkan cara mengkonfigurasi persekitaran MBED, yang berada dalam talian.

Beberapa orang yang mengikuti video saya bertanya kepada saya jika STM32 menggantikan ESP32. Saya mengatakan satu perkara: ia tidak menggantikan dan tidak boleh, kerana mereka adalah dua perkara yang sama sekali berbeza.

Cip STM32 ini adalah mikrokontroler, atau lebih tepatnya; ia bukan "kelompok perkara" seperti ESP32. Jadi namanya mungkin serupa, tetapi sama sekali berbeza. STM32 adalah mikrokontroler tujuan umum, seperti PIC, Atmel, misalnya.

Langkah 1: Sumber yang Digunakan

Sumber Yang Digunakan
Sumber Yang Digunakan

1 Teras L476RG

2 sensor DS18b20 (kami menggunakan modul kalis air biasa di pasaran)

1 perintang 4k7

Protoboard mini

Pelompat untuk sambungan

Langkah 2: Perhimpunan

perhimpunan
perhimpunan

Kami pada mulanya akan menjalankan pemasangan menggunakan salah satu sensor suhu.

Kekuatannya akan 5V.

Perintang 4k7 akan digunakan untuk melakukan penarikan pada garis data (1-Wire).

Kami akan membaca data menggunakan pin A0.

Langkah 3: Program Baru dalam MBED

Program Baru dalam MBED
Program Baru dalam MBED
Program Baru dalam MBED
Program Baru dalam MBED
Program Baru dalam MBED
Program Baru dalam MBED

Setelah akaun anda disiapkan dalam MBED dan mengaksesnya, kami akan membuat program baru. Untuk melakukan ini, klik kanan pada "Program Saya" dan pilih "Program Baru …"

Sahkan bahawa "Platform" sesuai dengan papan yang anda gunakan.

Kami sekarang klik pada "Templat".

Kami akan membuat program berdasarkan contoh, "Paparkan mesej di PC menggunakan UART".

Masukkan nama program dalam "Nama Program".

Tandakan pilihan "Kemas kini program dan perpustakaan ini ke semakan terkini".

Folder baru untuk program anda akan dibuat, termasuk pustaka MBED lalai dan fail main.cpp.

Anda boleh menggunakannya untuk menguji apakah semuanya berfungsi dengan baik. Untuk melakukan ini, hanya menyusunnya dan menyalinnya ke platform.

Dengan menggunakan terminal bersiri pilihan anda, anda dapat menerima mesej berikut.

Langkah 4: Mengimport Perpustakaan DS18b20

Mengimport Perpustakaan DS18b20
Mengimport Perpustakaan DS18b20

Oleh kerana terdapat beberapa versi perpustakaan untuk Ds18b20, kami akan mengimport menggunakan url sehingga contoh anda menggunakan perpustakaan yang sama.

Langkah 5: Program Baru dalam MBED

Program Baru dalam MBED
Program Baru dalam MBED
Program Baru dalam MBED
Program Baru dalam MBED

Di medan "URL Sumber" isikan: https://os.mbed.com/users/Sissors/code/DS1820/ dan klik import.

Perpustakaan DS1820 anda akan muncul di folder program anda.

Langkah 6: Kod Sumber

Termasuk

Kami memulakan dengan memasukkan perpustakaan yang diperlukan.

#include "mbed.h" // inclusão da biblioteca padrão do MBED # include "DS1820.h" // inclusão da biblioteca do sensor DS1820

Kami menentukan pemalar yang akan mewakili pin yang digunakan.

Perhatikan bahawa DS18b20 adalah sensor dengan komunikasi 1-WIRE. Atas sebab ini, kami menggunakan perpustakaan yang akan menangani keseluruhan protokol komunikasi dengan peranti. Ini termasuk mengenal pasti setiap peranti hingga perintah yang dibaca.

#tentukan PINO_DE_DADOS A0 // tentukan o pino para leitura dos dados # tentukan MAX_SENSORES 16 // tentukan o nero máximo para o vetor de sensores

Kami membuat vektor yang akan menunjukkan setiap 16 kemungkinan peranti yang disambungkan ke garis data.

Sensor DS1820 * [MAX_SENSORES]; // cria um vetor com 16 kedudukan para os sensor

Kami memulakan kaedah utama (), di mana, dengan menggunakan kaedah "unassignedProbe ()" yang terdapat di perpustakaan DS1820, kami mencari semua alat yang tersedia di saluran komunikasi.

Kami mengisi vektor sensor dengan contoh yang akan mewakili setiap sensor yang ada.

Kami melakukan ini sehingga yang terakhir dijumpai atau sehingga kami mencapai maksimum 16 sensor.

int main () {int encontrados = 0; manakala (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia sensor procura por sensores [encontrados] = DS1820 baru (PINO_DE_DADOS); // cria uma instancia para o sensor encontrado encontrados ++; jika (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores pecah; }

Kami menghantar bilangan sensor yang terdapat di talian.

printf ("Dispositivos encontrado (s):% d / r / n / n", encontrados);

Kami memulakan gelung tanpa batas, meminta semua sensor yang ada mengira suhu masing-masing, dan kemudian melakukan lelaran melalui vektor sensor dengan menghantar bacaan yang diperoleh.

printf ("Dispositivos encontrado (s):% d / r / n / n", encontrados); manakala (1) {sensor [0] -> convertTemperature (true, DS1820:: all_devices); // solicita a leitura de temperatura para todos os dispositivos encontrados untuk (int i = 0; itemperature ()); //.. e retorna a temperatura printf ("\ r / n"); tunggu (1); }

Langkah 7: Data Diterima

Data diterima
Data diterima

Dengan menggunakan satu sensor, kami memperoleh output bersiri berikut.

Langkah 8: Termasuk Lebih Banyak Sensor

Termasuk Lebih Banyak Sensor
Termasuk Lebih Banyak Sensor
Termasuk Lebih Banyak Sensor
Termasuk Lebih Banyak Sensor

Untuk menguji kodnya, kami memperkenalkan sensor lain di saluran komunikasi, hanya dengan menghubungkannya selari dengan sensor pertama.

Ingatlah untuk mematikan pemasangan sebelum menyambungkan sensor baru.

Semasa memulakan semula pemasangan, kami memperoleh output berikut, tanpa perubahan pada kod sumber.

Langkah 9: Lihat Sumber

#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 // tentukan o pino para leitura dos dados # tentukan MAX_SENSORES 16 // tentukan o número máximo para o vetor de sensores DS1820 * sensor [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores int main () {int encontrados = 0; manakala (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia sensor procura por sensores [encontrados] = DS1820 baru (PINO_DE_DADOS); // cria uma instancia para o sensor encontrado encontrados ++; jika (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores pecah; } printf ("Dispositivos encontrado (s):% d / r / n / n", encontrados); manakala (1) {sensor [0] -> convertTemperature (true, DS1820:: all_devices); // solicita a leitura de temperatura para todos os dispositivos encontrados untuk (int i = 0; itemperature ()); //.. e retorna a temperatura printf ("\ r / n"); tunggu (1); }}

Langkah 10: Fail

PDF

Yang lain

Disyorkan: