İçeriğe Geç

#9 PicoBricks ile Çalar Saat Projesi

21 Nov 2023
#9 Alarm Clock Project With PicoBricks

 Küresel ısınma dünyamızın iklimini her geçen gün daha da kötü etkiliyor. Ülkeler küresel ısınmanın etkilerini azaltmak için birçok önlem almakta ve anlaşmalara imza atmaktadır. Yenilenebilir enerji kaynaklarının kullanımı ve enerjinin verimli kullanılması fabrikalardan odalarımıza kadar her yerde dikkat edilmesi gereken bir konudur. Şehirlerde yol ve park aydınlatmalarının insan hatası nedeniyle açık tutulması, yüksek enerji tüketen aydınlatma araçlarının kullanılması gibi birçok neden enerji verimliliğini düşürmektedir. Ortamın ışık, sıcaklık ve nem değerlerini ölçerek, yalnızca ihtiyaç duyulduğunda ve doğru miktarda kullanılmasını sağlamak amacıyla birçok elektronik ve dijital sistem mühendisler tarafından geliştirilip programlanmaktadır.

Bu projemizde Picobricks'teki ışık sensörünü kullanarak gün ışığına göre ayarlanan zamanlayıcı alarm oluşturacağız.

Ayrıntılar ve Algoritma

Bu projemizde basit bir alarm uygulaması yapacağız. Tasarlayacağımız alarm sistemi sabahları otomatik olarak ses verecek şekilde tasarlanmıştır. Bunun için kullanacağımız LDR Projedeki sensör.Geceleri, OLED ekran kullanıcıya bir iyi geceler mesajı görüntüleyecek, sabahları bir alarm çalacaktır. zil Ses duyulduğunda ekranda bir günaydın mesajı görüntülenecek ve RGB LED'i ışıklı bildirim için beyaz renkte yanacaktır. Kullanıcının tuşuna basması gerekecek düğme Alarmı durdurmak için Picobricks'e basın. Alarm durana kadar devam eden bu işlemlerden sonra butona basıldığında buzzer ve RGB LED kapanacak ve OLED ekranda iyi günler mesajı görüntülenecektir.

Bileşenler

1X PicoBrick

Bağlantı şeması

Picobricks modüllerini kablolama olmadan kodlayabilir ve çalıştırabilirsiniz. Modülleri panodan ayırarak kullanacaksanız modül bağlantılarını grove kablolarla yapmalısınız.

PicoBricks'in MicroBlock Kodları

Mikrobloklar Çalıştır sekmesine görseli sürükleyerek veya butonuna tıklayarak projenin Mikroblok kodlarına ulaşabilirsiniz.

 


Mikroblok Çalıştırma Sekmesi

PicoBricks'in MicroPython Kodları

 


Pico'daki donanıma erişmek için makine içe aktarma Pininden,I2C,ADC,PWM #
picobricks'ten importSSD1306_I2C #OLED Ekran Kitaplığı
kullanım süresini içe aktar
picobricks importWS2812 #ws8212 kütüphanesinden

#OLED Ekran Ayarları
GENİŞLİK=128YÜKSEK=64

sda=machine.Pin(4)
scl=machine.Pin(5)
#dijital pin 4 ve 5'iOLED İletişimi için ÇIKIŞ olarak başlat

i2c=machine.I2C(0,sda=sda, scl=scl, freq=1000000)
neo =WS2812(pin_num=6, num_leds=1, parlaklık=0,3)#dijital pin 6'yı NeoPixel için bir ÇIKIŞ olarak başlat

oled =SSD1306_I2C(128,64, i2c)
ldr =ADC(Pin(27))#dijital pin 6'yı NeoPixel için bir ÇIKIŞ olarak başlat
düğme =Pin(10,Pin.IN,Pin.PULL_DOWN)#dijital pin 10'u düğme için bir INPUT olarak başlat
sesli uyarı =PWM(Pin(20, Pin.OUT))#dijital pin 20'yi sesli uyarı için bir ÇIKIŞ olarak başlat
buzzer.freq(1000)SİYAH=(0,0,0)BEYAZ=(255,255,255)
#RGB siyah beyaz renk kodu
oled.fill(0)
oled.show()

neo.pixels_fill(SİYAH)
neo.pixels_show()if ldr.read_u16()<4000:
    uyanma = Doğru
başka:
    uyanma = Yanlış

while Doğru:while up==Yanlış:
        oled.fill(0)
        oled.show()
        oled.text("İyi geceler",25,32)
        oled.show()
        #OLED'de göster ve "İyi geceler" yaz
        utime.sleep(1)if ldr.read_u16()40000:
        uyanma= Yanlış

    utime.sleep(1)
    #bir saniye bekle

PicoBricks'in Arduino C Kodları

 


#katmak
#ifdef __AVR__
#katmak
#endif
#PIN6'yı tanımla

#define NUMPIXELS1
Adafruit_NeoPixel pikselleri(NUMPIXELS,PIN,NEO_GRB+NEO_KHZ800);
#katmak
#include "ACROBOTIC_SSD1306.h"
int butonu;voidsetup(){// bir kez çalıştırmak için kurulum kodunuzu buraya koyun:
   Wire.begin();
  oled.init();
  oled.clearDisplay();

#iftanımlanmaktadır(__AVR_ATtiny85__)&&(F_CPU==16000000)clock_prescale_set(clock_div_1);
#endif
  pinMode(10,INPUT);pinMode(27,INPUT);pinMode(20,OUTPUT);

  piksel.begin();
  piksel.setPixelColor(0, piksel.Color(0,0,0));
  Pixels.show();}voidloop(){// tekrar tekrar çalışacak şekilde ana kodunuzu buraya koyun:
  oled.setTextXY(4,3);
    oled.putString("İyi geceler");if(analogRead(27)<200){while(!(button ==1)){

        düğme=digitalRead(10);

        oled.setTextXY(4,2);
        oled.putString("Günaydın");
        piksel.setPixelColor(0, piksel.Color(255,255,255));
        piksel.show();tone(20,494);}
        oled.clearDisplay();
        oled.setTextXY(4,1);
        oled.putString("İyi günler");noTone(20);
        piksel.setPixelColor(0, piksel.Color(0,0,0));
        piksel.show();delay(10000);}}

GitHub Sayfası
Önceki Gönderi
Sıradaki Gönderi

Abone olduğun için teşekkürler!

Bu e-posta kaydedildi!

Görünümü satın alın
Seçenekleri Seçin

Seçeneği Düzenle

Stok Bildirimi

Karşılaştır

Ürün Stok KoduDeğerlendirmeAçıklama Kategori Uygunluk Ürün Tipi Diğer Detaylar
this is just a warning
Giriş Yap
Alışveriş Sepeti
0 Ürünler
Same Day Shipping No Extra Costs
Easy Returns Guarantee Return with Ease
Secure Checkout Secure Payment