INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Erstes Projekt: Smarter Briefkasten. Was wird benötigt?
08.12.2020, 21:24 (Dieser Beitrag wurde zuletzt bearbeitet: 08.12.2020 21:26 von voumi.)
Beitrag #9
RE: Erstes Projekt: Smarter Briefkasten. Was wird benötigt?
Hallo Tommy
Vielen Dank für Deine Anregung. Ich gebe Dir insofern Recht, dass die Wahrscheinlichkeit relativ gross ist, dass etwas im Briefkasten deponiert worden ist, wenn eine Klappe bewegt worden ist. Falls ich aber beim Nachhausekommen einen Blick in den Briefkasten werfe, löse ich spätestens dann das Ereignis "Post" aus. Zudem müsste ich mir über das Resetten noch ein paar Gedanken machen. Daher habe ich mich für die Verwendung von entsprechenden Sensoren entschieden. Die Sensoren für das Brieffach geben mir einen Digitalwert zurück; Der Sensor im Paketfach einen Analogwert (Aber vielleicht ändere ich dies dann auch noch). Mit meiner Vorgehensweise erhoffe ich mir Umgang von der Wahrscheinlichkeit nehmen zu können. (Momentan bin ich jedenfalls sehr zuversichtlich, dass ich es schaffe. Zumal ich glaublich sehr nahe an meinem Ziel bin.)
Liebe Grüsse
voumi
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.12.2020, 21:26
Beitrag #10
RE: Erstes Projekt: Smarter Briefkasten. Was wird benötigt?
Hallo Dieter
Vielen Dank für Deine Anregungen. Ich gehe diesbezüglich nochmals über die Bücher.
Liebe Grüsse
voumi
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.12.2020, 21:35
Beitrag #11
RE: Erstes Projekt: Smarter Briefkasten. Was wird benötigt?
Ich verstehe nicht, was Dir IR-Sensoren, d.h. Sensoren, die auf Wärme reagieren, da bringen sollen.

Baue Dir eine LED in die Klappe ein, dann musst Du selbst nicht nachschauen Wink

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.12.2020, 07:49 (Dieser Beitrag wurde zuletzt bearbeitet: 09.12.2020 08:55 von voumi.)
Beitrag #12
RE: Erstes Projekt: Smarter Briefkasten. Was wird benötigt?
Hallo Tommy
Ob der IR-Näherungsschalter TCRT5000 die Distanz wirklich mittels Wärme misst, weiss ich nicht. Meine Tests haben aber ergeben, dass ich das von mir gewünschte Signal erhalte, sobald ich zum Beispiel eine Ansichtskarte darauf lege.
Links werden in Foren glaublich nicht so gerne gesehen. Aber wenn das Wort Garage in einem Link des Suchresultates auftaucht, ist man schon sehr nahe bei "meinem" Lieferanten. ;-)
Liebe Grüsse
voumi

[EDIT] Hier also der Link zum Produkt:
https://www.bastelgarage.ch/infrarot-sen...kout-modul
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.12.2020, 08:17
Beitrag #13
RE: Erstes Projekt: Smarter Briefkasten. Was wird benötigt?
(09.12.2020 07:49)voumi schrieb:  Links werden in Foren glaublich nicht so gerne gesehen.
ganz im Gegenteil: Links helfen ungemein, damit nicht jeder selbst suchen muss und sich dann alle aus der gleichen Basis unterhalten können. Also immer her damit Wink
Gruß Jan
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.12.2020, 11:47
Beitrag #14
RE: Erstes Projekt: Smarter Briefkasten. Was wird benötigt?
(09.12.2020 07:49)voumi schrieb:  Hallo Tommy
Ob der IR-Näherungsschalter TCRT5000 die Distanz wirklich mittels Wärme misst, weiss ich nicht.

Das ist eigentlich das Grundprinzip eines IR-(Infrarot = Wärme)Sensors.
Ich hege die Befürchtung, dass im Winter der Brief Außentemperatur hat und damit nicht erkannt wird. Genaues kann aber nur das praktische Experiment sagen.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.12.2020, 13:11
Beitrag #15
RE: Erstes Projekt: Smarter Briefkasten. Was wird benötigt?
So - also so, wie unten - sieht mein Sketch des "Senders" (momentan UNO, später NANO) nach der Überarbeitung aus. Ich hoffe, dass ich nun für alle Variablen etwas bessere Namen vergeben habe und insbesondere auch alle Variablen erwischt habe... Auch den Tipp mit dem SoftwareSerial habe ich beherzigt und die entsprechenden Anpassungen vorgenommen.

Was mir noch nicht ganz gelungen ist, ist das Verlinken der Bibliotheken. Ich vermute, dass ich diese Links lokal irgendwo noch finden werde... (Vor lauter Üben und Probieren weiss ich nicht mehr genau, was ich wo gemacht/gefunden habe. Das mit den Bibliotheken für mich nämlich noch ein Buch mit sieben Siegeln - also etwas, womit ich mich noch eingehender befassen muss.)

Nun funktioniert aktuell die Ansteuerung der beiden LEDs (CTRL 2 und CTRL 3 bzw. OUTPUT 6 und 7) nicht mehr bzw. nicht mehr richtig. Eigentlich sollte die LED CTRL 2 angehen, sobald entweder switchBrieffach oder switchKlappe 1 ist. Bei 0 soll die LED 2 wieder aus gehen. Momentan geht sie manchmal an und manchmal wieder aus. Zusätzlich soll die LED CTRL 3 blinken (momentan für mich ein Zeichen, dass der Sketch durchlaufen wird) - was sie auch manchmal tut. Leider kann ich bei beiden LEDs momentan noch nicht eingrenzen, warum diese sich so verhalten.

Aktuell habe ich ja lediglich alle "serial" auf "mySerial" geändert und sehe somit (verständlicher Weise) im "Monitor" nichts mehr. Müsste ich nun alle "Befehle" doppelt erfassen (mySerial und Serial) damit ich sehe, was passiert? Oder gibt es einfachere Möglichkeiten?

Eine weitere Baustelle sind noch die beiden Zahlenwerte (Temperatur/Feuchte), welche nach der Übermittlung durch die Sendeleitung die Kommawerte "verlieren". Diesbezüglich stehe ich momentan auch noch etwas auf dem Schlauch.

Code:
//  https://github.com/sparkfun/SparkFun_HTU21D_Breakout_Arduino_Library

int merkerPaketfach = 0; // Merker Paketfach für Belegtanzeige
int merkerBrieffach = 0; // Merker Brieffach für Belegtanzeige
int merkerNeueWerte = 0; // Merker für Veränderungsprüfung
int merkerAlteWerte = 1; // Merker für Veränderungsprüfung
long counterTX = 0; // Zähler für periodisches Senden
int counterBlinken = 0; // Zähler für Impulslänge

int switchBrieffach = 0; // Brieffach
int switchKlappe = 0; // Klappe
int switchBigDoor = 0; // grosse Türe
int switchSmallDoor = 0; // kleine Türe

int ledBelegtanzeigeIntern = 0; // Belegtanzeige (intern gesteuert)
int ledBelegtanzeigeExtern = 0; // Belegtanzeige (extern gesteuert)
int ledBelegtanzeigeKNX = 0; // Frei belegbare Anzeige (extern gesteuert. Soll blinken und leuchten können.)

const int PaketSensor = A0; // Distanzmesser Paketfach
// SDA = A4 HTU21D Arduino Nano, Briefkasten
// SCL = A5 HTU21D Arduino Nano, Briefkasten

char wertRX; // Abfrage vom Arduino MEGA

#include <SoftwareSerial.h> // Senden / Empfangen
#define rxPin 10
#define txPin 11
SoftwareSerial mySerial = SoftwareSerial(rxPin, txPin); // Einstellungen für neuen Port

//#include <Wire.h> // Wofür ist dieser Eintrag/diese Bibliothek?

#include <HTU21D.h>
HTU21D myHTU21D(HTU21D_RES_RH12_TEMP14);

void setup()
{

Serial.begin(9600);
pinMode(2, INPUT); // Digital-Output von den IR-Sensoren des Brieffachs
pinMode(3, INPUT); // Reed-Kontakt der Klappe
pinMode(4, INPUT); // Reed-Kontakt der gossen Türe
pinMode(5, INPUT); // Reed-Kontakt der kleinen Türe
pinMode(6, OUTPUT); // LED CTRL 3 (Remote vom MEGA), zZt. noch keine Belegung. Soll blinken und leuchten können
pinMode(7, OUTPUT); // LED CTRL 2 (Remote vom MEGA)
pinMode(8, OUTPUT); // LED CTRL 1 (Lokal)

pinMode(rxPin, INPUT); // Definition des Pins
pinMode(txPin, OUTPUT); // Definition des Pins
mySerial.begin(9600); // Einstellung der Datenrate für den SoftwareSerial port

// Analog-Eingänge vom Paketfach, Temperatur und Feuchte nicht vergessen

}

void loop()
{

//Auf Empfang horchen
//while(Serial.available() <=0);
wertRX=mySerial.read();

if(wertRX=='B')
{
ledBelegtanzeigeExtern=mySerial.parseInt();
ledBelegtanzeigeKNX=mySerial.parseInt();

digitalWrite(7,ledBelegtanzeigeExtern);

if (ledBelegtanzeigeKNX < 2){ //Led 3 ein oder aus, wenn nicht blinken.
digitalWrite(6,ledBelegtanzeigeKNX);  
}  
}
//Ende Empfang

// Blinken von LED 3  
if (ledBelegtanzeigeKNX == 2) { // Empfangener Wert vom Mega bzw. knx

if (counterBlinken > 20000) {
counterBlinken = 0;
}

if (counterBlinken < 10000) {
digitalWrite (6,HIGH);
}

if (counterBlinken > 10000) {
digitalWrite (6,LOW);
}

counterBlinken = counterBlinken + 1;

}
// Ende Blinken LED 3

// Abfrage zuhanden Veränderungsprüfung

if (digitalRead(2) == HIGH)
merkerNeueWerte = 1;

if (digitalRead(2) == LOW)
merkerNeueWerte = 0;

if (digitalRead(3) == HIGH)
merkerNeueWerte = merkerNeueWerte + 2;

if (digitalRead(3) == LOW)
merkerNeueWerte = merkerNeueWerte + 0;

if (digitalRead(4) == HIGH)
merkerNeueWerte = merkerNeueWerte + 4;

if (digitalRead(4) == LOW)
merkerNeueWerte = merkerNeueWerte + 0;

if (digitalRead(5) == HIGH)
merkerNeueWerte = merkerNeueWerte + 8;

if (digitalRead(5) == LOW)
merkerNeueWerte = merkerNeueWerte + 0;

int sensorVal1 = analogRead(PaketSensor);

if (sensorVal1 >= 250){ // Diesen Wert noch an Briefkasten anpassen
merkerNeueWerte = merkerNeueWerte + 0;
  }
else {
merkerNeueWerte = merkerNeueWerte + 32;
  }

if (counterTX > 1000000) {
merkerNeueWerte = merkerNeueWerte + 16;
counterTX = 0;  

// Ende Abfrage zur Veränderungsüberprüfung
  }

// Senden falls Veränderung festgestellt

if (merkerAlteWerte != merkerNeueWerte) {
  
delay(50);
mySerial.print("A,");

switchBrieffach = digitalRead(2); // Brieffach
if (switchBrieffach == HIGH) {
  mySerial.print(1);
  merkerBrieffach = 1;
  }
else  {
  mySerial.print(0);
  merkerBrieffach = 0;
  }
mySerial.print(",");


switchKlappe = digitalRead(3); // Klappe
if (switchKlappe == HIGH) {
  mySerial.print(1);
  merkerPaketfach = 1; // nur zu Testzwecken. Final wieder löschen, bzw. beim Paketfach einfügen
  }
else {
  mySerial.print(0);
  merkerPaketfach = 0; // nur zu Testzwecken. Final wieder löschen, bzw. beim Paketfach einfügen
  }
mySerial.print(",");


switchBigDoor = digitalRead(4); // Grosse Türe
if (switchBigDoor == HIGH) {
  mySerial.print(1);
  }
else {
  mySerial.print(0);
  }
mySerial.print(",");


switchSmallDoor = digitalRead(5); // Kleine Türe
if (switchSmallDoor == HIGH) {
  mySerial.print(1);
  }
else {
  mySerial.print(0);
  }
mySerial.print(",");

int sensorVal1 = analogRead(PaketSensor);
if (sensorVal1 >= 250){ // Diesen Wert noch an Briefkasten anpassen
  mySerial.print(1);
  }
else {
  mySerial.print(0);
  }
mySerial.print(",");

mySerial.print(myHTU21D.readTemperature());
mySerial.print(",");

mySerial.print(myHTU21D.readHumidity());
mySerial.print(",");

// Belegtanzeige (entweder Brief oder Paket)
if ((merkerBrieffach == 1)|| (merkerPaketfach == 1)){
  digitalWrite(8,HIGH);
  mySerial.print(1);
  }
else{
  digitalWrite(8,LOW);
  mySerial.print(0);
  }

mySerial.println();
// Ende Sendung

myHTU21D.softReset();
myHTU21D.setResolution(HTU21D_RES_RH12_TEMP14);
}

merkerAlteWerte = merkerNeueWerte; // Merker für Verähnderungsüberprüfung
counterTX = counterTX + 1; // Zähler für Intervall periodisches Senden

}

Betreffend meiner IR-Näherungssensoren hoffe ich, dass diese mit Licht bzw. Lichtreflektionen arbeiten und nicht, wie PIR, mit Wärme (Halbwissen meinerseits Wink). Diesbezüglich wird dann die Praxis Aufschluss geben.

Besten Dank für Eure unermüdliche Hilfe und Tipps.
Liebe Grüsse
voumi
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.12.2020, 13:22
Beitrag #16
RE: Erstes Projekt: Smarter Briefkasten. Was wird benötigt?
Deine Sensoren arbeiten mit Reflexion. Du solltest aber bedenken, das nicht alle Materialien das IR-Licht gleichmäßig reflektieren. Dunkles Meterial sehr schlecht, dagegen helle Briefumschläge etwas besser. Die tatsächliche Reichweite solltest du vorher testen.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  RFID keine Daten / wird nicht erkannt Wochenendprogrammierer 79 5.792 27.12.2020 19:20
Letzter Beitrag: Wochenendprogrammierer
  Projekt Modul für PC Renegade 8 1.797 26.12.2020 07:58
Letzter Beitrag: Fips
  LCD Display DEM16216 wird mit Beleuchtung heiß fanwander 5 1.027 07.12.2020 08:42
Letzter Beitrag: amithlon
  Seltsames Zackenmuster, wenn Poti nicht bewegt wird. . Guekard 9 1.934 26.11.2020 08:40
Letzter Beitrag: hotsystems
  Projekt Datalogging Heizung wonk 8 2.026 12.10.2020 15:36
Letzter Beitrag: Chopp
  UNO R3 Bord wird nicht mehr vom WIN10 Rechner als COM angezeigt wetskindiver 3 1.732 13.02.2020 18:56
Letzter Beitrag: Tommy56
  Homematic DIY-Projekt 8-fach Temperatursensor für Heizung (#DIY-B3) wiwo62 39 11.303 14.01.2020 21:46
Letzter Beitrag: wiwo62
  AVR im Projekt programmieren senseman 16 4.677 04.12.2019 23:00
Letzter Beitrag: senseman
  Arduino wird nicht erkannt. IchfindekeinenNamen 5 3.189 25.08.2019 19:20
Letzter Beitrag: Tommy56
  Projekt - Kaffeemaschine via Loxone illiw 2 2.237 03.06.2019 21:16
Letzter Beitrag: hotsystems

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste