Menggunakan perpustakaan Arduino. Bagaimana untuk mengetahui senarai perpustakaan yang disambungkan ke Arduino IDE. Memasang perpustakaan pada Mac OSX

Memasang dan menyambungkan perpustakaan ke arduino adalah operasi yang agak biasa; lambat laun mana-mana pembangun pasti akan menemuinya. Kod pemalam luaran dalam semua bahasa pengaturcaraan digunakan untuk menjimatkan masa. Arduino tidak terkecuali: banyak sensor, modul, skrin dan motor memerlukan agak litar kompleks interaksi yang sukar dilaksanakan dalam kod anda. Lebih mudah dan lebih pantas untuk memuat turun pustaka yang diperlukan, menyambungkannya secara manual atau menggunakan dengan cepat Arduino IDE, dan kemudian gunakannya dalam semua lakaran anda. Dalam artikel ini anda akan dapati arahan ringkas untuk menyambung dan menggunakan perpustakaan.

Perpustakaan dalam Arduino ialah kod program dalam fail luaran, yang boleh dipasang dan disambungkan ke lakaran anda. Perpustakaan mengandungi pelbagai kaedah dan struktur data yang diperlukan untuk memudahkan kerja dengan penderia, penunjuk, modul dan komponen lain. Menggunakan perpustakaan sangat memudahkan kerja pada projek kerana anda boleh memberi tumpuan kepada logik utama program tanpa membuang masa pada banyak perkara kecil. Hari ini, sejumlah besar perpustakaan disiarkan di Internet, di mana ia boleh dimuat turun dengan mudah, dan percuma sepenuhnya. boleh didapati di laman web kami.

Dari sudut pandangan sistem fail perpustakaan ialah direktori yang mengandungi folder tertentu. Semasa penyusunan dan pemasangan Projek Arduino IDE secara automatik memasukkan dalam kod anda kelas, struktur data dan kaedah daripada perpustakaan yang disertakan dan digunakan dalam lakaran. Oleh itu, satu-satunya perkara yang perlu kami lakukan ialah meletakkan arahan yang sesuai dalam kod kami, selepas memastikannya perpustakaan yang diperlukan dipasang.

Bagaimana untuk mengetahui senarai perpustakaan yang disambungkan ke Arduino IDE

Setiap pustaka yang dipasang mengandungi satu atau lebih contoh untuk digunakan. Ia digunakan untuk memaparkan keupayaan peranti yang disambungkan ke Arduino. Oleh itu, yang paling dengan cara yang pantas dapatkan senarai semua perpustakaan Arduino yang dipasang - gunakan senarai contoh dalam IDE Arduino. Untuk melakukan ini, pilih Fail daripada menu utama, dan kemudian buka submenu Contoh.

Cara lain ialah menggunakan menu Lakaran dan submenu – Sertakan Perpustakaan. Di sana anda juga boleh melihat senarai perpustakaan:

Menyambungkan fail header h dengan pengendali #include

Untuk mula menggunakan perpustakaan, anda perlu memasukkan fail pengepala h dengan arahan sertakan pada permulaan program. Sebagai contoh, termasuk perpustakaan LiquidCrystal.h akan kelihatan seperti ini: #include

Awak boleh lihat contoh lengkap menggunakan perpustakaan itu sendiri.

Fail yang diperlukan dalam perpustakaan

Setiap pustaka mesti mengandungi sekurang-kurangnya 2 fail - fail pengepala dengan sambungan .h dan fail dengan kod sumber dengan sambungan .cpp. Fail pengepala mengandungi penerangan kelas, pemalar dan pembolehubah. Fail kedua mengandungi kod kaedah. Sebagai tambahan kepada dua fail utama, ia mungkin mengandungi dokumen teks keywords.txt dan folder contoh dengan kod untuk contoh penggunaan perpustakaan. Fail h dan cpp tidak semestinya terletak di root

Mengedit fail tidak boleh dilakukan dalam IDE Arduino; semua perubahan boleh dibuat dalam mana-mana penyunting teks, atau persekitaran pembangunan C++. Ini disebabkan oleh fakta bahawa dalam IDE Arduino kami tidak berfungsi dengan fail cpp, editor kod tidak direka untuk "tulen" C, ia hanya berfungsi dengan bahasa Arduino.

Di mana untuk mencari perpustakaan yang diperlukan

Perpustakaan yang diperlukan boleh dimuat turun melalui Internet. Kebanyakan perpustakaan tersedia di Github. Selepas memuat turun perpustakaan, adalah penting untuk menambahkannya ke folder yang betul supaya pengkompil boleh menemuinya dan memuatkan lakaran. Folder di mana semua kod disimpan dicipta pada komputer selepas Pemasangan Arduino IDE. Untuk sistem operasi folder Linux mempunyai nama "Scetchbook" dan terletak di /home/; pada Windows, folder "Arduino" boleh didapati di bahagian "My Documents".

Semua perpustakaan yang dipasang tambahan terletak dalam folder "Perpustakaan". Untuk versi Arduino yang lebih awal, anda perlu mencipta folder itu sendiri, tetapi bermula dari versi 1.0.2, ia ditambah secara automatik apabila memasang IDE Arduino.

Bagaimana untuk memasang perpustakaan. Arahan langkah demi langkah

Setelah perpustakaan dimuat turun ke PC anda, anda perlu mula memasangnya. Terdapat dua cara untuk memasang perpustakaan - menggunakan Alat Arduino IDE dan secara manual.

Sambungan menggunakan Arduino IDE

Perpustakaan dimuat turun sebagai arkib zip. Untuk membolehkannya menggunakan kaedah ini, arkib tidak perlu dibongkar. Untuk memasangnya, anda perlu pergi ke menu Lakaran – Sambung perpustakaan – Pustaka Add.Zip.

Apabila tetingkap dibuka, anda perlu memilih folder "muat turun" dalam bahagian "PC ini". Jika, selepas memuat turun pustaka, ia telah disimpan ke lokasi lain, anda perlu menentukannya.

Kemudian anda perlu memilih fail yang dimuat turun dan klik "buka".

Perpustakaan akan dipasang dan anda boleh menggunakannya. Untuk mula menggunakan contoh Fail - contoh, anda perlu memulakan semula persekitaran pembangunan Arduino.

Memasang pustaka secara manual daripada fail zip

Sebelum memulakan pemasangan, anda perlu keluar dari Arduino IDE. Fail zip yang dimuat turun dengan pustaka perlu dibongkar. Akibatnya, kami akan mendapat folder di mana fail perpustakaan dengan sambungan .cpp dan .h serta direktori akan ditempatkan. Folder yang dihasilkan perlu diletakkan di perpustakaan.

Dalam Windows OS, folder perpustakaan boleh didapati di bawah laluan My Documents – Arduino – perpustakaan. Di Linux ini akan menjadi folder perpustakaan dengan lakaran.

Pada akhirnya, anda perlu memulakan semula Arduino IDE, perpustakaan yang dimuat turun akan tersedia untuk dimasukkan melalui Sketch - Connect Library.

Ralat semasa menyambungkan perpustakaan Arduino

Di bawah adalah senarai kesilapan yang mungkin apabila memasang perpustakaan dan cara untuk menanganinya:

  • 'xxxx' tidak menamakan jenis - ralat serupa muncul jika pustaka belum dipasang, folder atau pustaka dinamakan salah, dinyatakan salah alamat lokasi folder atau persekitaran belum dimulakan semula pembangunan Arduino IDE.
  • Lokasi folder tidak betul - Jika ralat ini dipaparkan, anda perlu menyemak sama ada pustaka terletak dalam folder yang boleh dicari oleh persekitaran.
  • Nama perpustakaan tidak sah – ralat muncul jika nama selepas #include tidak sepadan dengan nama perpustakaan.
  • Pustaka tidak lengkap – mungkin muncul jika tidak semua telah dimuat turun fail yang diperlukan dan folder.
  • Kebergantungan perpustakaan - memandangkan jenis perpustakaan ini hanya berfungsi dengan perpustakaan tambahan, anda perlu memasukkannya pada mulanya.

Perpustakaan Arduino adalah alat yang mudah untuk mengedarkan kod. Sebagai contoh, ini boleh menjadi pemacu perkakasan atau fungsi yang kerap digunakan.

Panduan ini menerangkan secara terperinci cara memasang perpustakaan pada komputer anda.

Terdapat dua jenis utama perpustakaan Arduino: standard dan tambahan.

Perpustakaan Standard

Arduino IDE mempunyai satu set perpustakaan standard, yang sangat kerap digunakan. Perpustakaan ini menyokong semua contoh yang disertakan dalam Arduino IDE. Perpustakaan standard menyokong fungsi untuk bekerja dengan peralatan persisian yang paling biasa, contohnya: motor servo atau skrin LCD.

Perpustakaan standard dipasang dalam folder "Perpustakaan" semasa memasang IDE Arduino. Jika anda mempunyai berbilang versi IDE yang dipasang, setiap versi akan mempunyai set perpustakaannya sendiri. Adalah sangat disyorkan untuk tidak menukar perpustakaan standard dan memasang perpustakaan tambahan dalam folder yang sama.

Perpustakaan tambahan

Sebilangan besar perpustakaan tambahan dengan fungsi yang selesa dan pemandu untuk pelbagai peralatan persisian. Perpustakaan disiarkan terutamanya di Taman Permainan Arduino, Github dan Kod Google. Penulisan perpustakaan untuk Arduino sering dilakukan oleh pengeluar sensor, transduser, papan litar bercetak dan sebagainya. Sebagai contoh, Adafruit menawarkan lebih daripada 100 perpustakaan yang menyokong semua model papan Arduino.

Pasang perpustakaan tambahan dalam folder Perpustakaan. Terima kasih kepada ini, ia boleh digunakan dalam semua versi Arduino IDE. Selepas mengemas kini versi, anda tidak perlu memasang semula versi itu!

Di mana untuk memasang perpustakaan

Adalah penting untuk memasang perpustakaan dalam folder yang betul. Jika tidak, pengkompil tidak akan dapat mencarinya apabila anda menyusun dan memuatkan kod anda.

Folder tempat segala-galanya disimpan Lakaran Arduino, dicipta secara automatik apabila anda memasang IDE.

Di Linux folder itu dipanggil "Buku Scetch" dan biasanya terletak di /home/<username>

Pada Windows dan Macintosh, folder itu dipanggil "Arduino" dan terletak dalam folder Dokumen.

Sila ambil perhatian, ini penting! Dalam folder "Dokumen Saya", folder lain yang dipanggil "Arduino" dicipta secara automatik!

Pustaka tambahan hendaklah terletak dalam folder "Libraries", yang terletak di dalam "Scetchbook" atau "Arduino". Di sinilah IDE akan mencari perpustakaan yang dipasang tambahan.

Daripada Arduino IDE 1.0.2 dan lebih baru, folder "Perpustakaan" dicipta secara automatik. Untuk lebih versi terdahulu ia mesti dibuat sebelum memasang pustaka pertama anda.

Buka menu dan pilih "Fail-> Keutamaan" dalam IDE Arduino.

>

Cari lokasi lakaran anda. Ini biasanya folder "Arduino" dalam folder "Dokumen Saya" anda.

Sebaik sahaja anda telah menentukan laluan, navigasi ke folder itu menggunakan File Explorer.


Jika folder Perpustakaan tidak wujud, buat folder baharu.


Namakannya semula kepada "Perpustakaan".

Memasang perpustakaan pada Windows

Untuk memasang pustaka pada Windows, ikut arahan di bawah.

Tutup Arduino IDE

Pastikan Arduino IDE ditutup, kerana perpustakaan diimbas hanya apabila IDE dimuatkan. Pustaka baharu tidak akan berfungsi sehingga anda memulakan semula IDE.

Muat turun Fail Zip daripada Github.


Salin folder yang dibuka zip


Tampalkannya ke dalam folder perpustakaan anda.


Beri kepadanya nama yang betul. Arduino IDE tidak mengenali folder dengan sempang dalam nama. Jadi anda perlu menamakan semula folder tersebut. Anda boleh menggunakan di bawah sengkang.


Mulakan semula IDE Arduino dan semak sama ada pustaka muncul dalam item menu Fail-> Contoh.

Untuk menyemak, muat turun salah satu contoh.


Sebelum memuat naik contoh ke papan, semak lakaran.


Memasang perpustakaan pada Mac OSX

Untuk memasang perpustakaan tambahan dengan betul pada Mac OSX, ikut arahan di bawah

Tutup Arduino IDE.

Muat turun arkib dengan perpustakaan daripada Github.


Cari arkib yang dimuat turun dalam folder muat turun pada Mac anda.


Nyahzip dan salin pustaka ke folder perpustakaan yang telah dibuat semasa anda memasang IDE Arduino.


Beri perpustakaan nama yang sah. Seperti halnya dengan Windows, folder dengan sempang tidak boleh dibaca.


Mulakan semula Arduino IDE. Pustaka harus muncul dalam menu File->Contoh.

Muat turun salah satu contoh.


Sila pastikan lakaran itu betul sebelum memuat naik ke Arduino anda.

Memasang perpustakaan pada Linux

Untuk memasang perpustakaan tersuai pada Linux, ikut arahan di bawah.

Sekali lagi, tutup Ardino IDE.

Muat turun arkib dengan perpustakaan yang kami perlukan.


Kami menyimpan arkib ke HDD PC kami.


Cari arkib yang dimuat turun dalam folder muat turun.


Nyahzip perpustakaan dan salin ke folder Buku Lakar/Libraries.


Berikan folder nama yang betul. Tiada sempang!


Mulakan semula IDE Arduino dan semak sama ada pustaka muncul dalam folder menu Fail-> Contoh.

Mari muat turun salah satu contoh.


Kami menyemak sama ada fail contoh disusun tanpa ralat.


Kesilapan biasa semasa memasang perpustakaan untuk Arduino

"xxxx" tidak menamakan jenis


Ini adalah kesilapan yang paling biasa apabila bekerja dengan perpustakaan luaran. Sebabnya ialah pengkompil tidak dapat mencari perpustakaan. Sebab yang mungkin ralat ini berlaku:

  • Perpustakaan tidak dipasang (lihat arahan pemasangan di atas).
  • Lokasi folder tidak betul.
  • Nama folder tidak sah.
  • Nama perpustakaan tidak sah.
  • Anda terlupa untuk memulakan semula Arduino IDE.

Di bawah adalah penyelesaian kepada masalah yang mungkin berlaku

Lokasi folder salah

IDE hanya mencari perpustakaan standard dan perpustakaan tambahan yang dipasang dalam folder "Perpustakaan". Perpustakaan yang terletak di lokasi lain tidak akan dimulakan

Folder perpustakaan hendaklah berada dalam akar folder "Perpustakaan". Jika anda membuat subfolder tambahan, IDE tidak akan mengesan perpustakaan.

Nota: dalam beberapa repositori dalam talian, perpustakaan disiarkan dengan tahap tambahan bersarang folder. Semak detik ini. Fail perpustakaan mesti terletak dalam folder pertama, tanpa subfolder tambahan.

Bukan perpustakaan yang lengkap

Anda tidak seharusnya menamakan semula fail dalam perpustakaan menggunakan huruf besar, sempang, dsb.

Nama folder salah

IDE tidak mengesan folder dengan watak-watak tertentu Dalam tajuk. Malangnya, IDE tidak menyokong sempang, yang dijana dalam nama fail pada Github. Oleh itu, selepas memuat turun arkib, namakan semula folder. Nama baharu tidak boleh mengandungi sempang. Anda hanya boleh menggantikan semua aksara ('-') dengan ('_').

Nama perpustakaan tidak sah

Nama yang anda nyatakan dalam arahan #include dalam lakaran anda mestilah sepadan dengan nama kelas dalam pustaka (sensitif huruf besar-besaran!). Jika nama tidak sepadan, IDE tidak akan bersambung fungsi yang diperlukan, kelas, dsb. Dalam contoh yang disertakan dengan perpustakaan, nama adalah betul. Jadi untuk mengelakkan ralat tidak disengajakan, anda hanya boleh menyalin dan menampalnya ke dalam kod anda.

Berbilang versi perpustakaan

Jika anda mempunyai berbilang versi perpustakaan, Arduino IDE akan cuba memuatkan kesemuanya pada masa yang sama. Akibatnya, ralat penyusunan mungkin berlaku. Jadi versi lama atau tidak berfungsi mesti dipadamkan atau dialihkan daripada katalog perpustakaan.

Perpustakaan Tanggungan

Sesetengah perpustakaan bergantung kepada perpustakaan lain. Sebagai contoh, kebanyakan Perpustakaan Paparan Grafik Adafruit bergantung pada Perpustakaan Adafruit GFX. Iaitu, untuk menggunakan perpustakaan pertama anda perlu memasang yang kedua.

Perpustakaan "asas".

Sesetengah perpustakaan tidak boleh digunakan secara langsung. Contoh yang baik, Perpustakaan GFX. Pustaka ini kuasa kebanyakan paparan daripada Adafruit, tetapi tidak boleh digunakan tanpa perpustakaan pemacu untuk paparan itu.

Terlupa menutup Arduino IDE

Jangan lupa bahawa IDE mencari perpustakaan semasa memuatkan. Sebelum menggunakan yang baru perpustakaan yang dipasang, Arduino IDE perlu dibut semula.

Tinggalkan komen, soalan dan kongsi anda pengalaman peribadi di bawah. Idea dan projek baru sering dilahirkan dalam perbincangan!

Untuk kerja yang lebih mudah dan lebih produktif dengan Arduino, adalah mungkin untuk menggunakan perpustakaan tambahan. Perpustakaan Arduino adalah sebahagian daripada program untuk dilaksanakan tugasan tertentu. Dengan perpustakaan, anda boleh melakukan tindakan yang kompleks dengan hanya beberapa baris kod kerana orang lain telah menulis beberapa kod untuk anda.

Dalam Arduino IDE antara muka mesra pengguna untuk bekerja dengan perpustakaan Arduino. Terus dari menu program anda boleh memuat turun, memasang dan menyambungkan banyak perpustakaan ke lakaran anda. Untuk kebanyakan perpustakaan Arduino, anda boleh melihat contoh penggunaan. Ini akan membantu anda memahami cara perpustakaan berfungsi. Contoh boleh diubah suai untuk memenuhi keperluan anda dan digunakan untuk melaksanakan peranti anda sendiri.

Terdapat perpustakaan standard yang dipasang dengan Arduino IDE. Sebahagian daripada mereka malah secara automatik dimasukkan ke dalam lakaran (contohnya Serial).

Muat turun Perpustakaan Standard Arduino

Anda boleh memuat turun perpustakaan standard di laman web rasmi Arduino.

Di sana anda akan menemui penerangan dan contoh penggunaan perpustakaan standard. Anda juga boleh memuat turun semua perpustakaan standard dalam satu arkib. Arkib ini mengandungi bukan sahaja perpustakaan standard, tetapi juga banyak perpustakaan tambahan yang paling popular untuk Arduino.

Di bawah adalah penerangan terperinci dan contoh penggunaan perpustakaan standard Arduino.

  • — Perpustakaan untuk pertukaran data melalui port bersiri(UART).
  • — Perpustakaan untuk kawalan servos yang mudah dan tepat.
  • — Perpustakaan untuk bekerja dengan antara muka komunikasi TWI/I2C. Memudahkan pertukaran data dengan peranti, penderia dan probe.
  • WiFi— Sambungan Internet dengan menggunakan WiFi perisai.
  • TFT— Diperlukan untuk melukis teks, imej dan gambar paparan TFT Arduino.
  • stepper— Perpustakaan untuk mengawal motor stepper.
  • LiquidCrystal- Untuk Arduino berfungsi dengan skrin kristal cecair (LCD)
  • Ethernet— Untuk menyambung ke Internet menggunakan .
  • SD— Perpustakaan untuk menulis dan membaca maklumat daripada kad memori SD.
  • GSM— Perpustakaan untuk menyambungkan Arduino ke rangkaian GSM. Diperlukan untuk penghantaran dan menerima SMS dan panggilan, serta untuk mengakses Internet menggunakan GPRS. Digunakan dengan .
  • EEPROM— Perpustakaan untuk membaca dan menulis ke memori tidak meruap Arduino.

selamat hari, wahai pembaca sekalian dan pengguna portal Kotak Sampah! Pernahkah anda terfikir apakah perpustakaan itu dan mengapa ia diperlukan dalam pengaturcaraan Arduino? Walau apa pun, anda akan mengetahui jawapan kepada kedua-dua soalan ini dalam artikel ini.

Apa ini?

Perpustakaan dalam pengaturcaraan ialah koleksi rutin atau objek yang digunakan untuk membangunkan perisian.
Jika kita mempertimbangkan situasi dengan bahasa Arduino, maka ini adalah satu set elemen kod yang dipasang secara berasingan daripada persekitaran pembangunan dan berfungsi untuk berinteraksi dengan mana-mana modul atau sensor.

Untuk lebih jelas, saya akan memberikan contoh. Anda telah menyambungkan servo ke Arduino. Untuk berinteraksi dengannya, anda perlu memasukkan perpustakaan terbina dalam Servo.h. Ini dilakukan pada awal lakaran anda menggunakan arahan # termasuk Servo.h.
Perpustakaan Servo.h termasuk satu set arahan untuk kawalan yang mudah pemacu servo.

Servo


Di bawah ialah contoh kod dengan penjelasan.

#termasuk // Perintah #include termasuk perpustakaan
Servo myservo; // mengisytiharkan pembolehubah yang dipanggil myservo jenis Servo
persediaan batal() // prosedur piawai persediaan
{
myservo.attach(10); // command.attach mengikat servo ke port 10 (yang lain mungkin)
}
gelung kosong()
{
myservo.write(0); // command.write memutarkan aci servo ke sudut yang dikehendaki (boleh dari 0 hingga 180)

myservo.write(180); // putar aci 180 darjah
kelewatan(2000); // jeda 2 saat
}

Perkara yang anda perlu serlahkan daripada kod ini:

  • Gunakan // untuk menunjukkan ulasan satu baris, jika perlu komen berbilang talian, kemudian kami letakkannya dalam /*… */.
  • Menggunakan arahan #termasuk anda boleh menyambung mana-mana perpustakaan.
  • Pasukan .attach() Dan .write() milik perpustakaan Servo.h.
  • Pasukan kelewatan() tidak terpakai di perpustakaan Servo.h, dia kepunyaan arahan standard bahasa Arduino.
  • Sebelum sebarang arahan nama ditulis jenis berubah-ubah Servo.
  • Satu pembolehubah digunakan untuk hanya satu servo.
Terdapat banyak perpustakaan, dan anda boleh memuat turunnya di Internet jika anda mula mencari sambungan modul yang anda perlukan. By the way, bahasa pengaturcaraan Arduino dipanggil Pendawaian dan merupakan versi ringkas C++.

Bagaimana untuk memasang perpustakaan?

Untuk melaksanakan perpustakaan ke dalam kod, anda perlu memasangnya, dan sebelum itu anda perlu memuat turunnya. Pustaka yang anda muat turun akan dalam bentuk arkib yang perlu dibongkar pemasangan selanjutnya. Seterusnya, folder dengan perpustakaan mesti dialihkan ke folder Arduino/libraries. Pemasangan terperinci Anda boleh lihat tangkapan skrin di bawah.




Jika pemasangan berjaya, dalam Arduino IDE anda akan dapat mencari contoh lakaran dari perpustakaan yang dipasang.


Adalah penting untuk mengatakan bahawa sebelum menggunakan perpustakaan yang baru dipasang, Arduino IDE mesti dibut semula.

Jenis-jenis perpustakaan

Semua perpustakaan Arduino boleh dibahagikan kepada beberapa jenis:
  • Perpustakaan standard (terbina dalam) ialah perpustakaan yang dibina ke dalam IDE Arduino. Mereka tidak perlu pemasangan berasingan dan tersedia untuk digunakan serta-merta selepas memasang Arduino IDE.
  • Perpustakaan tambahan ialah perpustakaan yang tidak dibina ke dalam Arduino IDE. Mereka boleh didapati di Internet, contohnya, di Github. Pembangunan perpustakaan ini terutamanya dijalankan oleh pengeluar sensor.
  • Perpustakaan bergantung - perpustakaan ini dikelaskan sebagai tambahan. Perpustakaan yang tidak boleh berfungsi tanpa perpustakaan lain dipanggil bergantung.

Mengapakah perpustakaan diperlukan?

Perpustakaan dalam bahasa pengaturcaraan Arduino diperlukan untuk memudahkan kod dan berfungsi dengannya pelbagai modul. Pada asasnya, satu arahan daripada perpustakaan menyembunyikan beberapa baris kod yang ditulis oleh pencipta perpustakaan. Secara teorinya, kebanyakan modul boleh dikawal tanpa perpustakaan, bagaimanapun, menulis lakaran untuk ini akan mengambil banyak masa dan usaha. Namun begitu, anda tidak mungkin dapat mengawal paparan LCD tanpa bantuan perpustakaan.

Itulah sebabnya paparan dianggap sebagai salah satu modul yang paling sukar untuk pemula. Mari kita lihat contoh lakaran untuk mengawal paparan, kerana ia melibatkan dua perpustakaan sekaligus.


paparan lcd dengan protokol I2C


Walau bagaimanapun, kami akan mempertimbangkan bukan paparan teks mudah, tetapi satu dengan protokol I2C. Protokol I2C ialah papan hitam kecil bahagian belakang paparan (foto kedua). Papan ini, bersama-sama dengan perpustakaan yang berkaitan, direka bentuk untuk mengurangkan baris kod dan mengurangkan bilangan wayar untuk disambungkan, mengehadkannya kepada empat sahaja.

#termasuk // sambungkan perpustakaan untuk berfungsi dengan I2C
#termasuk // sambungkan perpustakaan untuk berfungsi dengan paparan teks

lcd LiquidCrystal_I2C(0x27, 16, 2);
/* Agar paparan berfungsi, anda perlu mencari alamatnya, tetapi kami tidak akan mempertimbangkan perkara ini dalam artikel ini. 16 - bilangan sel setiap baris. 4 - bilangan baris. Parameter ini boleh diubah bergantung pada paparan. */

persediaan batal()

{
lcd.begin(); // hidupkan paparan
lcd.lampu latar(); // dayakan lampu latar
lcd.print("Hello, dunia!"); // teks keluaran
}

gelung kosong()
{
// Kami tidak menulis apa-apa di sini
}

Saya pasti anda telah menemui arahan yang berkaitan dengan perpustakaan LiquidCrystal_I2C.h. ini .mula .lampu latar Dan .cetak. Dalam lakaran ini perpustakaan Kawat.h diperlukan untuk operasi yang betul protokol I2C.

Pokoknya

Perpustakaan sangat diperlukan dalam pengaturcaraan. Mereka boleh memudahkan penulisan lakaran dengan ketara dan menjadikan pengurusan modul lebih mudah diakses. Dalam artikel ini, kami mengetahui apakah perpustakaan, cara memasangnya, dan sebab ia diperlukan. Kami juga melihat beberapa contoh. Itu sahaja.

Dokumen ini menerangkan penciptaan perpustakaan untuk Arduino. Penjelasan akan dimulakan dengan menulis lakaran penghantaran kod Morse menggunakan LED. Kemudian ia akan ditunjukkan bagaimana untuk menukar lakaran menjadi perpustakaan. Ini akan membolehkan pengguna lain menggunakan kod yang dibuat dengan mudah, mengemas kini dan mengembangkannya.

Lakaran mengeluarkan semula kod Morse:

Pin int = 13; persediaan void() ( pinMode(pin, OUTPUT); ) void loop() ( dot(); dot(); dot(); dash(); dash(); dash(); dot(); dot(); dot(); delay(3000); ) void dot() ( digitalWrite(pin, HIGH); delay(250); digitalWrite(pin, LOW); delay(250); ) void dash() ( digitalWrite(pin, HIGH ); kelewatan(1000); digitalWrite(pin, LOW); kelewatan(250); )

Lakaran ini menjana isyarat SOS dengan memancarkan LED pada pin 13.

Lakaran itu mengandungi beberapa keping kod yang perlu dipindahkan ke perpustakaan. Pertama, ini adalah fungsi titik() Dan sengkang(), yang mengawal kelipan LED. Kedua, ia adalah pembolehubah ledPin, menentukan port I/O yang hendak digunakan. Dan akhirnya, panggilan fungsi pinMode(), yang menetapkan mod output pada port I/O yang digunakan .

Proses menukar lakaran kepada perpustakaan.

Pustaka mengandungi dua fail: fail pengepala (dengan sambungan .h) dan fail pelaksanaan (dengan sambungan .cpp). Fail pengepala mengandungi ciri-ciri perpustakaan, i.e. senarai semua yang terkandung di dalamnya. Fail pengepala yang dijana akan dipanggil Morse.h. Untuk kerja selanjutnya dengan fail pengepala, anda perlu melihat kandungan fail pelaksanaan.

Fail pengepala mengandungi kelas di mana fungsi diisytiharkan dan pembolehubah digunakan:

Kelas Morse ( awam: Morse(int pin); void dot(); void dash(); private: int _pin; );

Kelas masuk dalam kes ini ini adalah satu set fungsi dan pembolehubah digabungkan dalam satu tempat. Fungsi dan pembolehubah boleh menjadi umum ( awam), yang bermaksud akses umum kepada mereka setiap orang yang menggunakan perpustakaan, atau peribadi ( persendirian), yang bermaksud ia hanya boleh diakses dalam kelas. Setiap kelas ada fungsi khas pembina, yang digunakan untuk mencipta contoh kelas. Pembina mempunyai nama yang sama dengan kelas, tetapi tidak mempunyai jenis pulangan.

Juga fail pengepala mengandungi beberapa lagi baris tambahan. Pertama, ini adalah arahan #termasuk, yang memberikan akses kepada jenis standard Dan bahasa tetap Pengaturcaraan Arduino (arahan lalai ditambahkan pada setiap lakaran, tetapi bukan pada perpustakaan). Arahan kelihatan seperti ini (dan terletak di atas pengisytiharan kelas):

#include "WProgram.h"

Dalam versi Arduino 1.0 dan lebih tinggi anda juga perlu menambah:

#include Arduino.h

Ia juga biasa untuk menyertakan kandungan fail pengepala dalam struktur berikut:

#ifndef Morse_h #define Morse_h // #include directives and code go here #endif

Ini menghalang penyambungan semula perpustakaan kami, jika seseorang tersilap memasukkan perpustakaan dua kali dengan arahan #termasuk.

Pada permulaan kod perpustakaan adalah kebiasaan untuk meletakkan ulasan tentang tujuan, pengarang, tarikh dan lesen untuk perpustakaan.

Fail pengepala siap mengandungi:

/* Morse.h - Perpustakaan untuk memancarkan kod Morse. Dicipta oleh David A. Mellis, 2 November 2007. Dikeluarkan ke domain awam. */ #ifndef Morse_h #define Morse_h #include "WProgram.h" kelas Morse ( awam: Morse(int pin); void dot(); void dash(); private: int _pin; ); #endif

Mari lihat fail pelaksanaan Morse.cpp.

Terdapat beberapa arahan pada permulaan kod #termasuk. Arahan ini membenarkan akses kepada standard Fungsi Arduino dan kepada ciri-ciri dalam fail perpustakaan kepala:

#include "WProgram.h" #include "Morse.h"

Seterusnya dalam kod ialah pembina. Ia digunakan untuk membuat contoh kelas yang dicipta. Dalam kes ini, pengguna menentukan nombor port I/O yang digunakan melalui parameter. Port ditetapkan kepada mod output dan nombor disimpan dalam pembolehubah peribadi untuk digunakan dalam fungsi lain:

Morse::Morse(int pin) ( pinMode(pin, OUTPUT); _pin = pin; )

Kod Morse:: bermakna fungsi itu tergolong dalam kelas Morse . Ruang bawah pada permulaan nama pembolehubah _ pinjawatan yang diterima untuk pembolehubah persendirian. Secara umum, nama itu boleh apa sahaja, tetapi mengikut konvensyen penamaan yang diterima, adalah kebiasaan untuk menggunakan awalan "_" untuk pembolehubah persendirian. Ini juga memungkinkan untuk membezakan daripada hujah fungsi (dalam kes ini pin).

Void Morse::dot() ( digitalWrite(_pin, HIGH); delay(250); digitalWrite(_pin, LOW); delay(250); ) void Morse::dash() ( digitalWrite(_pin, HIGH); delay( 1000); digitalWrite(_pin, LOW); kelewatan(250); )

Adalah perkara biasa untuk meletakkan beberapa komen penjelasan pada permulaan kod dalam fail pelaksanaan. Kod penuh perpustakaan:

/* Morse.cpp - Perpustakaan untuk memancarkan kod Morse. Dicipta oleh David A. Mellis, 2 November 2007. Dikeluarkan ke domain awam. */ #include "WProgram.h" #include "Morse.h" Morse::Morse(int pin) ( pinMode(pin, OUTPUT); _pin = pin; ) void Morse::dot() ( digitalWrite(_pin, HIGH) ); delay(250); digitalWrite(_pin, LOW); delay(250); ) void Morse::dash() ( digitalWrite(_pin, HIGH); delay(1000); digitalWrite(_pin, LOW); delay(250 );)

Menggunakan perpustakaan.

Pertama, anda perlu membuat folder Morse dalam subfolder perpustakaan direktori notepad. Kedua, anda perlu menyalin fail Morse.h dan Morse.cpp ke soz folder ini. Selepas pelancaran program Arduino pada menu Lakaran > ImportLibrary Perpustakaan Morse akan ditempatkan. Perpustakaan akan disusun bersama-sama dengan lakaran yang menggunakannya. Jika masalah timbul semasa menyusun pustaka, anda perlu menyemak sama ada failnya mempunyai sambungan .cpp dan .h (tidak sepatutnya ada sambungan tambahan .pde dan .txt).

Lakaran awal, ditulis semula menggunakan perpustakaan yang dibuat, akan kelihatan seperti ini:

#termasuk Morse morse(13); persediaan void() ( ) void loop() ( morse.dot(); morse.dot(); morse.dot(); morse.dash(); morse.dash(); morse.dash(); morse.dot (); morse.dot(); morse.dot(); delay(3000); )

Beberapa perbezaan dari lakaran asal:

Pertama, arahan telah ditambah #termasuk kepada permulaan lakaran. Ini menentukan ketersediaan perpustakaan Morse dan sambungannya. Pustaka yang tidak digunakan boleh dialih keluar dengan mengalih keluar arahan #termasuk.

Kedua, contoh kelas Morse dicipta, dipanggil morse:

Morse morse(13);

Apabila melaksanakan baris ini (sebelum melaksanakan fungsi persediaan()) pembina untuk kelas Morse dipanggil dan mengambil hujah yang diberikan dalam contoh (13).

Dalam kes ini, fungsi persediaan() tidak mengandungi apa-apa, kerana Panggilan fungsi pinMode() berlaku di dalam perpustakaan (apabila contoh kelas dibuat).

Ketiga, untuk fungsi panggilan titik() Dan sengkang() awalan mesti ditambah morse. - nama contoh yang digunakan. Terdapat beberapa contoh kelas Morse, masing-masing dengan nombor portnya sendiri yang disimpan dalam pembolehubah tempatan _pin. Panggilan fungsi pada contoh tertentu menentukan pembolehubah yang digunakan semasa panggilan. Diberi dua baris berikut:

Morse morse(13); Morse morse2(12);

dalam panggilan morse2.dot(), pembolehubah _pin akan mempunyai nilai 12.

Malangnya, penyerlahan kod automatik tidak berfungsi dengan perpustakaan pemalam. Agar lampu latar berfungsi, anda perlu membuat fail yang dipanggil keywords.txt. Contoh:

Morse KATA KUNCI1 sengkang KATA KUNCI2 titik KATA KUNCI2

Bertentangan dengan setiap baris, dipisahkan oleh tab, ialah perkataan yang dikhaskan, dan sekali lagi, dipisahkan oleh tab, jenis perkataan. Kelas sepadan perkataan terpelihara KATA KUNCI1 dan berwarna oren; fungsi ialah KATA KUNCI2 dan berwarna coklat. Untuk mengecam perkataan, anda perlu memulakan semula persekitaran pembangunan Arduino.

Adalah dinasihatkan untuk sentiasa mengiringi perpustakaan yang dibuat dengan contoh penggunaannya. Folder dicipta untuk ini contoh dalam direktori Morse. Kemudian lakaran SOS yang dibuat sebelum ini disalin ke folder ini. (Fail lakaran boleh didapati melalui menu Lakaran > ShowSketchFolder). Selepas memulakan semula Arduino dalam menu Fail > Buku Lakaran > Contoh akan ada satu titik Perpustakaan-Morse, yang mengandungi contoh. Anda juga harus menambah ulasan tentang cara terbaik untuk menggunakan perpustakaan.