İçindekiler:
- Gereçler
- 1. Adım: Hava Durumu Verileri
- Adım 2: RPi'yi Ayarlama ve Kodu Yazma
- 3. Adım: Hava Durumu API'sini Yapılandırma
- Adım 4: Özel PCB
Video: Dijital RPi LED Termometre: 6 Adım (Resimli)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Raspbian OS Raspberry Pi Zero W, LED şerit, OLED Ekran ve özel bir PCB ile bu Dijital LED Termometreyi nasıl yaptığımı öğrenin.
Bir şehir listesini otomatik olarak düşünür ve OLED ekranında ve LED'lerde sıcaklığı görüntüler. Ancak, yan taraftaki düğmelerle görüntülenecek şehri manuel olarak da seçebilirsiniz. Bunun da ötesinde, birkaç dakika boyunca etkin olmadığında LED'leri ve OLED'i kapatacak ve önemli bir ışık değişikliği tespit ederse (LDR tarafından kontrol edilir) tekrar açılacaktır.
Gereçler
- Raspbian OS ile bir Raspberry Pi Zero W ve SD kart
- Waveshare'den 1.5 İnç OLED Modülü
- Raspberry Pi için 5V 2.4A Güç Kaynağı
- 5m WS2812B LED Şerit, 30 LED/m
- Vidalar, pullar, cıvatalar ve ayırıcılar.
- Düğmeler, anahtar, ldr, pin başlıkları ve daha fazlasını içeren bir Özel PCB
- Havya ve lehim
- Sıcak tutkal
- Ahşap tutkalı
- 4mm ve 6mm kontrplak
- 3 mm beyaz akrilik
1. Adım: Hava Durumu Verileri
Python'da JSON hava durumu verilerini okuma kodu için StuffWithKirby'ye teşekkür ederiz.
Hava durumu verilerini, birçok ülkedeki birçok büyük şehirden hava durumu verileri sağladıkları OpenWeatherMap.org'dan ücretsiz topluyorum.
1. OpenWeatherMap.org'da ÜCRETSİZ bir hesap oluşturarak başlayın.
2. Daha sonra kullanmak üzere api-anahtarınızı kopyalayın.
3. Şimdi city.list.json.gz dosyasını indirin, sıkıştırmasını açın ve açın ve görüntülenmesini istediğiniz şehirleri arayın ve daha sonra kullanmak için şehir kimliklerini kopyalayın.
Adım 2: RPi'yi Ayarlama ve Kodu Yazma
Önce OLED'i Pi'ye bağladım ve burada üretici tarafından anlatıldığı gibi OLED için gerekli kütüphaneleri kurdum.
RPi'nin internete bağlı olduğundan emin olun
1. I2C ve SPI işlevini, Arabirim Seçenekleri altında raspi-config içinde etkinleştirin. Çık ve yeniden başlat.
2. Güncellemek için bunu çalıştırın:
sudo apt-get güncellemesi
3. Gerekli kitaplıkları kurmak için aşağıdaki komutları çalıştırın:
sudo apt-get install python-dev
sudo apt-get kurulumu python-smbus sudo apt-get kurulumu python-serial sudo apt-get kurulumu python-görüntüleme
4. Yapılandırma dosyasını açmak için aşağıdaki komutu çalıştırın:
sudo nano /etc/modüller
Aşağıdaki iki satırın yapılandırma dosyasında olduğundan emin olun, ardından çıkın ve yeniden başlatın:
i2c-bcm2708
i2c-dev
5. Şimdi GitHub depomu klonlamak için bunu çalıştırın:
git klon https:// /github.com/Anders644PI/1.5inch-OLED-with-RPi.git
6. Yeni klasöre gidin ve RPi_GPIO-0_6_5.zip dosyasını açın:
RPi_GPIO-0_6_5.zip dosyasını açın
Kitaplığı yüklemek için bunu çalıştırın:
cd RPi_GPIO-0_6_5
sudo python setup.py kurulumu
7. Yazarak ana klasöre geri dönün:
cd /home/pi/1.5 inç-RPi'li OLED/
Veya
cd..
Sonra bazılarını spidev-3_2.zip ile yapın.
8. Ardından wirePi.zip dosyasını açın:
kabloları aç
cd kablolamaPi
Ve şu komutları çalıştırın:
chmod 777 yapı
./yapı
Kurulumu şununla kontrol edin:
gpio –v
9. Ana klasöre geri dönün ve bcm2835-1_45.zip dosyasını açın
bcm2835-1_45.zip dosyasını açın
cd bcm2835-1_45
10. Ardından kitaplığı kurmak için bunu çalıştırın:
./yapılandır
sudo yap kontrol et sudo make install yap
11. Tekrar /home/pi/1.5inch-OLED-with-RPi/ sayfasına dönün ve OLED'i test etmek için bunu çalıştırın:
cd /Demo_Code/Python/
sudo python ana.py
Ardından, bu kılavuzu izleyerek WS2812B LED şeridi için kitaplıkları da kurmak zorunda kaldım.
Bundan sonra, sadece baştan sona birkaç ay süren kodu yazmak, üzerinde çalışmak ve kapatmak kaldı. Kodum GitHub'ımda burada bulunabilir.
3. Adım: Hava Durumu API'sini Yapılandırma
1. LED_Thermometer_Code_and_OLED_driver içine Cd:
cd LED_Thermometer_Code_and_OLED_driver
2. Ardından Official_Digital_LED_Thermometer_v1-0.py dosyasını açın:
nano Official_Digital_LED_Thermometer_v1-0.py
Ardından aşağı kaydırın ve yukarıdaki resimde gösterildiği gibi openweathermap.org'dan api anahtarınıza api anahtarını düzenleyin. Ayrıca şehir kimliklerini ve şehir adlarını istediğiniz konumlara değiştirin.
Adım 4: Özel PCB
Raspberry Pi Yarışması 2020'de İkincilik Ödülü
Önerilen:
Akıllı Telefonu Temassız Termometre / Taşınabilir Termometre Olarak Kullanın: 8 Adım (Resimlerle)
Akıllı Telefonu Temassız Termometre / Taşınabilir Termometre Olarak Kullanın: Vücut ısısını termo tabanca gibi temassız / temassız olarak ölçme. Bu projeyi oluşturdum çünkü Thermo Gun artık çok pahalı, bu yüzden DIY yapmak için alternatif bulmalıyım. Ve amaç düşük bütçeli versiyon ile yapmaktır.SuppliesMLX90614Ardu
Arduino Tabanlı Dijital Termometre: 3 Adım
Arduino Tabanlı Dijital Termometre: Bu projede, oda sıcaklığını analiz etmek için kullanılabilecek Arduino tabanlı bir dijital termometre tasarlanmıştır. Termometre genellikle sıcaklık ölçüm cihazı olarak kullanılmaktadır. Ölçmek için kullanılabilecek çeşitli ilkeler vardır
Arduino Tabanlı Temassız Kızılötesi Termometre - Arduino Kullanan IR Tabanlı Termometre: 4 Adım
Arduino Tabanlı Temassız Kızılötesi Termometre | Arduino Kullanan IR Tabanlı Termometre: Merhaba arkadaşlar, bu talimatta arduino kullanarak temassız bir Termometre yapacağız. Bazen sıvının/katının sıcaklığı çok yüksek veya çok düşük olduğundan, onunla temas kurmak ve okumak zordur. o sahnede sıcaklık
Sıfırdan Arduino - Dijital Termometre: 7 Adım (Resimli)
Sıfırdan Arduino - Dijital Termometre: Arduinos ile projeler yapmayı çok sevdim, ancak parça başına 30 dolardan projeleriniz pahalı olabilir. Bu yüzden size sıfırdan kendi Arduino'nuzu nasıl yapabileceğinizi ve bunu yaparken paradan nasıl tasarruf edebileceğinizi göstermek istiyorum. Yaklaşık 8 $ karşılığında kendi Arduino'nuzu yapın. Bu talimat için
Çok Fonksiyonlu Dijital Termometre: 5 Adım (Resimli)
Çok İşlevli Dijital Termometre: Bu talimat, size bir termometre, kronograf (sayım zamanlayıcısı), geri sayım zamanlayıcısı ve ışık ekranı ile çok işlevli bir platformun nasıl oluşturulacağını gösterecektir. Ayrıca, diğer analog sensörler veya kullanabileceğiniz diğer işlevler için bir platform olması amaçlanmıştır