Zum Inhalt springen

#9 Weckerprojekt mit PicoBricks

21 Nov 2023
#9 Alarm Clock Project With PicoBricks

 Die globale Erwärmung beeinflusst das Klima unserer Welt von Tag zu Tag schlimmer. Länder treffen zahlreiche Vorkehrungen und unterzeichnen Vereinbarungen, um die Auswirkungen der globalen Erwärmung zu verringern. Die Nutzung erneuerbarer Energiequellen und die effiziente Nutzung von Energie ist ein Thema, das überall Aufmerksamkeit erfordert, von der Fabrik bis zu unseren Räumen. Viele Gründe, wie z. B. das Einschalten der Straßen- und Parkbeleuchtung in Städten aufgrund menschlicher Fehler und der Einsatz energieintensiver Beleuchtungsgeräte, verringern die Energieeffizienz. Viele elektronische und digitale Systeme werden von Ingenieuren entwickelt und programmiert, um die Licht-, Temperatur- und Feuchtigkeitswerte der Umgebung zu messen und sicherzustellen, dass sie nur bei Bedarf und in der richtigen Menge verwendet werden.

In diesem Projekt erstellen wir einen Timer-Alarm, der sich mithilfe des Lichtsensors in Picobricks an das Tageslicht anpasst.

Details und Algorithmus

In diesem Projekt werden wir eine einfache Alarmanwendung erstellen. Das von uns entworfene Alarmsystem ist so konzipiert, dass es morgens automatisch ertönt. Dafür verwenden wir LDR Sensor im Projekt..Nachts, die OLED-Bildschirm zeigt dem Benutzer eine Gute-Nacht-Nachricht an, am Morgen ertönt ein Alarm mit einem Summer ertönt, eine Guten-Morgen-Nachricht wird auf dem Bildschirm angezeigt und die RGB-LED leuchtet zur Lichtbenachrichtigung weiß auf. Der Benutzer muss die Taste drücken Taste von Picobricks, um den Alarm zu stoppen. Nach diesen Vorgängen, die so lange andauern, bis der Alarm gestoppt wird, erlöschen beim Drücken der Taste der Summer und die RGB-LED und auf dem OLED-Bildschirm wird eine Gute-Tag-Meldung angezeigt.

Komponenten

1X PicoBricks

Schaltplan

Sie können die Module von Picobricks ohne Verkabelung programmieren und betreiben. Wenn Sie die Module getrennt von der Platine verwenden möchten, sollten Sie die Modulverbindungen mit Grove-Kabeln herstellen.

MicroBlocks-Codes der PicoBricks

Sie können auf die Microblocks-Codes des Projekts zugreifen, indem Sie das Bild auf die Registerkarte „Microblocks Run“ ziehen oder auf die Schaltfläche klicken.

 


Registerkarte „Mikroblöcke ausführen“.

MicroPython-Codes der PicoBricks

 


Von der Maschine importieren Sie Pin,I2C,ADC,PWM #um auf die Hardware auf dem Pico zuzugreifen
von picobricks importSSD1306_I2C #OLED Screen Library
Zeit importieren
aus der picobricks importWS2812 #ws8212-Bibliothek

#OLED-Bildschirmeinstellungen
BREITE=128HÖHE=64

sda=machine.Pin(4)
scl=machine.Pin(5)
#initialisieren Sie die digitalen Pins 4 und 5 als AUSGANG für die OLED-Kommunikation

i2c=machine.I2C(0,sda=sda, scl=scl, freq=1000000)
neo =WS2812(pin_num=6, num_leds=1, helligkeit=0,3)#digitalen Pin 6 als AUSGANG für NeoPixel initialisieren

oled =SSD1306_I2C(128,64, i2c)
ldr =ADC(Pin(27))#digitalen Pin 6 als AUSGANG für NeoPixel initialisieren
button =Pin(10,Pin.IN,Pin.PULL_DOWN)#digitalen Pin 10 als EINGANG für die Schaltfläche initialisieren
Summer =PWM(Pin(20, Pin.OUT))#digitalen Pin 20 als AUSGANG für den Summer initialisieren
Buzzer.freq(1000)BLACK=(0,0,0)WHITE=(255,255,255)
#RGB Schwarz-Weiß-Farbcode
oled.fill(0)
oled.show()

neo.pixels_fill(SCHWARZ)
neo.pixels_show()if ldr.read_u16()<4000:
    wakeup = True
anders:
    wakeup = Falsch

while True:while wakeup==False:
        oled.fill(0)
        oled.show()
        oled.text("Gute Nacht",25,32)
        oled.show()
        #Auf OLED anzeigen und „Gute Nacht“ drucken
        utime.sleep(1)if ldr.read_u16()40000:
        wakeup= Falsch

    utime.sleep(1)
    #warte eine Sekunde

Arduino C-Codes der PicoBricks

 


#enthalten
#ifdef __AVR__
#enthalten
#endif
#PIN6 definieren

#define NUMPIXEL1
Adafruit_NeoPixel Pixel(NUMPIXELS,PIN,NEO_GRB+NEO_KHZ800);
#enthalten
#include „ACROBOTIC_SSD1306.h“
int button;voidsetup(){// Geben Sie Ihren Setup-Code hier ein, um ihn einmal auszuführen:
   Wire.begin();
  oled.init();
  oled.clearDisplay();

#ifdefined(__AVR_ATtiny85__)&&(F_CPU==16000000)clock_prescale_set(clock_div_1);
#endif
  pinMode(10,INPUT);pinMode(27,INPUT);pinMode(20,OUTPUT);

  pixels.begin();
  pixels.setPixelColor(0, pixels.Color(0,0,0));
  pixels.show();}voidloop(){// Fügen Sie hier Ihren Hauptcode ein, um ihn wiederholt auszuführen:
  oled.setTextXY(4,3);
    oled.putString("Gute Nacht");if(analogRead(27)<200){while(!(button ==1)){

        button=digitalRead(10);

        oled.setTextXY(4,2);
        oled.putString("Guten Morgen");
        pixels.setPixelColor(0, pixels.Color(255,255,255));
        pixels.show();tone(20,494);}
        oled.clearDisplay();
        oled.setTextXY(4,1);
        oled.putString("Einen schönen Tag noch");noTone(20);
        pixels.setPixelColor(0, pixels.Color(0,0,0));
        pixels.show();delay(10000);}}

GitHub-Seite
Vorheriger Beitrag
Nächster Beitrag

Danke fürs Abonnieren!

Diese E-Mail wurde registriert!

Shoppen Sie den Look
Wählen Sie Optionen

Bearbeitungsoption

Benachrichtigung wieder auf Lager

Vergleichen

Produkt ArtikelnummerBewertungBeschreibung Sammlung Verfügbarkeit Produktart Andere Details
this is just a warning
Anmeldung
Einkaufswagen
0 Artikel
Same Day Shipping No Extra Costs
Easy Returns Guarantee Return with Ease
Secure Checkout Secure Payment