Teach Pelajaran dengan makmal jarak jauh

Pelajaran Teach

STM32 dengan API Arduino (1/4): jadikan LED pertama berkelip

Pelajar menggunakan STM32 CodeIDE dan API Arduino untuk menulis setup() dan loop(), membuat keluaran sebenar berkelip serta merekod bukti kompilasi dan muat naik.

  • STM32 Nucleo (Arduino)
  • 50 min
  • Tingkatan 4–5 / pengenalan elektronik vokasional
  • ms-MY
  • Embedded systems
STM32 Nucleo (Arduino)
STM32 Nucleo (Arduino)

Hasil pembelajaran

  • Menulis atur cara Arduino minimum untuk papan STM32.

  • Membezakan kod yang menyediakan papan daripada kod yang berulang.

  • Merekod bukti yang boleh diperhatikan daripada keluaran digital sebenar.

Pratonton aktiviti pelajar

Kandungan aktiviti

Pratonton sahaja. Dalam sesi kelas, pelajar boleh mengisi jawapan dan menyerahkan hasil kerja mereka kepada guru.

1

Sebelum membuka makmal

8 min

Mikropengawal tidak “memahami” ayat; ia melaksanakan arahan. Hari ini kita hanya
memerlukan satu keluaran digital, satu LED dan dua tempoh menunggu.

Dalam lakaran Arduino:

- setup() berjalan sekali dan menyediakan papan.
- loop() berulang semasa papan dikuasakan.
- pinMode(pin, OUTPUT) menetapkan pin sebagai keluaran.
- digitalWrite(pin, HIGH) menetapkan keluaran tinggi; LOW mematikannya.

Kitaran utama akan mempunyai bentuk ini:

digitalWrite(BLUE_LED, HIGH);
delay(1000);
digitalWrite(BLUE_LED, LOW);
delay(1000);

Jika LED hidup selama 1000 ms dan mati selama 1000 ms di dalam loop(), apakah
corak yang sepatutnya berulang?

2

Cipta dan uji kelipan

24 min

Foto ini membantu anda mengenali papan STM32 Nucleo WB55RG. Foto menunjukkan
papan sahaja; dalam makmal jarak jauh, papan itu menjadi sebahagian daripada susunan
prawayar dengan LED dan komponen lain yang telah disambungkan. Anda tidak perlu
menyambungkan sebarang wayar: gunakan LED yang sudah tersedia dalam susunan tersebut.

Foto rujukan papan STM32 Nucleo WB55RG tanpa komponen luaran dalam susunan makmal jarak jauh.

Foto rujukan papan STM32 Nucleo WB55RG. Di makmal jarak jauh, papan
menjadi sebahagian daripada susunan prawayar; dalam sesi pertama ini, anda akan
memprogramkannya sebagai papan berasaskan Arduino dengan kod teks: tulis, kompil,
muat naik dan perhatikan.

  1. Lancarkan makmal dari blok ini. Dalam CodeIDE, pilih tab editor main.ino.

  2. Gantikan kandungannya dengan atur cara pemula di bawah.

  3. Gantikan TODO 1 hingga 4. Setiap komen menerangkan jenis kod yang diperlukan tanpa memberikan tokennya. Cari TODO dalam main.ino; tiada TODO boleh tertinggal sebelum kompilasi.

  4. Simpan main.ino, pilih Compile dan tunggu mesej bahawa kompilasi berjaya. Compile menyemak dan menterjemahkan kod; langkah ini belum mengubah papan sebenar.

  5. Selepas kompilasi berjaya, pilih Upload dan tunggu sehingga muat naik berjaya. Upload memasang versi yang telah dikompil pada papan.

  6. Perhatikan LED biru selama sekurang-kurangnya tiga kitaran hidup dan mati yang lengkap. Rekod tingkah laku awal tanpa perubahan ini dalam baris 1.

  7. Tukar hanya BLINK_MS kepada selang yang kelihatan berbeza daripada 250 ms kepada 2000 ms. Simpan, kompil, muat naik, perhatikan tiga kitaran dan rekod baris 2.

#include <Arduino.h>

const int BLUE_LED = PB5;
const int BLINK_MS = TODO_BLINK_INTERVAL;  // TODO 1: selang satu saat, dalam ms

void setup() {
  pinMode(BLUE_LED, TODO_LED_DIRECTION);  // TODO 2: mod yang membolehkan pin memacu LED
}

void loop() {
  digitalWrite(BLUE_LED, TODO_LED_ON_LEVEL);   // TODO 3: aras untuk menghidupkan LED
  delay(BLINK_MS);
  digitalWrite(BLUE_LED, TODO_LED_OFF_LEVEL);  // TODO 4: aras bertentangan untuk mematikan LED
  delay(BLINK_MS);
}

Isi jadual selepas menguji atur cara pada papan. Gunakan dua baris sahaja dan
biarkan baris lain kosong jika TEACH memaparkan lebih banyak:

- Baris 1: versi awal yang lengkap dengan selang 1000 ms.
- Baris 2: versi ubah suai anda.
- Dalam Corak yang diperhatikan, tulis perkara yang anda lihat pada papan sebenar.
- Dalam Pelarasan atau masalah, tulis tiada jika atur cara berfungsi; jika tidak, nyatakan perkara yang akan anda semak.

Versi diuji Tempoh menunggu (ms) Corak yang diperhatikan Adakah ia sepadan dengan ramalan? Pelarasan atau masalah

Terangkan bukti nyata bahawa atur cara anda berjalan pada papan sebenar. Namakan
keluaran, berikan kedua-dua nilai delay dalam ms dan bandingkan sekurang-kurangnya
tiga kitaran awal dengan tiga kitaran selepas perubahan.

3

Hantar kod anda

8 min

Sebelum menyerahkan, biarkan kod akhir disimpan dalam main.ino. Guru anda sepatutnya
dapat melihat pin yang anda gunakan, pinMode, dua panggilan digitalWrite dan
nilai delay yang anda uji. Cari sekali lagi untuk TODO; fail yang diserahkan
tidak boleh mengandungi satu pun.

Serahkan main.ino akhir anda

Simpan main.ino sebelum melampirkannya. Tangkapan itu mesti menunjukkan atur cara akhir yang anda kompil, muat naik ke papan dan mahu guru semak.

4

Tiket keluar

10 min

Terangkan perbezaan antara setup() dengan loop() menggunakan atur cara kelipan anda sebagai contoh. Jelaskan juga sebab hanya satu perkara patut diubah pada satu masa semasa menyahpepijat.