İçindekiler:

Vatandaş Bilimi için Arduino Kullanımı!: 14 Adım (Resimlerle)
Vatandaş Bilimi için Arduino Kullanımı!: 14 Adım (Resimlerle)

Video: Vatandaş Bilimi için Arduino Kullanımı!: 14 Adım (Resimlerle)

Video: Vatandaş Bilimi için Arduino Kullanımı!: 14 Adım (Resimlerle)
Video: Alex müthiş sıyrıldı off 2024, Haziran
Anonim
Image
Image
Pssst, Yurttaş Bilimi ve Vatandaş Bilimi Arasındaki Fark Nedir?
Pssst, Yurttaş Bilimi ve Vatandaş Bilimi Arasındaki Fark Nedir?

Bilim, en acil sorularımızı sormamıza ve her türlü merakı keşfetmemize izin verir. Biraz düşünce, sıkı çalışma ve sabırla, etrafımızdaki karmaşık ve güzel dünyayı daha iyi anlamak ve takdir etmek için keşiflerimizi kullanabiliriz.

Bu eğitim size bir Arduino (uno) mikro denetleyicisinin nasıl kullanılacağını, farklı sensör türlerinin nasıl kullanılacağını ve verilerin nasıl toplanıp görselleştirileceğini öğretecektir. Yol boyunca üç proje inşa edeceğiz: bir eğim anahtarı, bir sıcaklık ve nem sensörü ve bir ışık sensörü!

Zorluk Seviyesi: Başlangıç

Okuma Süresi: 20 dk

İnşa Süresi: Projenize bağlı! (Bu eğitimdeki projeler yaklaşık 15 - 20 dakika sürer)

Adım 1: Pssst, Vatandaş Bilimi ile "resmi Bilim" Arasındaki Fark Nedir?

En büyük fark, yurttaş biliminin, söylemeyi sevdiğim gibi, "el dalgalı" olmasıdır; bu, birçok hata ve belirsizlik olduğu ve bunları tanımlamak için katı bir süreç olmadığı anlamına gelir. Bu nedenle, yurttaş bilimi yoluyla ulaşılan sonuçlar bilim-bilimden çok daha az doğrudur ve ciddi/hayatı değiştiren/hayatı tehdit eden iddialar veya kararlar vermek için güvenilmemelidir.*

Bununla birlikte, yurttaş bilimi, her türlü büyüleyici bilimsel fenomenin temel bir anlayışını inşa etmenin harika bir yoludur ve çoğu günlük uygulama için yeterince iyidir.

*Vatandaş bilimi yapıyorsanız ve potansiyel olarak tehlikeli bir şey keşfederseniz (örneğin suda yüksek kurşun seviyeleri), eğitimcinizi (varsa) bilgilendirin ve yardım için ilgili makamlar ve profesyonellerle iletişime geçin.

Adım 2: Arduino Nedir?

Arduino Nedir?
Arduino Nedir?
Arduino Nedir?
Arduino Nedir?
Arduino Nedir?
Arduino Nedir?
Arduino Nedir?
Arduino Nedir?

Arduino, bir mikrodenetleyici kartı ve "kodlama programı" demenin süslü bir yolu olan Entegre Geliştirme Ortamı ("IDE"). Yeni başlayanlar için, süper sağlam, güvenilir ve güçlü oldukları için Arduino Uno kartlarını şiddetle tavsiye ederim.

Arduino panoları, hem Analog hem de Dijital sensörlerde okunacak çok sayıda giriş pinine sahip oldukları için vatandaş bilim projeleri için iyi bir seçimdir (buna daha sonra gireceğiz).

Elbette, sizin (veya öğrencilerinizin) gereksinimlerine, yeteneklerine ve rahatlık düzeyine bağlı olarak vatandaşlık bilimi için diğer mikro denetleyicileri kullanabilirsiniz. İşte sizin için en iyisinin ne olduğuna karar vermenize yardımcı olacak mikrodenetleyicilere genel bir bakış!

Bir Arduino kartını flaş etmek veya programlamak için USB ile takın, ardından:

1. Araçlar -> Panolar altında kullandığınız Arduino türünü seçin. (Fotoğraf 2)

2. Bağlantı noktasını seçin (diğer adıyla bilgisayarınıza bağlı olduğu yer). (Fotoğraf 3)

3. Karşıya Yükle düğmesine tıklayın ve yüklemenin bitip bitmediğini kontrol edin. (Fotoğraf 4)

Adım 3: Araçlar ve Malzemeler

Araçlar ve Malzemeler
Araçlar ve Malzemeler

Yeni başlıyorsanız, bir kit almak, aynı anda birçok parçayı almanın hızlı ve kolay bir yoludur. Bu eğitimde kullandığım kit Elegoo Arduino Başlangıç Kitidir.*

Aletler

  • Arduino Uno'su
  • USB A - B kablosu (yazıcı kablosu olarak da bilinir)
  • Jumper Telleri

    • 3 erkek erkeğe
    • 3 erkek-dişi
  • ekmek tahtası

    İsteğe bağlı ancak hayatınızı daha kolay ve eğlenceli hale getirmek için önerilir:)

Malzemeler

Bu eğitimde ele alınan projeler için Elegoo Arduino Başlangıç Kitindeki şu parçalara ihtiyacınız olacak:

  • Eğim Anahtarı
  • DTH11 Sıcaklık ve Nem Sensörü
  • LED
  • 100 Ohm Direnç

*Tam açıklama: Aynı kitleri atölyeler için satın alıyorum, ancak bu eğitimde kullanılan kit Elegoo'daki sevimli insanlar tarafından bağışlandı.

Adım 4: Ne Tür Sensörler Kullanabiliriz?

Ne Tür Sensörler Kullanabiliriz?
Ne Tür Sensörler Kullanabiliriz?

Bir bilim deneyi tasarlarken genellikle bir soruyla başlarız: Bitkiler bir günde ne kadar CO2 emer? Bir sıçramanın darbe kuvveti nedir? Bilinç nedir??

Sorumuza dayanarak, neyi ölçmek istediğimizi belirleyebilir ve veri toplamak için hangi sensörü kullanabileceğimizi bulmak için biraz araştırma yapabiliriz (ancak bu son soru için veri toplamak biraz zor olabilir!).

Elektronikle çalışırken, iki ana sensör veri sinyali türü vardır: Dijital ve Analog. Fotoğrafta, ilk iki sıradaki parçaların tümü dijital sensörler, üstteki iki sıra ise analogdur.

Birçok farklı türde dijital sensör vardır ve bazılarıyla çalışmak diğerlerinden daha zordur. Vatandaş bilim projeniz için araştırma yaparken, her zaman sensörün verileri nasıl ortaya koyduğunu kontrol edin (srsly tho) ve o belirli sensör için bir (Arduino) kütüphanesi bulabildiğinizden emin olun.

Bu eğitimde ele alınan üç projede iki tür dijital sensör ve bir analog sensör kullanacağız. Bir-öğrenelim!

Adım 5: Dijital Sensörler! Bölüm 1: Kolay Olanlar

Dijital Sensörler! Bölüm 1: Kolay Olanlar!
Dijital Sensörler! Bölüm 1: Kolay Olanlar!
Dijital Sensörler! Bölüm 1: Kolay Olanlar!
Dijital Sensörler! Bölüm 1: Kolay Olanlar!

Kullanacağınız sensörlerin çoğu, açık veya kapalı bir sinyal olan bir Dijital Sinyal verir.* Bu iki durumu temsil etmek için ikili sayılar kullanırız: Açık sinyali 1 ile verilir veya Kapalı 0 iken Doğru, veya yanlış. İkili bir sinyalin nasıl göründüğünün bir resmini çizecek olsaydık, Fotoğraf 2'deki gibi bir kare dalga olurdu.

Anahtarlar gibi bazı dijital sensörler vardır, çünkü ya düğmeye basılır ve bir sinyal alırız (1) ya da basılmaz ve elimizde sinyal yoktur (0). İlk fotoğrafın alt satırında gösterilen sensörlerin hepsi basit açma/kapama tipleridir. Üst sıradaki sensörler biraz daha karmaşıktır ve ilk projemizden sonra kapsanmıştır.

Bu eğitimdeki ilk iki proje size her iki türü de nasıl kullanacağınızı öğretecek! İlk projemizi inşa etmek için ileriye!!

*Açık, elektrik akımı ve voltaj şeklinde bir elektrik sinyali anlamına gelir. Kapalı, elektrik sinyali olmadığı anlamına gelir!

Adım 6: Proje 1: Eğim Anahtarlı Dijital Sensör

Proje 1: Tilt Switch Dijital Sensör
Proje 1: Tilt Switch Dijital Sensör
Proje 1: Eğim Anahtarlı Dijital Sensör
Proje 1: Eğim Anahtarlı Dijital Sensör
Proje 1: Eğim Anahtarlı Dijital Sensör
Proje 1: Eğim Anahtarlı Dijital Sensör

Bu ilk proje için, iki ayaklı siyah silindirik sensör olan bir eğim anahtarını kullanalım! Adım 1: Eğim anahtarının bir ayağını Arduino Dijital Pim 13'e ve diğer ayağı pim 13'ün hemen yanındaki GND pimine takın. önemli değil.

Adım 2: Dijital Pin 13'ün durumunu okuyan ve yazdıran bir çizim yazın

Ya da sadece benimkini kullanabilirsin!

Kodlamaya yeni başlıyorsanız, eskizin nasıl çalıştığını daha iyi anlamak için yorumları okuyun ve ne olduğunu görmek için bazı şeyleri değiştirmeyi deneyin! Bir şeyleri kırmak sorun değil, bu öğrenmenin harika bir yolu! Dosyayı her zaman yeniden indirebilir ve baştan başlayabilirsiniz:)

Adım 3: Canlı verilerinizi görmek için Seri Monitör düğmesine tıklayın (fotoğraf 2)

.. aaave bu kadar! Yönü ölçmek için artık eğim anahtarını kullanabilirsiniz! Kedinizi bir şeye çarptığında seslenecek şekilde ayarlayın veya fırtınalar sırasında ağaç dallarının nasıl hareket ettiğini takip etmek için kullanın!.. & muhtemelen bu iki uç arasında başka uygulamalar da vardır.

Adım 7: Dijital Sensörler! Bölüm 2: PWM ve Seri İletişim

Dijital Sensörler! Bölüm 2: PWM ve Seri İletişim
Dijital Sensörler! Bölüm 2: PWM ve Seri İletişim
Dijital Sensörler! Bölüm 2: PWM ve Seri İletişim
Dijital Sensörler! Bölüm 2: PWM ve Seri İletişim
Dijital Sensörler! Bölüm 2: PWM ve Seri İletişim
Dijital Sensörler! Bölüm 2: PWM ve Seri İletişim

Daha karmaşık dijital sinyaller yaratmanın birçok yolu var! Bir yöntem, belirli bir süre için açık ve belirli bir süre için kapalı olan bir sinyali söylemenin süslü bir yolu olan Darbe Genişliği Modülasyonu ("PWM") olarak adlandırılır. Servo motorlar (konumu ölçmek için kullanılabilir) ve ultrasonik sensörler, PWM sinyallerini kullanan sensörlere örnektir.

Bir seferde bir bit veya ikili basamak veri göndermek için seri iletişimi kullanan sensörler de vardır. Bu sensörler, veri sayfalarını okumaya biraz aşinalık gerektirir ve yeni başlıyorsanız oldukça zor olabilir. Neyse ki, yaygın seri sensörlerin kod kitaplıkları* ve çekilecek örnek programları olacak, böylece hala işlevsel bir şeyleri bir araya getirebilirsiniz. Seri iletişim protokolleri hakkında daha fazla ayrıntı bu eğitimin kapsamı dışındadır, ancak daha fazlasını öğrenmek için SparkFun'dan seri iletişim hakkında harika bir kaynak burada!

Bu örnek proje için sıcaklık ve nem sensörünü (DHT11) kullanalım! Bu delikli ve 3 iğneli küçük mavi bir kare.

İlk önce DHT11 sensörü için birkaç özel kütüphaneye ihtiyacımız olacak: DHT11 kütüphanesi ve Adafruit Birleşik Sensör kütüphanesi. Bu kütüphaneleri (ve diğer birçok Arduino kütüphanesini) kurmak için:

Adım 1: Sketch -> Libraries -> Manage Library'ye giderek Arduino kütüphane yöneticisini açın (Foto 2)

Adım 2: "DHT"yi aratarak ve ardından "DHT Arduino Kitaplığı" için Kur'a tıklayarak DHT kitaplığını kurun ve etkinleştirin (Foto 3)

Adım 3: "Adafruit Unified Sensor" aratıp kur'a tıklayarak Adafruit Unified Sensor kitaplığını kurun ve etkinleştirin.

Adım 4: Sketch -> Libraries'e giderek ve "DHT Arduino Library'ye tıklayarak DHT kütüphanesini açık çiziminize ekleyin. (Fotoğraf 4) Bu, eskizinizin üstüne birkaç yeni satır ekleyecektir, bu bizim kütüphane artık aktif ve kullanıma hazır!(Foto 5)

*Tıpkı favori yerel kütüphaneniz gibi, kod kütüphaneleri de hayatımızı kolaylaştırmak için kullanabileceğimiz bir bilgi hazinesi ve diğer insanların sıkı çalışmasıdır, yay!

Adım 8: Proje 2: Sıcaklık ve Nem Dijital Seri Sensör

Proje 2: Sıcaklık ve Nem Dijital Seri Sensör
Proje 2: Sıcaklık ve Nem Dijital Seri Sensör
Proje 2: Sıcaklık ve Nem Dijital Seri Sensör
Proje 2: Sıcaklık ve Nem Dijital Seri Sensör
Proje 2: Sıcaklık ve Nem Dijital Seri Sensör
Proje 2: Sıcaklık ve Nem Dijital Seri Sensör
Proje 2: Sıcaklık ve Nem Dijital Seri Sensör
Proje 2: Sıcaklık ve Nem Dijital Seri Sensör

Elegoo Arduino Başlangıç Kitinden 3 erkek-dişi atlama teli alın ve yola çıkmaya hazırız!

Adım 1: Başlık pimleri size bakacak şekilde, DHT11 üzerindeki en sağdaki başlık pimini bir Arduino toprak ("GND") pimine bağlayın.

Adım 2: Orta başlık pinini Arduino 5V çıkış pinine bağlayın.

Adım 3: En soldaki başlık pinini Arduino Digital Pin 2'ye bağlayın

Adım 4: Son olarak, DHT kitaplığını okuyun ve bir çizim yazmayı deneyin! Oooor Arduino -> Örnekler içinde benimkini veya DHT test örneği taslağını kullanabilirsiniz!

Onu kurup çalıştırdığınızda, dışarı çıkın ve her şeyin sıcaklığını ve nemini ölçün!.. *Mükemmel* gönderme sıcaklığını bulmak için yılın farklı zamanlarında bir hayvanın nefesi, bir sera veya en sevdiğiniz tırmanma noktası gibi.

Adım 9: Analog Sensörler

Analog Sensörler!
Analog Sensörler!
Analog Sensörler!
Analog Sensörler!

Dijital sensörlere yapılan zorlu dalıştan sonra, analog sensörler bir esinti gibi görünebilir! Analog sinyaller 2. fotoğrafta görüldüğü gibi sürekli bir sinyaldir. Fiziksel dünyanın çoğu analogda bulunur (örneğin sıcaklık, yaş, basınç, vb.), ancak bilgisayarlar dijital* olduğundan, çoğu sensör dijital bir sinyal verir. Arduino kartları gibi bazı mikro denetleyiciler analog sinyalleri de okuyabilir**.

Çoğu analog sensör için sensöre güç veririz, ardından Analog Giriş pinlerini kullanarak analog sinyali okuruz. Bu test için, üzerine ışık tuttuğumuzda bir LED üzerindeki voltajı ölçmek için daha da basit bir kurulum kullanacağız.

*Bilgisayarlar bilgi depolamak ve iletmek için dijital sinyaller kullanır. Bunun nedeni, dijital sinyallerin algılanmasının daha kolay ve daha güvenilir olmasıdır, çünkü tek endişelenmemiz gereken bir sinyal alıp almamak değil, sinyalin kalitesi/doğruluğu hakkında endişelenmektir.

** Dijital bir cihazda bir analog sinyali okumak için, girişi cihazdaki bilinen bir voltajla karşılaştırarak ve ardından ne kadar sürdüğünü sayarak analog sinyale yaklaşan bir Analog-Dijital veya ADC dönüştürücü kullanmalıyız. giriş voltajına ulaşmak için sürer. Daha fazla bilgi için, bu yararlı bir sitedir.

Adım 10: Proje 3: Işık Sensörü Olarak LED

Proje 3: Işık Sensörü Olarak LED!
Proje 3: Işık Sensörü Olarak LED!
Proje 3: Işık Sensörü Olarak LED!
Proje 3: Işık Sensörü Olarak LED!

Bir LED (beyaz hariç herhangi bir renk), 100 Ohm'luk bir direnç ve 2 atlama kablosu alın. Oh, ve bir ekmek tahtası!

Adım 1: LED'i, uzun bacak sağ tarafta olacak şekilde devre tahtasına yerleştirin.

Adım 2: Arduino Analog Pin A0'dan bir jumper kablosu ve daha uzun LED bacağı bağlayın

Adım 3: Direnci daha kısa LED ayağı ile devre tahtası negatif güç rayı (mavi çizginin yanında) arasına bağlayın.

Adım 4: Arduino GND pinini breadboard üzerindeki negatif güç rayına bağlayın.

Adım 5: Analog Pin A0'da okuyan ve Seri Monitöre yazdıran bir çizim yazın

İşte başlamanız için örnek bir kod.

Adım 11: Verileri Görselleştirme: Arduino IDE

Verileri Görselleştirme: Arduino IDE!
Verileri Görselleştirme: Arduino IDE!
Verileri Görselleştirme: Arduino IDE!
Verileri Görselleştirme: Arduino IDE!

Arduino IDE, verileri görselleştirmek için yerleşik araçlarla birlikte gelir. Sensör değerlerini yazdırmamıza izin veren Seri Monitörün temellerini zaten araştırdık. Verilerinizi kaydetmek ve analiz etmek istiyorsanız, çıktıyı doğrudan Seri Monitörden kopyalayın ve bir metin düzenleyiciye, elektronik tabloya veya başka bir veri analiz aracına yapıştırın.

Arduino programında verilerimizi görmek için kullanabileceğimiz ikinci araç, Seri Monitörün görsel bir versiyonu (aka grafik) olan Seri Plotter'dır. Seri Çiziciyi kullanmak için, Araçlar Seri Çizici'ye gidin. Fotoğraf 2'deki grafik, Proje 3'ten bir ışık sensörü olarak LED'in çıktısıdır!*

Çizim otomatik olarak ölçeklenecek ve sensörleriniz için Serial.println() kullandığınız sürece, tüm sensörlerinizi farklı renklerde yazdıracaktır. Yaşasın! Bu kadar!

*Sonuna bakarsanız, muhtemelen tepe ışıklarımızdaki Alternatif Akım ("AC") nedeniyle süper ilginç bir dalga paterni var!

Adım 12: Verileri Görselleştirme: Excel! Bölüm 1

Verileri Görselleştirme: Excel! Bölüm 1
Verileri Görselleştirme: Excel! Bölüm 1
Verileri Görselleştirme: Excel! Bölüm 1
Verileri Görselleştirme: Excel! Bölüm 1
Verileri Görselleştirme: Excel! Bölüm 1
Verileri Görselleştirme: Excel! Bölüm 1
Verileri Görselleştirme: Excel! Bölüm 1
Verileri Görselleştirme: Excel! Bölüm 1

Daha ciddi veri analizi için, buradan indirebileceğiniz Data Streamer* adlı çok havalı (ve ücretsiz!) bir Excel eklentisi vardır.

Bu eklenti seri bağlantı noktasından okur, bu nedenle verileri doğrudan Excel'e almak için verileri seriye yazdırmak için tam olarak aynı kodlama tekniğini kullanabiliriz. Heck evet!!

Veri Aktarıcı Eklentisi nasıl kullanılır:

1. Yükledikten sonra (veya O365'iniz varsa), Excel'de Veri Aktarıcı sekmesine (en sağda) tıklayın.

2. Arduino'nuzu takın ve "Cihazı Bağla"ya tıklayın, ardından açılır menüden Arduino'yu seçin.(Foto 1)

3. Veri toplamaya başlamak için "Verileri Başlat"a tıklayın! (Fotoğraf 2) Açılan üç yeni sayfa göreceksiniz: "Veri Girişi", "Veri Çıkışı" ve "Ayarlar".

Canlı veriler, Veri Girişi sayfasında yazdırılır. (Fotoğraf 3) Her satır, son satırda en yeni değerin yazdırıldığı bir sensör okumasına karşılık gelir.

Varsayılan olarak yalnızca 15 satır veri alıyoruz, ancak bunu "Ayarlar"a giderek değiştirebilirsiniz. 500 satıra kadar toplayabiliriz (sınır Excel bant genişliğinden kaynaklanmaktadır - arka planda çok şey oluyor!).

*Tam açıklama: Bu eğitimle bağlantılı olmasa da, bu eklentiyi geliştiren Microsoft Hacking STEM ekibiyle çalışıyorum.

Adım 13: Verileri Görselleştirme: Excel! Bölüm 2

Verileri Görselleştirme: Excel! Bölüm 2
Verileri Görselleştirme: Excel! Bölüm 2
Verileri Görselleştirme: Excel! Bölüm 2
Verileri Görselleştirme: Excel! Bölüm 2
Verileri Görselleştirme: Excel! Bölüm 2
Verileri Görselleştirme: Excel! Bölüm 2

4. Verilerinizin bir Arsasını ekleyin! Biraz veri analizi yapın! Dağılım grafikleri, Arduino Seri Plotter'da gördüğümüzle aynı olan sensör okumalarının zamanla nasıl değiştiğini gösterir.

Bir Dağılım Grafiği eklemek için:

Ekle -> Grafikler -> Dağılım'a gidin. Arsa açıldığında, üzerine sağ tıklayın ve "Veri Seç" i ve ardından Ekle'yi seçin. Verilerimizin x ekseninde "zaman"* ile y ekseninde görüntülenmesini istiyoruz. Bunu yapmak için, y ekseninin yanındaki oka tıklayın, Veri Girişi sayfasına gidin ve gelen tüm sensör verilerini seçin (Foto 2).

Excel'de de hesaplamalar ve karşılaştırmalar yapabiliriz! Bir formül yazmak için boş bir hücreye tıklayın ve eşittir işareti ("="), ardından yapmak istediğiniz hesaplamayı yazın. Ortalama, maksimum ve minimum gibi birçok yerleşik komut vardır.

Bir komutu kullanmak için eşittir işaretini, komut adını ve açık bir parantez yazın, ardından analiz ettiğiniz verileri seçin ve parantezleri kapatın (Foto 3)

5. Birden fazla veri sütunu göndermek için (AKA birden fazla sensör), değerleri aynı satıra virgülle ayırarak, son boş yeni satırla aşağıdaki gibi yazdırın:

Serial.print(sensorReading1);

Seri.print(", "); Serial.print(sensorReading2); Seri.print(", "); Seri.println();

*Gerçek zamanın x ekseninde olmasını istiyorsanız, Dağılım Grafiğinizdeki x ekseni değerleri için Veri Girişi sayfasındaki A Sütununda zaman damgasını seçin. Her iki durumda da, zaman içinde değiştikçe verilerimizi göreceğiz.

Adım 14: Devam Edin ve Her Şeyi Ölçün!

İlerleyin ve Her Şeyi Ölçün !!
İlerleyin ve Her Şeyi Ölçün !!
İlerleyin ve Her Şeyi Ölçün !!
İlerleyin ve Her Şeyi Ölçün !!
İlerleyin ve Her Şeyi Ölçün !!
İlerleyin ve Her Şeyi Ölçün !!

Pekala millet, hepsi bu! Dışarı ve yukarı doğru gitme zamanı! Bu büyük, güzel dünyada sorularınızı, meraklarınızı ve favori gizemlerinizi çözmek için sensörleri, Arduino kodlamasını ve veri analizini keşfetmeye başlamak için bunu bir temel olarak kullanın.

Unutmayın: Yol boyunca size yardımcı olacak birçok insan var, bu yüzden bir sorunuz varsa lütfen yorum bırakın!

Biraz daha fikre mi ihtiyacınız var? Giyilebilir bir durum değiştirme anahtarı, güneş enerjisiyle çalışan bir uzaktan sıcaklık sensörü ve internete bağlı bir endüstriyel tartı nasıl yapılır!

Bu öğreticiyi beğendiniz ve daha fazlasını görmek mi istiyorsunuz? Projelerimizi Patreon'da destekleyin!:NS

Önerilen: