Daftar Isi:

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, Juli
Anonim
Image
Image
Sangat Mudah untuk Program!
Sangat Mudah untuk Program!

Hari ini, saya akan berbicara tentang STM32 Core, L476RG, yang merupakan wajah Ultra Low Power. Anda dapat melihatnya di sebelah kiri gambar. Perangkat ini memiliki dua pin bar perempuan, satu di setiap sisi, yang tidak lebih dari konektor untuk pelindung arduino. Ini bagus, bukan?

Menurut pendapat saya, STMicroelectronics melakukan ini dalam Kit Pengembangannya karena mereka mengetahui bahwa para profesional menggunakan chip ini. Perusahaan ini semakin menuju arduino. Dan ini juga berlaku untuk beberapa kit STMicroelectronics profesional lainnya.

Terakhir, mengenai proyek hari ini, kami akan menggunakan dua sensor DS18b20 selain L476RG. Jadi kita akan membuat perakitan sederhana menggunakan L476RG, mengimpor perpustakaan ke lingkungan MBED, membuat program di lingkungan MBED, dan mendapatkan data dari L476RG melalui USB / Serial.

Saya telah berbicara sedikit tentang L476RG dalam video ini: CARA MUDAH MEMPROGRAM MIKROKONTROLER, di mana saya menunjukkan cara mengkonfigurasi lingkungan MBED, yang online.

Beberapa orang yang mengikuti video saya menanyakan apakah STM32 menggantikan ESP32. Saya mengatakan satu hal: itu tidak menggantikan dan tidak bisa, karena mereka adalah dua hal yang sama sekali berbeda.

Chip STM32 ini adalah mikrokontroler, atau lebih tepatnya; itu bukan "kelompok hal" seperti ESP32. Jadi namanya mungkin terlihat mirip, tetapi mereka sama sekali berbeda. STM32 adalah mikrokontroler tujuan umum, seperti PIC, Atmel, misalnya.

Langkah 1: Sumber Daya yang Digunakan

Sumber Daya yang Digunakan
Sumber Daya yang Digunakan

1 Inti L476RG

2 sensor DS18b20 (kami menggunakan modul tahan air umum di pasar)

1 resistor 4k7

papan prototipe mini

Jumper untuk koneksi

Langkah 2: Perakitan

perakitan
perakitan

Kami awalnya akan melakukan perakitan menggunakan salah satu sensor suhu.

Kekuatannya akan menjadi 5V.

Sebuah resistor 4k7 akan digunakan untuk melakukan pull-up pada jalur data (1-Wire).

Kami akan membaca data menggunakan pin A0.

Langkah 3: Program Baru di MBED

Program Baru di MBED
Program Baru di MBED
Program Baru di MBED
Program Baru di MBED
Program Baru di MBED
Program Baru di MBED

Setelah akun Anda diatur di MBED dan mengaksesnya, kami akan membuat program baru. Untuk melakukan ini, klik kanan pada "Program Saya" dan pilih "Program Baru …"

Konfirmasikan bahwa "Platform" sesuai dengan papan yang Anda gunakan.

Kami sekarang mengklik "Templat".

Kami akan membuat program berdasarkan contoh, "Tampilkan pesan di PC menggunakan UART".

Masukkan nama program di "Nama Program".

Centang opsi "Perbarui program dan pustaka ini ke revisi terbaru".

Folder baru untuk program Anda akan dibuat, termasuk perpustakaan MBED default dan file main.cpp.

Anda dapat menggunakannya untuk menguji apakah semuanya bekerja dengan baik. Untuk melakukan ini, cukup kompilasi dan salin ke platform.

Menggunakan terminal serial pilihan Anda, Anda dapat menerima pesan berikut.

Langkah 4: Mengimpor Perpustakaan DS18b20

Mengimpor Perpustakaan DS18b20
Mengimpor Perpustakaan DS18b20

Karena ada beberapa versi pustaka untuk Ds18b20, kami akan mengimpor menggunakan url sehingga contoh Anda menggunakan pustaka yang sama.

Langkah 5: Program Baru di MBED

Program Baru di MBED
Program Baru di MBED
Program Baru di MBED
Program Baru di MBED

Pada kolom "Source URL" isikan: https://os.mbed.com/users/Sissors/code/DS1820/ dan klik impor.

Pustaka DS1820 Anda akan muncul di folder program Anda.

Langkah 6: Kode Sumber

Termasuk

Kami mulai dengan menyertakan perpustakaan yang diperlukan.

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

Kami mendefinisikan konstanta yang akan mewakili pin yang digunakan.

Perhatikan bahwa DS18b20 adalah sensor dengan komunikasi 1-WIRE. Untuk alasan ini, kami menggunakan perpustakaan yang akan menangani seluruh protokol komunikasi dengan perangkat. Ini termasuk mengidentifikasi setiap perangkat hingga perintah baca.

#define PINO_DE_DADOS A0 //define o pino para leitura dos dados#define MAX_SENSORES 16 //define o número máximo para o vetor de sensores

Kami membuat vektor yang akan menunjuk ke masing-masing dari 16 perangkat yang mungkin terhubung ke jalur data.

DS1820* sensor[MAX_SENSORES]; //cria um vetor com 16 posies para os sensores

Kami memulai metode utama (), di mana, dengan menggunakan metode "unassignedProbe ()" yang terdapat dalam pustaka DS1820, kami mencari semua perangkat yang tersedia di jalur komunikasi.

Kami mengisi vektor sensor dengan contoh yang akan mewakili masing-masing sensor yang tersedia.

Kami melakukan ini sampai yang terakhir ditemukan atau sampai kami mencapai maksimum 16 sensor.

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 untuk sensor encontrado encontrados++; if (berlawanan dengan == MAX_SENSORES) //memverifikasi apakah sensor rusak secara maksimal; }

Kami mengirimkan jumlah sensor yang ditemukan di telepon.

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

Kami memulai loop tak terbatas, meminta semua sensor yang tersedia menghitung suhu masing-masing, dan kemudian beralih melalui vektor sensor dengan mengirimkan bacaan yang diperoleh.

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

Langkah 7: Data Diterima

Data telah diterima
Data telah diterima

Menggunakan sensor tunggal, kami memperoleh output serial 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 kode, kami memperkenalkan sensor lain di jalur komunikasi, cukup dengan menghubungkannya secara paralel dengan sensor pertama.

Ingatlah untuk mematikan unit sebelum menghubungkan sensor baru.

Saat memulai ulang perakitan, kami memperoleh output berikut, tanpa perubahan apa pun pada kode sumber.

Langkah 9: Lihat Sumber

#sertakan "mbed.h" //sertakan biblioteca padrão do MBED#include "DS1820.h" //sertakan biblioteca do sensor DS1820 #define PINO_DE_DADOS A0 //define o pino para leitura dos dados #define MAX_SENSORES 16 //define o número máximo para o vetor de sensores DS1820* sensor[MAX_SENSORES]; //cri um vetor com 16 posies 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 untuk sensor encontrado encontrados++; if (berlawanan dengan == MAX_SENSORES) //memverifikasi apakah sensor rusak secara maksimal; } printf("Dispositivos encontrado(s): %d \r\n\n", encontrados); while(1) { sensor[0]->convertTemperature(true, DS1820::all_devices); //solicita a leitura de temperaturea para todos os dispositivos encontrados for (int i = 0; itemperature()); //… e retorna a suhu printf("\r\n"); tunggu(1); } }

Langkah 10: File

PDF

Yang lain

Direkomendasikan: