Iklan
Ini adalah bagian selanjutnya dari seri pembelajaran Arduino kita, dan kali ini kita? Saya akan belajar dan menggunakan Array untuk membuat hiasan pohon Natal kecil dengan berbagai urutan berkedip. Ini akan menjadi proyek yang ideal untuk membuat anak-anak sibuk jika Anda ingin mengajari mereka penyolderan dasar - cukup pasang LED pada selembar kartu, dan Anda bisa mendapatkan daya dari baterai 9v standar.
Ini juga merupakan pelajaran utama dalam pemrograman Arduino pemula, meskipun jika Anda tidak berencana untuk benar-benar menggunakan ini sebagai ornamen, saya tetap menyarankan untuk tidak menggunakannya.
Catatan: Ini adalah tutorial tingkat yang sangat pemula dan kami pasti menang? t akan melanggar tanah baru - itu? s? hanya sebuah alat untuk mengajarkan konsep penggunaan Array dan Untuk loop untuk berurusan dengan sejumlah besar LED (atau perangkat output lainnya).
Jika Anda berlindung? t sudah, sekarang akan menjadi saat yang tepat untuk mengikuti artikel-artikel lain dalam seri:
- Apa itu Arduino & Apa Yang Dapat Anda Lakukan dengannya Apa Arduino & Apa Yang Dapat Anda Lakukan dengannya?Arduino adalah perangkat elektronik kecil yang luar biasa, tetapi jika Anda belum pernah menggunakannya sebelumnya, apa sebenarnya itu, dan apa yang dapat Anda lakukan dengan itu? Baca lebih banyak ?
- Apa itu Kit Starter Arduino & Apa Isinya? Apa Yang Termasuk Dalam Kit Starter Arduino? [MakeUseOf Menjelaskan]Saya sebelumnya telah memperkenalkan perangkat keras open-source Arduino di sini di MakeUseOf, tetapi Anda akan membutuhkan lebih dari sekadar Arduino yang sebenarnya untuk membangun sesuatu darinya dan benar-benar memulai. Arduino "starter kit" adalah ... Baca lebih banyak
- Lebih Banyak Komponen Keren Untuk Dibeli dengan Starter Kit Anda 8 Komponen Lebih Keren Untuk Proyek Arduino AndaJadi, Anda berpikir untuk mendapatkan starter kit Arduino, tetapi bertanya-tanya apakah beberapa LED dasar dan resistor akan cukup untuk membuat Anda sibuk untuk akhir pekan? Mungkin tidak. Berikut ini 8 lainnya ... Baca lebih banyak
- Memulai dengan Starter Kit Arduino Anda? Menginstal Driver & Memasang Board & Port Memulai dengan Starter Kit Arduino Anda - Menginstal Driver & Menyiapkan Board & PortJadi, Anda telah membeli sendiri kit starter Arduino, dan mungkin beberapa komponen keren acak lainnya - sekarang apa? Bagaimana Anda memulai pemrograman dengan hal Arduino ini? Bagaimana Anda mengaturnya ... Baca lebih banyak
- Fritzing, alat gratis untuk menggambar diagram sirkuit Fritzing - Alat Utama Untuk Membuat Sketsa Proyek Elektronik [Cross Platform]Meskipun terdengar seperti alcopop, Fritzing sebenarnya adalah perangkat lunak gratis luar biasa yang dapat Anda gunakan untuk membuatnya diagram sirkuit dan komponen untuk digunakan dengan papan elektronik prototipe cepat seperti open-source yang fantastis Arduino ... Baca lebih banyak
- Melihat Lebih Dekat Struktur Aplikasi Arduino & Program Contoh Blink Langkah Pertama Dengan Arduino: Melihat Lebih Dekat Papan Sirkuit & Struktur ProgramTerakhir kali saya meninggalkan Anda telah mengatur Arduino Anda untuk bekerja dengan Mac atau Windows, dan setelah mengunggah aplikasi tes sederhana yang berkedip LED on-board. Hari ini saya akan menjelaskan kode ... Baca lebih banyak
Untuk proyek ini, Anda? setidaknya saya akan membutuhkan 8 atau 9 LED baik merah atau hijau, a penghambat untuk masing-masing dari mereka, a papan tempat memotong roti dan beberapa kabel hookup. Starter kit dari Ooomlout, yang baru-baru ini saya beli sendiri dan digambarkan dalam tutorial ini, menawarkan nilai uang yang besar dan memiliki lebih banyak LED dan resistor daripada Anda? Aku akan membutuhkan, juga datang dengan papan tempat memotong roti yang rapi dan kasing Arduino untuk menjaga semuanya tetap rapi.
Sini? adalah hal terakhir:
Dan video itu sedang beraksi.
Sini? Ada pandangan kabel dari Fritzing. Itu? Ini sangat mendasar - hubungkan saja ujung positif LED ke pin 2-> terserah (hingga pin 13), dan hubungkan kaki negatif ke tanah sejajar dengan resistor. Nilai saya? yang digunakan di sini adalah 560 Ohm. Bahwa? Untuk kabel.
Di sisi perangkat lunak, pikirkan tentang bagaimana Anda dapat menulis ke semua LED ini dalam kode. Anda bisa melakukannya seperti ini:
int led1 = 2; // LED pertama pada pin 2. int led2 = 3; // kedua pada pin 3. // etc etc void loop () {digitalWrite (led1, HIGH); keterlambatan (100); digitalWrite (led1, LOW); keterlambatan (100); digitalWrite (led2, HIGH); // dll }
Anda harus dapat melihat bahwa dengan 9 LED, ini akan cepat melelahkan. Jawabannya ada pada Array, yang jika Anda bisa? t ingat kami Pemrograman 101 tentang tipe data dasar Dasar-Dasar Pemrograman Komputer 101 - Variabel Dan Tipe DataSetelah memperkenalkan dan berbicara sedikit tentang Pemrograman Berorientasi Objek sebelum dan di mana namanya berasal dari, saya pikir sudah saatnya kita pergi melalui dasar-dasar pemrograman mutlak dalam non-bahasa spesifik cara. Ini... Baca lebih banyak - Pada dasarnya hanya daftar.
Sintaksnya terlihat seperti ini (letakkan ini sebagai baris pertama dalam kode Anda):
int leds [] = {2,3,4,5,6,7,8,9,10};
Kurung kotak menunjukkan bahwa? Leds? variabel akan menjadi Himpunan. Kurung kurawal melampirkan daftar nomor pin yang akan disimpan oleh array kami.
Sekarang, untuk menggunakan Array, kita perlu mengatasinya dengan nomor indeks. Itu indeks dimulai pada 0, dan karena itu akan selalu naik ke 1 kurang dari jumlah total hal di dalamnya (jadi dengan 9 item, yang terakhir akan memiliki indeks 8).
Anda menulis seperti ini:
leds [0]
Yang mana dalam kasus kami, akan mengambil nomor 2, karena itu? apa? s pada indeks 0 dalam array kami.
Mengikuti sejauh ini? Bagus. Itu saja bukan? t cukup untuk kita - kita juga perlu beberapa cara untuk mengulangi setiap elemen dari array LED kami Untuk itu, kita akan menggunakan untuk loop. Sintaks untuk melakukannya adalah seperti ini:
untuk (variabel awal; kondisi di mana kami mengulangi lagi; ubah ke variabel setiap iterasi)
Sebagai contoh:
untuk (int i = 0; i <9; i ++)
Yang mengatakan
- mulai loop ini dengan variabel, saya, yang memiliki nilai nol
- lanjutkan pengulangan hanya saat iya kurang dari 9? (jadi: 0,1,2,3,4,5,6,7,8)
- tiap kali, tambahkan 1 ke i (i ++ adalah cara singkat untuk mengatakan i = i +1)
Jadi pada dasarnya, loop akan diulang sebanyak yang kita miliki LED, dan setiap kali itu? Diulangi kita akan memiliki variabel, saya, yang bisa kita gunakan sesuka kita.
Kita? Saya akan menggunakan struktur ini dua kali untuk memulai. Setelah masuk fungsi pengaturan untuk membuat semua pin kita beralih ke mode keluaran, seperti ini:
void setup () {for (int i = 0; i <9; i ++) {pinMode (leds [i], OUTPUT); } }
Bisakah Anda melihat apa yang kami lakukan di sana? Alih-alih menulis 9 baris kode untuk mendeklarasikan masing-masing pin sebagai output, kami membuat loop to for ’untuk berulang 9 kali, setiap kali mengatur pin lainnya.
Sekarang, Anda harus dapat melihat bagaimana kita bisa melakukan hal yang sama persis di loop program utama untuk menyalakan setiap LED secara berurutan:
void loop () {for (int i = 0; i <9; i ++) {digitalWrite (leds [i], HIGH); keterlambatan (100); digitalWrite (leds [i], LOW); } }
Coba itu. Kamu bisa unduh kode lengkap untuk proyek hari ini dari sini jika kamu? d lebih baik tidak mengetiknya lagi (meskipun saya mendorong Anda untuk, karena ini membantu proses pembelajaran).
Oke, jadi sekarang kita memiliki urutan pencahayaan yang cukup membosankan. Membiarkan? Memprogram satu lagi. Hanya untuk bersenang-senang, biarkan? Ini membuatnya sepenuhnya acak. Ganti kode loop utama dengan ini:
void loop () { int randomLed = acak (0,8); digitalWrite (leds [randomLed], HIGH); keterlambatan (50); randomLed = acak (0,8); digitalWrite (leds [randomLed], LOW); }
Alih-alih menggunakan loop ‘for’ untuk beralih di atas setiap LED, kami memilih nomor acak dari 0-9, dan mem-flash-nya.
Saya akan meninggalkannya di sana untuk hari ini karena Anda sekarang harus dipersenjatai dengan pengetahuan yang cukup untuk memprogram semua urutan baru dan bereksperimen dengan loop. Untuk membuktikan betapa mudahnya semua ini, saya menantang istri saya untuk memikirkan urutannya? ingin melihat, lalu mendapatkannya?dia memprogramnya sendiri, hanya diberi kode dan pelajaran kamu? sudah sejauh ini. Dia datang dengan ini, jadi lihat apakah Anda dapat mencocokkannya dengan pekerjaan rumah!
Pertanyaan, saran, masalah - silakan menghubungi komentar.
James memiliki gelar BSc dalam Artificial Intelligence, dan bersertifikat CompTIA A + dan Network +. Dia adalah pengembang utama MakeUseOf, dan menghabiskan waktu luangnya bermain VR paintball dan boardgames. Dia telah membangun PC sejak dia masih kecil.