Könnte mir jemand bei folgendem Projekt behilflich sein? Ich möchte gerne eine Sensormatte programmieren, die bei betreten der Matte einen Befehl auslöst. Sie soll als Einbruchsprävention dienen. Bei betreten der Matte ab 22 Uhr und einem Gewicht größer 50kg soll der Gartensprenger angehen und den potentiellen Einbrecher nassspritzen. Ich würde mich über Eure Hilfe freuen. Viele Grüße Philipp
Na klar! Das Tolle an der PC-Programmierung ist ja, dass es insbesondere nicht notwendig ist, die verwendete Hardware und Schnittstellen zur Ansteuerung zu spezifizieren. Hier mal ein Code für den Raspberry Pi. Die Logik wird durch Prolog spezifiziert, während Python-Code für die Hardware-Ansteuerung verantwortlich ist.
1 | from pyswip import Prolog |
2 | import RPi.GPIO as GPIO |
3 | import time |
4 | |
5 | # GPIO initialisieren
|
6 | GPIO.setmode(GPIO.BCM) # Verwenden des Broadcom-Numberings |
7 | GPIO.setup(15, GPIO.OUT) # GPIO-Pin 15 als Ausgang konfigurieren |
8 | |
9 | # Prolog-Initialisierung
|
10 | prolog = Prolog() |
11 | |
12 | # Prolog-Logik einbetten
|
13 | prolog.assertz("einbrecher_erkannt(Zeit, Gewicht) :- Zeit >= 22, Gewicht > 50") |
14 | prolog.assertz("aktion_sprenger_an(Zeit, Gewicht) :- einbrecher_erkannt(Zeit, Gewicht)") |
15 | |
16 | # Funktion zur Steuerung des Gartensprengers
|
17 | def schalte_gartensprenger_an(): |
18 | GPIO.output(15, GPIO.HIGH) # GPIO-Pin 15 aktivieren |
19 | print("Gartensprenger aktiviert!") |
20 | time.sleep(5) # Sprinkler für 5 Sekunden aktiv halten |
21 | GPIO.output(15, GPIO.LOW) # GPIO-Pin 15 deaktivieren |
22 | print("Gartensprenger deaktiviert!") |
23 | |
24 | # Funktion zur Überprüfung der Sensordaten
|
25 | def überprüfe_matte(zeit, gewicht): |
26 | abfrage = list(prolog.query(f"aktion_sprenger_an({zeit}, {gewicht})")) |
27 | if abfrage: |
28 | schalte_gartensprenger_an() |
29 | else: |
30 | print("Keine Aktion erforderlich.") |
31 | |
32 | # Beispiel: Simulation der Sensormatte
|
33 | try: |
34 | while True: |
35 | # Sensordaten simulieren (hier durch Benutzereingabe)
|
36 | aktuelle_zeit = int(input("Geben Sie die aktuelle Stunde ein (0-23): ")) |
37 | gemessenes_gewicht = float(input("Geben Sie das gemessene Gewicht ein (kg): ")) |
38 | |
39 | überprüfe_matte(aktuelle_zeit, gemessenes_gewicht) |
40 | time.sleep(1) # Wiederholung alle 1 Sekunde |
41 | except KeyboardInterrupt: |
42 | print("Programm beendet.") |
43 | finally: |
44 | GPIO.cleanup() # GPIO-Pins zurücksetzen |
Woher sollen wir wissen, ob und wie deine unbekannte Sesormatte programmierbar ist? So wie du fragst, hast du vermutlich noch nie etwas programmiert und auch noch keine Sensormatte in der Hand gehabt. Suche dir erst mal eine konkrete Sensormatte aus, die auf das gewünschte Gewicht reagiert. Dann schauen wir weiter. Die Sache mit dem Gartensprenger solltest du nochmal überdenken. Ich würde nicht den Garten sprengen wollen. Ein Rasensprinkler ginge schon eher, ist aber im Winter aus mehreren Gründen problematisch. Du kommst bestimmt selbst drauf, wenn du etwas länger darüber nachdenkst.
:
Bearbeitet durch User
Sherlock 🕵🏽♂️ schrieb: > Die Sache mit dem Gartensprenger solltest du nochmal überdenken. Ach, ein paar Gramm C2, ein Zünder, und schon hat sich das erledigt.
> eine konkrete Sensormatte Hier beispielsweise: https://www.conrad.de/de/p/pentatech-alarmtrittmatte-indexa-schwarz-95-db-33620-1175154.html Inklusive Alarmgeber, auch als Katzenklingel verwendbar
Christoph db1uq K. schrieb: > auch als Katzenklingel verwendbar Genau das wollte er ja gerade nicht, sondern ab 50 kg.
:
Bearbeitet durch User
Großkatzen wenn der Löwe zweimal klingelt Es gibt keine genauen Angaben zum Schalter, jedenfalls ist das rein digital, Löwe steht auf der Matte oder nicht.
Für die Programmierbarkeit wäre also eine analoge Sensormatte angesagt, also eine, die ein mit der Belastung korrelierbares Signal abgibt. (Welcher Einbrecher alledings stellt sich auf die Fußmatte, und macht nicht stattdessen die Terrassentür auf?)
Die Fußbodenmatte kann man sich sicherlich selbst bauen: Einfach eine Personenwaage auseinanderbauen.
Aber ist das dann programmierbar? Und in welcher Programmiersprache? Nutzt man Container, macht man das ganze webbasiert, und wenn man Teile des Codes in einer Cloud laufen lässt, Azure oder AWS? Das muss doch erst mal geklärt werden.
Schlachte doch einfach die Sensoren aus einer Personenwaage aus, kleb die unter einer Matte und schließ das ganze an GPIO eines Raspberry's an oder so - Dann kannst du deine Programmiersprache frei wählen (ob nun Python, C++, Java oder gar Javascript mittels Node.js wäre Wurscht).
Adrian schrieb: > Schlachte doch einfach die Sensoren aus einer Personenwaage aus, kleb > die unter einer Matte Wenn das mal so einfach wäre, und Wetterfest. > und schließ das ganze an GPIO eines Raspberry's an oder so Ziemlich naiv.
:
Bearbeitet durch User
Es gäbe auch noch die umweltfreundliche Version, ohne Strom oder Trinkwasserverschwendung. Nennt sich Furzkissen oder Quietscheente. Ich habe so eine Matte vor Jahrzehnten in einem Anfall geistiger Umnachtung bei Völkner mitbestellt. Ohne Alarmgeber oder Kabel, nur die Matte. Wenn ich sie wiederfinde, kann ich ja mal die Charakteristik aufnehmen.
Harald K. schrieb: > Sherlock 🕵🏽♂️ schrieb: >> Die Sache mit dem Gartensprenger solltest du nochmal überdenken. > > Ach, ein paar Gramm C2, ein Zünder, und schon hat sich das erledigt. Was hat Citroen damit zu tun? Ich würde Zeh4 nehmen.
Bei Wind fliegt dir die Matte davon bzw. baumelt lustig wie eine Fahne im Wind, solange das Kabel noch hält.
lustiges Feld zum experimentieren. Ein Blechstückchen an einen offenen Verstärkereingang und mal messen wie hoch der Brummpegel ansteigt wenn die Katze draufgeht :-)
Philipp schrieb: > Ich möchte gerne eine Sensormatte programmieren wenn du eine programmierbare Sensormatte findest, optimal nach Datenblatt programmmieren. Sonst muß sie wohl erst erfunden werden.
Christoph db1uq K. schrieb: > Inklusive Alarmgeber, auch als Katzenklingel verwendbar Welche Katze bringt schon 50 kg auf die Waage?
Rainer W. schrieb: > Christoph db1uq K. schrieb: >> Inklusive Alarmgeber, auch als Katzenklingel verwendbar > > Welche Katze bringt schon 50 kg auf die Waage? Tiger.
Eine Sensormatte ist genau das, was der Name verspricht, ein mattenförmiger Sensor. Ein Sensor ist per Definition erstmal nur ein Wandler einer nicht-elektrischen Größe (hier mechanischer Druck)in die Veränderung einer zunächst analogen elektische Größe, z.B. Widerstand, Kapazität oder Induktivität. Folgen aus diesen Änderungen wie Frequenzen, Strom, Spannung, PWM-Verhältnisse oder Schaltvorgänge sind schon sekundär und werden durch eine nachfolgene Elektronik realisiert. Das muss dann nur noch digitalisiert oder direkt ausgewertet werden ... an der Matte selbst wird dabei nichts programmiert.
:
Bearbeitet durch User
Sherlock 🕵🏽♂️ schrieb: > ie Sache mit dem Gartensprenger solltest du nochmal überdenken. Ich > würde nicht den Garten sprengen wollen. Ein Rasensprinkler ginge schon > eher, ist aber im Winter aus mehreren Gründen problematisch. Den Sprinkler braucht man erst nach der Sprengung, um das Feuer zu löschen. Aber wer hat schon einen überdachten Rasen? Jens B. schrieb: >> Ach, ein paar Gramm C2, ein Zünder, und schon hat sich das erledigt. > > Was hat Citroen damit zu tun? > Ich würde Zeh4 nehmen. Also wenn schon Zitrön, dann den Klassiker 2CV. F. schrieb: >> Welche Katze bringt schon 50 kg auf die Waage? > > Tiger. Die sind bei uns recht selten geworden. Aber klar, wenn doch mal einer vorbei kommt, ist es gut, die Gewissheit zu haben, dass er nassgespritzt wird.
Wägezellen mit HX711 unter die Fußmatte! Dann weiste auch sofort wie fett deine Besucher sind und kannst auch noch ein Nahrungsaufnahme ermitteln. Rein mit 85kg und raus mit 95 kg. Also hat der Delikwent dich um 10 kg erleichert.
Rolf M. schrieb: > Jens B. schrieb: >>> Ach, ein paar Gramm C2, ein Zünder, und schon hat sich das erledigt. >> >> Was hat Citroen damit zu tun? >> Ich würde Zeh4 nehmen. > > Also wenn schon Zitrön, dann den Klassiker 2CV. > Es ging eher um die Knete von Semtex.
Jens B. schrieb: > Rolf M. schrieb: > >> Jens B. schrieb: >>>> Ach, ein paar Gramm C2, ein Zünder, und schon hat sich das erledigt. >>> >>> Was hat Citroen damit zu tun? >>> Ich würde Zeh4 nehmen. >> >> Also wenn schon Zitrön, dann den Klassiker 2CV. >> > > Es ging eher um die Knete von Semtex. ähm, der bekannte Plastiksprengstoff heißt C4. Und Semtex ist ebenfalls ein Sprengstoff.
Daniel F. schrieb: > ähm, der bekannte Plastiksprengstoff heißt C4. C1 bis C3 gibt es aber auch, die haben nur ein abweichendes Mischungsverhältnis.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.