Zum Inhalt springen

#18 Smart House-Projekt mit PicoBricks

10 Nov 2023
#18 Smart House Project With PicoBricks

Arbeitsplätze, Fabriken, Wohnungen und sogar Tierheime … Es gibt verschiedene elektronische Systeme, mit denen wir unsere Wohnräume vor Eindringlingen schützen können. Diese Systeme werden als Heim- und Arbeitsplatzsicherheitssysteme hergestellt und vermarktet. Es gibt Systeme, bei denen die von Überwachungskameras erzeugten Bilder verarbeitet und interpretiert werden, sowie Sicherheitssysteme, die mit Sensoren den menschlichen Körper und seine Bewegungen erfassen und Maßnahmen ergreifen. Sicherheitssysteme sind wie eine Art Wecker aufgebaut und geben akustische und visuelle Warnungen aus, wenn in der angegebenen Zone eine nicht identifizierte Aktivität festgestellt wird. Es benachrichtigt das Unternehmen oder den Hausbesitzer und kann auch automatische Benachrichtigungen an die Sicherheitsunternehmen senden.

 Bei Gaslecks, Bränden usw. werden Gassensoren in Wohnungen und am Arbeitsplatz eingesetzt, um Vergiftungen vorzubeugen. In einer Problemsituation werden die in der Umgebung lebenden Menschen durch einen lautstarken Alarm alarmiert.

Wir bereiten ein Modell-Smart-Home-Projekt mit PicoBricks unter Verwendung des Gassensors HC-SR501 und MQ-2 vor. Dieser Sensor HC-SR501 wird auch als PIR-Sensor bezeichnet. Passive Infrarot-Sensoren (PIR) nutzen ein Paar pyroelektrischer Sensoren, um Wärmeenergie in der Umgebung zu erfassen. Diese beiden Sensoren sitzen nebeneinander und wenn sich die Signaldifferenz zwischen den beiden Sensoren ändert (z. B. wenn eine Person den Raum betritt), wird der Sensor aktiviert.

Details und Algorithmus

Wenn der PIR-Sensor HC-SR501 eine Bewegung erkennt, gibt er 3 Sekunden lang eine digitale Ausgabe aus. Wir werden ein Picoboard verwenden, Summer und Tasten-LED-Modul im Projekt. Alle Teile müssen im Modell vorhanden sein.

Wenn das Programm startet, wird die Taste muss gedrückt werden, um die Alarmanlage zu aktivieren. Nach dem Drücken des Knopfes müssen wir 3 Sekunden warten, damit die Hand aus dem Modell herausgezogen werden kann. Nach Ablauf von 3 Sekunden leuchtet die rote LED auf und die Alarmanlage wird aktiviert. Wenn das Alarmsystem eine Bewegung erkennt, beginnt die rote LED zu blinken und der Summer ertönt den Alarm. Um es stummzuschalten, muss PicoBricks neu gestartet werden.

Der MQ-2-Sensor ist immer eingeschaltet. Wenn ein giftiges Gas erkannt wird, benachrichtigt es Sie mit einem Summer und einer blinkenden roten LED.

Komponenten

1X PicoBricks
1X HC-SR501 PIR-Sensor
1X MQ-2 Gassensor
1X Mini-Steckbrett
Überbrückungskabel
Einfache Verbindungskabel

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.

Bauphasen des Projekts

Um das Projekt durchzuführen, müssen Sie einen Karton in ein Modellhaus verwandeln. Sie benötigen eine Schere, Bleistifte, Klebeband, Kleber und ein Universalmesser. Zeichnen Sie mit einem Bleistift Fenster und Türen auf den Kasten. Schneiden Sie den Türabschnitt mit einem Universalmesser ab.

Für die Herstellung des Dachteils können Sie einen anderen Karton verwenden.

Befestigen Sie doppelseitiges Schaumstoffband unter den PicoBricks-Teilen.

Platzieren Sie PicoBricks-Stücke im Modellhaus. Positionieren Sie den PIR-Sensor so, dass Sie die Tür direkt von innen sehen können. Befestigen Sie das Tastenmodul von innen knapp über der Tür.

Wenn Sie das Batteriegehäuse an Picoboard anschließen und einschalten, beginnt der Code zu laufen. 3 Sekunden nach dem Drücken der Taste wird das Alarmsystem aktiviert und die rote LED leuchtet auf. Sobald Sie Ihre Hand in die Tür stecken, ertönt der Summer.

 

smart house project with rasperry pi

Wenn Sie das Feuerzeuggas im Haus aufbewahren, wird die Alarmanlage voraussichtlich erneut aktiviert.

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

vom Maschinenimport Pin, PWM
aus utime import schlaf
# Bibliotheken definieren
PIR = Pin(14, Pin.IN)
MQ2 = Pin(1, Pin.IN)
Summer = PWM(Pin(20, Pin.OUT))
redLed = Pin(7, Pin.OUT)
button = Pin(10, Pin.IN, Pin.PULL_DOWN)
# Ausgangs- und Eingangspins definieren
aktiviert = 0
Gas = 0

während True:
    wenn button.value() == 1:
        aktiviert = 1
        Gas = 0
        schlafen(3)
        redLed.value(1)
        Buzzer.duty_u16(0)

    wenn MQ2.value() == 1:
        Gas = 1

    wenn aktiviert == 1:
        wenn PIR.value() == 1:
            Buzzer.duty_u16(6000)
            Buzzer.freq(440)
            Schlaf(0,2)
            Buzzer.freq(330)
            Schlaf(0.1)
            Buzzer.freq(494)
            Schlaf (0,15)
            Buzzer.freq(523)
            Schlaf(0,3)

    wenn Gas == 1:
        Buzzer.duty_u16(6000)
        Buzzer.freq(330)
        Schlaf(0,5)
        redLed.value(1)
        Buzzer.freq(523)
        Schlaf(0,5)
        redLed.value(0)
        # LED leuchtet und der Summer ertönt, wenn PIR eine Bewegung erkennt oder MQ2 giftiges Gas erkennt
,

Arduino C-Codes der PicoBricks

 


void actived (){
  digitalWrite(7,1);
  while(!(digitalRead(14) == 1))
  {
    _Schleife();
  }
  motion_detected();
}
void motion_detected (){
  while(1) {
      // Summereinstellungen
      Ton(20.262,0,25*1000);
      Verzögerung (0,25 * 1000);
      Ton (20.330,0,25 * 1000);
      Verzögerung (0,25 * 1000);
      Ton(20.262,0,25*1000);
      Verzögerung (0,25 * 1000);
      Ton(20.349,0,25*1000);
      Verzögerung (0,25 * 1000);
// Der Summer ertönt, wenn der PIR eine Bewegung erkennt
      _Schleife();
  }
}
void _delay(float seconds) {
  long endTime = millis() + Sekunden * 1000;
  while(millis() < endTime) _loop();
}
void _loop() {
}
void loop() {
  _Schleife();
}
void setup() {
  pinMode(10,INPUT);
  pinMode(1,INPUT);
  pinMode(20,OUTPUT);
  pinMode(7,OUTPUT);
  pinMode(14,INPUT);
  // Eingabe- und Ausgabepins definieren
  while(1) {
      if(digitalRead(10) == 1){
          _delay(3);
          actived();
      }
      if(digitalRead(1) == 1){
          while(!(digitalRead(10) == 1))
          {
            _Schleife();
            Ton (20.349,0,5 * 1000);
            Verzögerung (0,5 * 1000);
            digitalWrite(7,1);
            _delay(0.5);
            Ton(20.392,0,5*1000);
            Verzögerung (0,5 * 1000);
            digitalWrite(7,0);
            _delay(0.5);
          }
      }
      _Schleife();
  }
}
GitHub-Projektseite
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