Fortsetzung folgt. Der vorherige Teil .
Inhaltsverzeichnis:
Außenborder Sensor. Eisen
Wir müssen sofort zugeben, dass die erste Version des Fenstersensors (Fernbedienungssensors) hinsichtlich Stromversorgung und Energieverbrauch nicht ganz erfolgreich war. Wie ich bereits schrieb, hatte ich nur das Arduino Pro Mini-Modul mit 5 V zur Hand. Und ich verwendete Ni-MH-Batterien.
Trotz der Tatsache, dass ich auch die Solarbatterie angeschlossen habe, arbeitete die gesamte Struktur etwa 25 Tage lang autonom. Sehr negativ wurde die Batteriekapazität durch niedrige, oft negative Temperaturen auf der Straße am Ende des Winters beeinträchtigt.
Nehmen Sie die folgenden Ersetzungen vor, damit alles viel länger für Sie funktioniert:
- Kaufen Sie Arduino Pro Mini bei 3,3V
- Verwenden Sie einen 3,7-V-Li-Ionen-Akku NCR18650A von Panasonic, 2-tlg. für etwa 14 $ bei 3100mAh. Sie können CR123, CR123A Batterien ausprobieren. Und denken Sie daran, dass eine 9-V-Batterie (wie eine Krona) eine schlechte Stromquelle ist.
Das Wichtigste ist, dass Ihre Batterien auf der Straße funktionieren, d. H. bei negativen Temperaturen, die die in ihnen ablaufenden chemischen Prozesse verlangsamen und dadurch ihre Kapazität stark reduzieren.
Der DHT22-Sensor kann auch mit 3,3 V betrieben werden.
Die obigen Permutationen beinhalten keine Änderungen oder Ersetzungen anderer Komponenten.
Ernährung
Ich habe ursprünglich 4 Stück verwendet. Der Ni-MH-Akku ist mit einem Abgriff vom 3. in Reihe geschaltet, sodass wir zwei Versorgungsspannungen erhalten: 4,8 V für den DHT22-Sensor und 3,6 V für alles andere. Ich habe keine Step-Down- (genauer gesagt, Energie zerstörenden) oder Step-Up-Elektronikschaltungen verwendet, sondern nur umweltfreundliche Spannungen und Ströme.

Das Solarpanel wird wie gezeigt angeschlossen. Solarpanel 1,6 W 5,5 V 266 mA wurde für 6,64 USD gekauft.
In der Schaltung werden eine Schottky-Diode vom Typ 1N914 und ein Elektrolytkondensator von 50-100 μF verwendet.

Pinbelegung und Anschluss
Fahren wir mit der Montage fort.
Temperatur- und Feuchtigkeitssensor DHT22

Pinbelegung zum Anschluss eines Temperatur- und Feuchtigkeitssensors DHT22:
DHT22 Vorderseite von links nach rechts | Arduino Pro Mini | Hinweis |
---|
Vcc | 3,3 - 5V | 5V empfohlen, bessere externe Stromversorgung |
SDA | D2 | In der Skizze ist es DHTPIN |
NC | Nicht verbunden |
GND | GND |
Optional können Sie den SDA über einen 10K-Widerstand an VCC anschließen (festziehen).
Initialisierung:
#define DHTPIN 2
Um den Sensor vor direkter Sonneneinstrahlung zu schützen, habe ich aus einer Dose ein Gehäuse dafür gemacht und es mit reflektierendem metallisiertem Klebeband überklebt.
nRF24L01 +

Die Pinbelegung des Funkmoduls nRF24L01 + (sehen Sie oben auf der Platine nach, wo sich der Chip befindet, während sich die Pin-Pins unten befinden):
| | | |
---|
(2) 3,3 V. | (4) CSN | (6) MOSI | (8) IRQ |
(1) GND | (3) CE | (5) SCK | (7) MISO |
NRF24L01 + Verbindung
Arduino Pro Mini | nRF24L01 + | Hinweis |
---|
3,3V | VCC (2) | Bessere externe Stromversorgung |
Pin D8 | CE (3) | Chip aktivieren in |
SS Pin D10 | CSN (4) | Chipauswahl in |
SCK-Pin D13 | SCK (5) | SPI Uhr ein |
MOSI Pin D11 | SDI (6) | SPI-Daten in |
MISO Pin D12 | SDO (7) | SPI-Daten aus |
IRQ 8 | Interrupt-Ausgang nicht angeschlossen |
GND | GND (1) |
Initialisierung:
NRF24 nrf24(8, 10);
Wie in den Foren empfohlen, wurde sofort ein Elektrolytkondensator mit geringer Kapazität (10 μF) an die Leistungsklemmen nRF24L01 + gelötet.
Ich habe ein Funkmodul mit einer externen Zusatzantenne, die zwei Wände zuverlässig „durchbricht“.
Voltmeter
Der externe Sensor verfügt über ein Voltmeter zur Messung der Versorgungsspannung der Batterie. Die Messtechnik wird von Scott Daniels "Secret Arduino Voltmeter - Measure Battery Voltage", 2012, beschrieben.
Die Daten werden vom analogen Pin A1 gelesen.

Ich habe Spannungsteilerwiderstände von 100 kOhm und 10 kOhm (Sie können leicht unterschiedliche Nennwerte haben, Sie müssen sie mit einem Ohmmeter genau messen).
const float r1 = 100400;
Die folgende Konstante muss wie von Scott Daniels beschrieben einzeln kalibriert werden. Verwenden Sie eine separate Shemka und Skizze .
Wir messen zwei Werte von Vcc: echte Vcc mit einem Voltmeter (am AREF- oder 5V-Pin) und Vcc mit unserer Funktion. Dann ersetzen wir die Konstante ( 1.1 * 1023.0 * 1000
) durch eine neue:
scale_constant = internal1.1Ref * 1023 * 1000
wobei internal1.1Ref = 1.1 * Vcc1 ( ) / Vcc2 ( )
wo
- Vcc1 - Vcc-Wert, der manuell mit einem Voltmeter gemessen wird
- Vcc2 - Vcc-Wert, der mit unserer Funktion ermittelt wurde
Dieser Referenzwert ist für einen bestimmten AVR-Chip individuell und hängt von Temperaturschwankungen ab.
Als Ergebnis habe ich folgenden Wert erhalten:
const float typVbg = 1.082;
Da unser Akku im Dunkeln entladen und von der Solarbatterie geladen wird, sieht der Versorgungsspannungsgraph an bewölkten Tagen sägezahnartig "nach" aus:

Das Diagramm ist real und stammt aus der Web-Seite des Projekts.
Montage
Um den Block als Ganzes zusammenzubauen, habe ich wieder das Steckbrett zum Löten verwendet.
Ich habe gelötet, intuitiv ohne Vorverdrahtung verbunden, also habe ich keinen Stromkreis.
Folgendes ist passiert.
