Isi kandungan:

Menggunakan Arduino untuk Citizen Science !: 14 Langkah (dengan Gambar)
Menggunakan Arduino untuk Citizen Science !: 14 Langkah (dengan Gambar)

Video: Menggunakan Arduino untuk Citizen Science !: 14 Langkah (dengan Gambar)

Video: Menggunakan Arduino untuk Citizen Science !: 14 Langkah (dengan Gambar)
Video: Tutorial ARDUINO 2024 | Dari 0 Untuk Pemula 2024, Jun
Anonim
Image
Image
Pssst, Apa Perbezaan Antara Ilmu Warganegara dan
Pssst, Apa Perbezaan Antara Ilmu Warganegara dan

Sains membolehkan kita mengemukakan soalan paling mendesak dan meneroka pelbagai jenis rasa ingin tahu. Dengan beberapa pemikiran, kerja keras, dan kesabaran, kita dapat menggunakan penjelajahan kita untuk membina pemahaman dan penghayatan yang lebih baik tentang dunia yang kompleks dan indah di sekitar kita.

Tutorial ini akan mengajar anda bagaimana menggunakan mikrokontroler Arduino (uno), bagaimana menggunakan pelbagai jenis sensor, dan bagaimana mengumpulkan dan memvisualisasikan data. Sepanjang perjalanan, kami akan membina tiga projek: suis kecondongan, sensor suhu dan kelembapan, dan sensor cahaya!

Tahap Kesukaran: Permulaan

Masa Baca: 20 min

Masa Binaan: Bergantung pada projek anda! (Projek dalam tutorial ini mengambil masa sekitar 15 - 20 min)

Langkah 1: Pssst, Apa Perbezaan Antara Sains Warganegara dan "Sains rasmi"?

Perbezaan terbesar adalah bahawa sains warganegara adalah, seperti yang saya suka katakan, "bergelombang tangan", yang bermaksud bahawa terdapat banyak kesalahan dan ketidakpastian dan tidak ada proses yang ketat untuk mengenalinya. Oleh kerana itu, kesimpulan yang dicapai melalui sains warganegara jauh lebih tepat daripada sains-sains dan tidak boleh dipercayai untuk membuat tuntutan atau keputusan yang serius / mengubah hidup / mengancam nyawa. *

Oleh itu, sains warganegara adalah kaedah terbaik untuk membina pemahaman asas mengenai semua jenis fenomena saintifik yang menarik dan cukup baik untuk kebanyakan aplikasi sehari-hari.

* Sekiranya anda melakukan sains warganegara dan anda menemui sesuatu yang berpotensi berbahaya (mis. Tahap plumbum tinggi dalam air), maklumkan kepada pendidik anda (jika ada) dan hubungi pihak berkuasa dan profesional yang berkenaan untuk mendapatkan bantuan.

Langkah 2: Apa itu Arduino ??

Apa itu Arduino ??
Apa itu Arduino ??
Apa itu Arduino ??
Apa itu Arduino ??
Apa itu Arduino ??
Apa itu Arduino ??
Apa itu Arduino ??
Apa itu Arduino ??

Arduino adalah papan mikrokontroler dan Persekitaran Pembangunan Bersepadu ("IDE"), yang merupakan cara yang menarik untuk mengatakan "program pengkodan". Untuk pemula, saya sangat mengesyorkan papan Arduino Uno kerana ia sangat kuat, boleh dipercayai dan hebat.

Papan Arduino adalah pilihan yang baik untuk projek sains warganegara kerana mereka mempunyai banyak pin input untuk dibaca dalam sensor Analog dan Digital (kita akan membahasnya kemudian).

Sudah tentu, anda boleh menggunakan pengawal mikro lain untuk sains warganegara bergantung pada keperluan, kebolehan, dan tahap keselesaan (atau pelajar anda). Berikut adalah gambaran keseluruhan mikrokontroler untuk membantu anda memutuskan apa yang terbaik untuk anda!

Untuk menyalakan, atau memprogramkan papan Arduino, pasangkannya melalui USB, kemudian:

1. Pilih jenis Arduino yang anda gunakan di bawah Alat -> Papan. (Foto 2)

2. Pilih port (aka tempat ia disambungkan ke komputer anda). (Foto 3)

3. Klik butang Muat Naik dan pastikan ia selesai memuat naik. (Foto 4)

Langkah 3: Alat & Bahan

Alat & Bahan
Alat & Bahan

Sekiranya anda baru memulakan, mendapatkan kit adalah kaedah cepat & mudah untuk mendapatkan banyak bahagian sekaligus. Kit yang saya gunakan dalam tutorial ini ialah Elegoo Arduino Starter Kit. *

Alat

  • Arduino Uno
  • Kabel USB A hingga B (alias kabel pencetak)
  • Wayar Pelompat

    • 3 lelaki-ke-lelaki
    • 3 lelaki-ke-wanita
  • Papan roti

    Pilihan tetapi disyorkan untuk menjadikan hidup anda lebih mudah dan menyeronokkan:)

Bahan

Untuk projek yang dibahas dalam tutorial ini, anda memerlukan bahagian ini dari Elegoo Arduino Starter Kit:

  • Suis condong
  • Sensor Suhu dan Kelembapan DTH11
  • LED
  • Perintang 100 Ohm

* Pendedahan penuh: Saya membeli kit yang sama untuk bengkel, tetapi kit yang digunakan dalam tutorial ini disumbangkan oleh orang-orang cantik di Elegoo.

Langkah 4: Jenis Sensor Apa yang Boleh Kita Gunakan?

Jenis Sensor Apa Yang Boleh Kita Gunakan?
Jenis Sensor Apa Yang Boleh Kita Gunakan?

Semasa merancang eksperimen sains, kita biasanya memulakan dengan soalan: Berapa banyak CO2 yang diserap tumbuhan dalam sehari? Apakah daya hentakan lompatan? Apa itu kesedaran ??

Berdasarkan soalan kami, kami kemudian dapat mengenal pasti apa yang ingin kami ukur dan melakukan penyelidikan untuk mengetahui sensor apa yang dapat kami gunakan untuk mengumpulkan data (walaupun mungkin agak sukar untuk mengumpulkan data untuk soalan terakhir itu!).

Semasa bekerja dengan elektronik, terdapat dua jenis isyarat data sensor utama: Digital dan Analog. Dalam foto, dua baris bahagian pertama adalah semua sensor digital, sementara dua baris teratas adalah analog.

Terdapat banyak jenis sensor digital, dan ada yang lebih sukar untuk bekerjasama daripada yang lain. Semasa membuat penyelidikan untuk projek sains warganegara anda, selalu periksa bagaimana sensor mengeluarkan data (srsly tho) dan pastikan anda dapat mencari perpustakaan (Arduino) untuk sensor tersebut.

Dalam tiga projek yang dibahas dalam tutorial ini, kami akan menggunakan dua jenis sensor digital dan satu sensor analog. Mari belajar-belajar!

Langkah 5: Sensor Digital! Bahagian 1: Yang Mudah

Sensor Digital! Bahagian 1: Yang Mudah!
Sensor Digital! Bahagian 1: Yang Mudah!
Sensor Digital! Bahagian 1: Yang Mudah!
Sensor Digital! Bahagian 1: Yang Mudah!

Sebilangan besar sensor anda akan menggunakan output Isyarat Digital, yang merupakan isyarat yang hidup atau mati. * Kami menggunakan nombor binari untuk mewakili dua keadaan ini: isyarat Hidup diberikan oleh 1, atau Benar, sementara Mati adalah 0, atau Salah. Sekiranya kita melukis gambaran seperti apa isyarat binari, ia akan menjadi gelombang persegi seperti yang terdapat di Foto 2.

Terdapat beberapa sensor digital, seperti suis, yang sangat mudah dan mudah diukur kerana sama ada butang ditekan dan kita mendapat isyarat (1), atau tidak didorong dan kita tidak mempunyai isyarat (0). Sensor yang digambarkan di baris bawah foto pertama semuanya jenis on / off yang mudah. Sensor di barisan atas sedikit lebih kompleks dan diliputi selepas projek pertama kami.

Dua projek pertama dalam tutorial ini akan mengajar anda bagaimana menggunakan kedua-dua jenis! Maju untuk membina projek pertama kami !!

* Hidup bermaksud isyarat elektrik dalam bentuk arus elektrik dan voltan. Mati bermaksud tiada isyarat elektrik!

Langkah 6: Projek 1: Sensor Digital Tilt Switch

Projek 1: Sensor Digital Tilt Switch
Projek 1: Sensor Digital Tilt Switch
Projek 1: Sensor Digital Tilt Switch
Projek 1: Sensor Digital Tilt Switch
Projek 1: Sensor Digital Tilt Switch
Projek 1: Sensor Digital Tilt Switch

Untuk projek pertama ini, mari kita gunakan suis kecondongan, sensor silinder hitam dengan dua kaki! Langkah 1: Masukkan satu kaki suis kecondongan ke dalam Arduino Digital Pin 13, dan kaki yang lain ke pin GND tepat di sebelah pin 13. Orientasi tidak penting.

Langkah 2: Tulis lakaran yang membaca dan mencetak status Pin Digital 13

Atau anda hanya boleh menggunakan milik saya!

Sekiranya anda baru memulakan pengekodan, baca komen untuk lebih memahami bagaimana lakaran berfungsi dan cuba ubah beberapa perkara untuk melihat apa yang berlaku! Tidak apa-apa untuk memecahkan sesuatu, itu adalah kaedah yang bagus untuk belajar! Anda sentiasa boleh memuat turun semula fail dan memulakannya semula:)

Langkah 3: Untuk melihat data langsung anda, klik pada butang Serial Monitor (foto 2)

.. aaa dan itu sahaja! Anda kini boleh menggunakan suis kecondongan untuk mengukur orientasi! Siapkan untuk memanggil anak kucing anda ketika mengetuk sesuatu, atau menggunakannya untuk mengawasi bagaimana dahan pokok bergerak semasa ribut!.. & mungkin ada aplikasi lain di antara kedua-dua ekstrem tersebut.

Langkah 7: Sensor Digital! Bahagian 2: PWM dan Komunikasi Bersiri

Sensor Digital! Bahagian 2: PWM dan Komunikasi Bersiri
Sensor Digital! Bahagian 2: PWM dan Komunikasi Bersiri
Sensor Digital! Bahagian 2: PWM dan Komunikasi Bersiri
Sensor Digital! Bahagian 2: PWM dan Komunikasi Bersiri
Sensor Digital! Bahagian 2: PWM dan Komunikasi Bersiri
Sensor Digital! Bahagian 2: PWM dan Komunikasi Bersiri

Terdapat banyak cara untuk membuat isyarat digital yang lebih kompleks! Salah satu kaedahnya disebut Pulse Width Modulation ("PWM"), yang merupakan cara mewah untuk mengatakan isyarat yang dihidupkan untuk jangka masa tertentu dan mati untuk jangka masa tertentu. Motor servo (yang dapat digunakan untuk mengukur kedudukan) dan sensor ultrasonik adalah contoh sensor yang menggunakan isyarat PWM.

Terdapat juga sensor yang menggunakan komunikasi bersiri untuk menghantar data satu bit, atau digit binari, pada satu masa. Sensor ini memerlukan keakraban dengan membaca lembaran data dan boleh menjadi sangat sukar jika anda baru memulakannya. Nasib baik, sensor bersiri biasa akan mempunyai perpustakaan kod * dan contoh program untuk diambil sehingga anda masih dapat menggabungkan sesuatu yang berfungsi. Maklumat lebih lanjut mengenai protokol komunikasi bersiri adalah di luar ruang lingkup tutorial ini, tetapi berikut adalah sumber yang baik untuk komunikasi bersiri dari SparkFun untuk mengetahui lebih lanjut!

Untuk projek sampel ini, mari gunakan sensor suhu dan kelembapan (DHT11)! Ini adalah kotak biru kecil dengan lubang dan 3 pin.

Mula-mula kita memerlukan beberapa perpustakaan khas untuk sensor DHT11: perpustakaan DHT11 dan perpustakaan Adafruit Unified Sensor. Untuk memasang perpustakaan ini (dan kebanyakan perpustakaan Arduino lain):

Langkah 1: Buka pengurus perpustakaan Arduino dengan pergi ke Sketch -> Perpustakaan -> uruskan Perpustakaan (Foto 2)

Langkah 2: Pasang dan aktifkan perpustakaan DHT dengan mencari "DHT" dan kemudian klik Pasang untuk "Perpustakaan DHT Arduino" (Foto 3)

Langkah 3: Pasang dan aktifkan perpustakaan Adafruit Unified Sensor dengan mencari "Adafruit Unified Sensor" dan klik pasang.

Langkah 4: Masukkan perpustakaan DHT ke dalam lakaran terbuka anda dengan pergi ke Sketch -> Perpustakaan, dan klik pada "Perpustakaan DHT Arduino. (Foto 4) Ini akan memasukkan beberapa baris baru di bahagian atas lakaran anda, yang bermaksud perpustakaan kini aktif dan sedia untuk digunakan! (Foto 5)

* Sama seperti perpustakaan tempatan kegemaran anda, perpustakaan kod adalah banyak pengetahuan dan kerja keras orang lain yang dapat kita gunakan untuk menjadikan hidup kita lebih mudah, ya!

Langkah 8: Projek 2: Sensor Bersiri Digital Temp dan Kelembapan

Projek 2: Sensor Bersiri Digital Temp dan Kelembapan
Projek 2: Sensor Bersiri Digital Temp dan Kelembapan
Projek 2: Sensor Bersiri Digital Temp dan Kelembapan
Projek 2: Sensor Bersiri Digital Temp dan Kelembapan
Projek 2: Sensor Bersiri Digital Temp dan Kelembapan
Projek 2: Sensor Bersiri Digital Temp dan Kelembapan
Projek 2: Sensor Bersiri Digital Temp dan Kelembapan
Projek 2: Sensor Bersiri Digital Temp dan Kelembapan

Dapatkan 3 kabel jumper lelaki-ke-wanita dari Elegoo Arduino Starter Kit dan kami sudah bersedia!

Langkah 1: Dengan pin header menghadap anda, sambungkan pin header paling kanan di DHT11 ke pin ground Arduino ("GND").

Langkah 2: Sambungkan pin header tengah ke pin output Arduino 5V.

Langkah 3: Sambungkan pin header paling kiri ke Arduino Digital Pin 2

Langkah 4: Akhirnya, baca perpustakaan DHT dan cuba tulis sketsa! Anda boleh menggunakan lakaran contoh ujian saya atau DHT dalam Arduino -> Contoh!

Apabila anda berjaya dan aktif, pergi dan ukur suhu dan kelembapan semua perkara!.. Seperti nafas binatang, rumah hijau, atau tempat pendakian kegemaran anda pada waktu yang berlainan sepanjang tahun untuk mencari temp yang * sempurna *.

Langkah 9: Sensor Analog

Sensor Analog!
Sensor Analog!
Sensor Analog!
Sensor Analog!

Setelah sukar menyelami sensor digital, sensor analog dapat kelihatan seperti angin! Isyarat analog adalah isyarat berterusan, seperti yang ditunjukkan dalam foto ke-2. Sebilangan besar dunia fizikal wujud dalam analog (mis. Suhu, usia, tekanan, dll.), Tetapi kerana komputer digital *, kebanyakan sensor akan mengeluarkan isyarat digital. Beberapa pengawal mikro, seperti papan Arduino, juga dapat membaca dalam isyarat analog **.

Bagi kebanyakan sensor analog, kami memberi kuasa kepada sensor, kemudian membaca dalam isyarat analog menggunakan pin Input Analog. Untuk ujian ini, kami akan menggunakan persediaan yang lebih sederhana untuk mengukur voltan merentasi LED ketika kami menyalakan cahaya di atasnya.

* Komputer menggunakan isyarat digital untuk menyimpan dan menghantar maklumat. Ini kerana isyarat digital lebih mudah dikesan dan lebih dipercayai, kerana yang perlu kita risaukan adalah mendapatkan isyarat atau tidak sebaliknya perlu bimbang tentang kualiti / ketepatan isyarat.

** Untuk membaca isyarat analog pada peranti digital, kita mesti menggunakan penukar Analog-ke-Digital, atau ADC, yang menghampiri isyarat analog dengan membandingkan input dengan voltan yang diketahui pada peranti, kemudian mengira berapa lama memerlukan untuk mencapai voltan input. Untuk maklumat lebih lanjut, ini adalah laman web yang berguna.

Langkah 10: Projek 3: LED Sebagai Sensor Cahaya

Projek 3: LED Sebagai Sensor Cahaya!
Projek 3: LED Sebagai Sensor Cahaya!
Projek 3: LED Sebagai Sensor Cahaya!
Projek 3: LED Sebagai Sensor Cahaya!

Dapatkan LED (warna apa pun kecuali putih), perintang 100 Ohm, dan 2 kabel pelompat. Oh, dan papan roti!

Langkah 1: Masukkan LED ke papan roti dengan kaki yang lebih panjang di sebelah kanan.

Langkah 2: Sambungkan wayar pelompat dari Arduino Analog Pin A0 dan kaki LED yang lebih panjang

Langkah 3: Sambungkan perintang antara kaki LED yang lebih pendek dan rel kuasa negatif papan roti (di sebelah garisan biru).

Langkah 4: Sambungkan pin Arduino GND ke rel kuasa negatif di papan roti.

Langkah 5: Tulis lakaran yang berbunyi dalam Analog Pin A0 dan dicetak ke Monitor Bersiri

Berikut adalah contoh kod untuk memulakan anda.

Langkah 11: Memvisualisasikan Data: Arduino IDE

Memvisualisasikan Data: Arduino IDE!
Memvisualisasikan Data: Arduino IDE!
Memvisualisasikan Data: Arduino IDE!
Memvisualisasikan Data: Arduino IDE!

Arduino IDE dilengkapi dengan alat bawaan untuk memvisualisasikan data. Kami telah meneroka asas-asas Monitor Serial yang membolehkan kami mencetak nilai sensor. Sekiranya anda ingin menyimpan dan menganalisis data anda, salin output secara langsung dari Serial Monitor dan tampal ke editor teks, spreadsheet, atau alat analisis data lain.

Alat kedua yang dapat kita gunakan untuk melihat data kita dalam program Arduino adalah Serial Plotter, versi visual (aka grafik) dari Serial Monitor. Untuk menggunakan Serial Plotter, pergi ke Tools Serial Plotter. Grafik dalam Foto 2 adalah keluaran LED sebagai sensor cahaya dari Projek 3! *

Plot akan skala automatik dan selagi anda menggunakan Serial.println () untuk sensor anda, ia juga akan mencetak semua sensor anda dalam warna yang berbeza. Hore! Itu sahaja!

* Sekiranya anda melihat hujungnya, terdapat corak gelombang yang sangat menarik yang mungkin disebabkan oleh arus bolak-balik ("AC") di lampu overhead kami!

Langkah 12: Memvisualisasikan Data: Excel! Bahagian 1

Memvisualisasikan Data: Excel! Bahagian 1
Memvisualisasikan Data: Excel! Bahagian 1
Memvisualisasikan Data: Excel! Bahagian 1
Memvisualisasikan Data: Excel! Bahagian 1
Memvisualisasikan Data: Excel! Bahagian 1
Memvisualisasikan Data: Excel! Bahagian 1
Memvisualisasikan Data: Excel! Bahagian 1
Memvisualisasikan Data: Excel! Bahagian 1

Untuk analisis data yang lebih serius, ada tambahan yang sangat hebat (dan percuma!) Untuk Excel yang dipanggil Data Streamer *, yang boleh anda muat turun di sini.

Tambahan ini dibaca dari port bersiri, jadi kita dapat menggunakan teknik pengekodan yang sama seperti mencetak data ke siri untuk mendapatkan data secara langsung ke Excel.. ya ya !!

Cara menggunakan Data Streamer Add-In:

1. Setelah anda memasangnya (atau jika anda mempunyai O365), klik pada tab Data Streamer (paling kanan) di Excel.

2. Pasang Arduino anda dan klik "Sambungkan Peranti", kemudian pilih Arduino dari menu lungsur. (Foto 1)

3. Klik "Mula Data" untuk memulakan pengumpulan data! (Foto 2) Anda akan melihat tiga helaian baru dibuka: "Data Masuk", "Data Keluar", dan "Tetapan".

Data langsung dicetak dalam helaian Data Dalam. (Foto 3) Setiap baris sesuai dengan pembacaan sensor, dengan nilai terbaru dicetak pada baris terakhir.

Secara lalai, kami hanya memperoleh 15 baris data, tetapi anda boleh mengubahnya dengan pergi ke "Tetapan". Kita dapat mengumpulkan hingga 500 baris (hadnya disebabkan lebar jalur Excel - banyak yang berlaku di latar belakang!).

* Pendedahan penuh: Walaupun tutorial ini tidak berafiliasi, saya bekerja dengan pasukan Microsoft Hacking STEM yang mengembangkan add-in ini.

Langkah 13: Memvisualisasikan Data: Excel! Bahagian 2

Memvisualisasikan Data: Excel! Bahagian 2
Memvisualisasikan Data: Excel! Bahagian 2
Memvisualisasikan Data: Excel! Bahagian 2
Memvisualisasikan Data: Excel! Bahagian 2
Memvisualisasikan Data: Excel! Bahagian 2
Memvisualisasikan Data: Excel! Bahagian 2

4. Tambahkan sebilangan data anda! Lakukan beberapa analisis data! Petak penyebaran menunjukkan kepada anda bagaimana pembacaan sensor berubah dari masa ke masa, yang sama seperti yang kita lihat dalam Arduino Serial Plotter.

Untuk menambah Petak Penyebaran:

Pergi ke Masukkan -> Carta -> Sebarkan. Apabila plot muncul, klik kanan padanya dan pilih "Pilih Data", kemudian Tambah. Kami mahu data kami dipaparkan pada paksi-y, dengan "waktu" * pada paksi-x. Untuk melakukan ini, klik anak panah di sebelah paksi-y, pergi ke lembaran Data In, dan pilih semua data sensor masuk (Foto 2).

Kami juga boleh melakukan pengiraan dan perbandingan di Excel! Untuk menulis formula, klik pada sel kosong dan taipkan tanda sama dengan ("="), kemudian pengiraan yang ingin anda lakukan. Terdapat banyak perintah bawaan seperti rata-rata, maksimum, dan minimum.

Untuk menggunakan perintah, ketik tanda sama dengan, nama perintah, dan tanda kurung terbuka, kemudian pilih data yang anda analisis dan tutup tanda kurung (Foto 3)

5. Untuk menghantar lebih daripada satu lajur data (AKA lebih dari satu sensor), cetak nilai pada baris yang sama dipisahkan dengan koma, dengan baris baru kosong terakhir, seperti ini:

Serial.print (sensorReading1);

Cetakan bersiri (","); Serial.print (sensorReading2); Cetakan bersiri (","); Bersiri.println ();

* Sekiranya anda mahu masa sebenarnya berada pada paksi-x, pilih cap waktu pada Lajur A pada lembaran Data Dalam untuk nilai paksi-x di Petak Penyebaran anda. Walau apa pun, kami akan melihat data kami kerana ia berubah dari masa ke masa.

Langkah 14: Pergi ke Depan dan Ukur Semua Perkara

Pergi ke Depan dan Ukur Semua Perkara !!
Pergi ke Depan dan Ukur Semua Perkara !!
Pergi ke Depan dan Ukur Semua Perkara !!
Pergi ke Depan dan Ukur Semua Perkara !!
Pergi ke Depan dan Ukur Semua Perkara !!
Pergi ke Depan dan Ukur Semua Perkara !!

Baiklah, itu sahaja! Masa untuk pergi ke luar dan ke atas! Gunakan ini sebagai asas untuk memulakan penerokaan sensor, pengekodan Arduino, dan analisis data untuk menangani persoalan, rasa ingin tahu, dan misteri kegemaran anda di dunia yang besar dan indah ini.

Ingat: ada banyak orang di luar sana untuk membantu anda sepanjang perjalanan, jadi sila tinggalkan komen jika anda mempunyai pertanyaan!

Perlukan beberapa idea lagi? Inilah cara membuat suis perubahan keadaan yang dapat dipakai, sensor suhu jauh berkuasa solar, dan skala perindustrian yang bersambung dengan internet!

Suka tutorial ini dan ingin melihat lebih banyak? Sokong projek kami di Patreon!: D

Disyorkan: