6ded5f6e183e4f6210b97c0eb526c5d9603c4c5c
Board-dat/SMO/SMO1090-dat/SMO1090-dat.md
... | ... | @@ -1,4 +1,6 @@ |
1 | 1 | |
2 | 2 | # SMO1090-dat |
3 | 3 | |
4 | +legacy wiki page - https://w.electrodragon.com/w/Microware_Radar_Sensor |
|
5 | + |
|
4 | 6 | - [[SMO1090]] |
... | ... | \ No newline at end of file |
Chip-dat/bosch-dat/BME280-dat/BME280-dat.md
... | ... | @@ -3,6 +3,7 @@ |
3 | 3 | |
4 | 4 | - [[humidity-sensor-dat]] - [[pressure-sensor-dat]] - [[temperature-sensor-dat]] |
5 | 5 | |
6 | +- [[temp-hum-sensor-dat]] |
|
6 | 7 | |
7 | 8 | ## BME280 Features |
8 | 9 | |
... | ... | @@ -24,3 +25,67 @@ The BME280 is the next-generation of sensors from Bosch, and is the upgrade to t |
24 | 25 | |
25 | 26 | |
26 | 27 | |
28 | + |
|
29 | +## Comparison: BMP280 vs BME280 |
|
30 | + |
|
31 | +### 1. Key Functional Differences |
|
32 | + |
|
33 | +| Feature | **BMP280** | **BME280** | |
|
34 | +|---------------------|---------------------------------------------|---------------------------------------------| |
|
35 | +| **Primary Function** | Measures pressure and temperature | Measures pressure, temperature, and humidity | |
|
36 | +| **Humidity Sensor** | ❌ Not included | ✅ Included | |
|
37 | +| **Applications** | Primarily for altitude and weather monitoring | Suitable for weather, indoor air quality, and IoT applications | |
|
38 | + |
|
39 | +--- |
|
40 | + |
|
41 | +### 2. Hardware Differences |
|
42 | + |
|
43 | +| Feature | **BMP280** | **BME280** | |
|
44 | +|---------------------|------------------------|------------------------| |
|
45 | +| **I2C Addresses** | 0x76 or 0x77 | 0x76 or 0x77 | |
|
46 | +| **Pin Compatibility** | Identical (drop-in replacement) | Identical (drop-in replacement) | |
|
47 | +| **Power Consumption** | Slightly lower (~2.7 µA) | Slightly higher (~3.6 µA) | |
|
48 | + |
|
49 | +--- |
|
50 | + |
|
51 | +### 3. Performance and Accuracy |
|
52 | + |
|
53 | +| Feature | **BMP280** | **BME280** | |
|
54 | +|---------------------|-------------------------------------------|-------------------------------------------| |
|
55 | +| **Pressure Range** | 300 - 1100 hPa | 300 - 1100 hPa | |
|
56 | +| **Pressure Accuracy** | ±1 hPa | ±1 hPa | |
|
57 | +| **Temperature Range** | -40°C to +85°C | -40°C to +85°C | |
|
58 | +| **Temperature Accuracy** | ±1.0°C | ±1.0°C | |
|
59 | +| **Humidity Range** | N/A | 0% - 100% RH | |
|
60 | +| **Humidity Accuracy** | N/A | ±3% RH | |
|
61 | + |
|
62 | +--- |
|
63 | + |
|
64 | +### 4. Cost |
|
65 | + |
|
66 | +- **BMP280**: Slightly cheaper because it lacks a humidity sensor. |
|
67 | +- **BME280**: More expensive due to the added humidity sensing capability. |
|
68 | + |
|
69 | +--- |
|
70 | + |
|
71 | +### 5. Use Cases |
|
72 | + |
|
73 | +#### **BMP280** |
|
74 | +- Ideal for **altitude measurement** (e.g., drones, GPS systems). |
|
75 | +- Suitable for simple **weather stations** (without humidity data). |
|
76 | + |
|
77 | +#### **BME280** |
|
78 | +- Designed for **complete environmental monitoring**, including temperature, pressure, and humidity. |
|
79 | +- Perfect for **IoT applications** and **indoor air quality monitoring**. |
|
80 | + |
|
81 | +--- |
|
82 | + |
|
83 | +### Summary |
|
84 | + |
|
85 | +- **Choose BMP280** if you only need pressure and temperature readings and want a cost-effective solution. |
|
86 | +- **Choose BME280** if you need an all-in-one sensor for temperature, pressure, and humidity. |
|
87 | + |
|
88 | + |
|
89 | +## arduino library |
|
90 | + |
|
91 | +- [[arduino-lib-dat]] |
SDK-dat/arduino-dat/Arduino-IDE-DAT/arduino-lib-dat/arduino-lib-dat.md
... | ... | @@ -34,3 +34,12 @@ https://github.com/esp8266/Arduino |
34 | 34 | - https://www.arduino.cc/reference/en/libraries/ps2keyadvanced/ |
35 | 35 | |
36 | 36 | |
37 | +## sensors |
|
38 | + |
|
39 | +| name | note | note2 | category | start | |
|
40 | +| ------------------------------------------------------------------------------------- | ---- | ----- | -------------- | ----- | |
|
41 | +| [Adafruit_BME280_Library](https://github.com/adafruit/Adafruit_BME280_Library) | | | [[BME280-dat]] | | |
|
42 | +| [finitespace/BME280](https://github.com/finitespace/BME280) | | | [[BME280-dat]] | 219 | |
|
43 | +| [ThingPulse/esp8266-oled-ssd1306](https://github.com/ThingPulse/esp8266-oled-ssd1306) | | | [[OLED-dat]] | 2.1K | |
|
44 | + |
|
45 | + |
Tech-dat/Sensor-dat/Motion-sensor-dat/PIR-sensor-dat/2023-12-12-17-56-14.png
... | ... | Binary files /dev/null and b/Tech-dat/Sensor-dat/Motion-sensor-dat/PIR-sensor-dat/2023-12-12-17-56-14.png differ |
Tech-dat/Sensor-dat/Motion-sensor-dat/PIR-sensor-dat/2023-12-12-17-58-19.png
... | ... | Binary files /dev/null and b/Tech-dat/Sensor-dat/Motion-sensor-dat/PIR-sensor-dat/2023-12-12-17-58-19.png differ |
Tech-dat/Sensor-dat/Motion-sensor-dat/PIR-sensor-dat/PIR-sensor-dat.md
... | ... | @@ -0,0 +1,96 @@ |
1 | + |
|
2 | +# PIR-sensor-dat |
|
3 | + |
|
4 | +- legacy wiki page - https://w.electrodragon.com/w/PIR_sensor |
|
5 | + |
|
6 | +## Boards |
|
7 | + |
|
8 | +- mini type [[SMO1088-dat]] - panel integrated [[SMOS026-dat]] - classic type [[SMO1060-dat]] |
|
9 | + |
|
10 | + |
|
11 | + |
|
12 | + |
|
13 | + |
|
14 | +## Working priciple |
|
15 | + |
|
16 | +![](2023-12-12-17-56-14.png) |
|
17 | + |
|
18 | + |
|
19 | +## Arduino Demo Code |
|
20 | + |
|
21 | +- http://playground.arduino.cc/Code/PIRsense |
|
22 | + |
|
23 | +Connecting PIR sensors to a microcontroller is really simple. The PIR acts as a digital output so all you need to do is listen for the pin to flip high (detected) or low (not detected). |
|
24 | + |
|
25 | +Its likely that you'll want reriggering, so be sure to put the jumper in the H position! |
|
26 | + |
|
27 | +Power the PIR with 5V and connect ground to ground. Then connect the output to a digital pin. In this example we'll use pin 2. |
|
28 | +See the following picture about how it connects: |
|
29 | + |
|
30 | +![](2023-12-12-17-58-19.png) |
|
31 | + |
|
32 | +Without a microcontroller, PIR sensor can also be a simple TTL signal control relay, to use on many application such as road light! |
|
33 | + |
|
34 | +Use following code to read the PIR value: |
|
35 | + |
|
36 | + /* |
|
37 | + * PIR sensor tester |
|
38 | + */ |
|
39 | + |
|
40 | + int ledPin = 13; // choose the pin for the LED |
|
41 | + int inputPin = 2; // choose the input pin (for PIR sensor) |
|
42 | + int pirState = LOW; // we start, assuming no motion detected |
|
43 | + int val = 0; // variable for reading the pin status |
|
44 | + |
|
45 | + void setup() { |
|
46 | + pinMode(ledPin, OUTPUT); // declare LED as output |
|
47 | + pinMode(inputPin, INPUT); // declare sensor as input |
|
48 | + |
|
49 | + Serial.begin(9600); |
|
50 | + } |
|
51 | + |
|
52 | + void loop(){ |
|
53 | + val = digitalRead(inputPin); // read input value |
|
54 | + if (val == HIGH) { // check if the input is HIGH |
|
55 | + digitalWrite(ledPin, HIGH); // turn LED ON |
|
56 | + if (pirState == LOW) { |
|
57 | + // we have just turned on |
|
58 | + Serial.println("Motion detected!"); |
|
59 | + // We only want to print on the output change, not state |
|
60 | + pirState = HIGH; |
|
61 | + } |
|
62 | + } else { |
|
63 | + digitalWrite(ledPin, LOW); // turn LED OFF |
|
64 | + if (pirState == HIGH){ |
|
65 | + // we have just turned of |
|
66 | + Serial.println("Motion ended!"); |
|
67 | + // We only want to print on the output change, not state |
|
68 | + pirState = LOW; |
|
69 | + } |
|
70 | + } |
|
71 | + } |
|
72 | + |
|
73 | + |
|
74 | +## Note of the sensing |
|
75 | +* Sensor module is powered up after a minute, in this initialization time intervals during this module will output 0-3 times, a minute later enters the standby state. |
|
76 | + |
|
77 | +* Should try to avoid the lights and other sources of interference close direct module surface of the lens, in order to avoid the introduction of interference signal malfunction; environment should avoid the wind flow, the wind will cause interference on the sensor. |
|
78 | + |
|
79 | +* Sensor module with dual probe, the probe window is rectangular, dual (A B) in both ends of the longitudinal direction so when the human body from '''left to right or right to left''' through the infrared spectrum to reach dual time, distance difference, the greater the difference, the more sensitive the sensor, |
|
80 | +when the human body from the front to the probe or from top to bottom or from bottom to top on the direction traveled, double detects changes in the distance of less than infrared spectroscopy, no difference value the sensor insensitive or does not work; |
|
81 | + |
|
82 | +* '''The dual direction of sensor should be installed parallel as far as possible in inline with human movement.''' In order to increase the sensor angle range, the module using a circular lens also makes the probe surrounded induction, but the left and right sides still up and down in both directions sensing range, sensitivity, still need to try to install the above requirements. |
|
83 | + |
|
84 | +## BOM |
|
85 | + |
|
86 | +- [[BISS0001]] |
|
87 | + |
|
88 | + |
|
89 | +## demo video |
|
90 | + |
|
91 | +- works with [[ESP32-dat]] - https://x.com/electro_phoenix/status/1877256534687650008 |
|
92 | + |
|
93 | + |
|
94 | +## ref |
|
95 | + |
|
96 | +- [[PIR-sensor]] |
|
... | ... | \ No newline at end of file |
Tech-dat/Sensor-dat/Motion-sensor-dat/RCWL-sensor-dat/RCWL-sensor-dat.md
... | ... | @@ -0,0 +1,61 @@ |
1 | + |
|
2 | +# RCWL-sensor-dat |
|
3 | + |
|
4 | + |
|
5 | + |
|
6 | + |
|
7 | +## Advantages of RCWL Sensors Compared to PIR Sensors |
|
8 | + |
|
9 | +### 1. Detects Through Objects |
|
10 | +- **RCWL Advantage**: Uses microwave Doppler radar technology, allowing it to detect motion through non-metallic materials like glass, wood, or plastic. Ideal for hidden or enclosed setups. |
|
11 | +- **PIR Limitation**: Relies on detecting infrared radiation (heat) and requires a direct line of sight. Cannot "see" through objects. |
|
12 | + |
|
13 | +--- |
|
14 | + |
|
15 | +### 2. Greater Sensitivity and Range |
|
16 | +- **RCWL Advantage**: Longer detection range (up to 7–10 meters or more) and higher sensitivity to small movements. |
|
17 | +- **PIR Limitation**: Limited range of about 3–5 meters and less effective at detecting subtle motion. |
|
18 | + |
|
19 | +--- |
|
20 | + |
|
21 | +### 3. Less Affected by Small Animals |
|
22 | +- **RCWL Advantage**: Less likely to flag small animals (e.g., birds, flies, spiders) as it detects motion based on Doppler shift rather than heat. |
|
23 | +- **PIR Limitation**: Prone to false positives from heat signatures of small animals or insects. |
|
24 | + |
|
25 | +--- |
|
26 | + |
|
27 | +### 4. Wider Field of Detection |
|
28 | +- **RCWL Advantage**: Can provide 360-degree motion detection if unobstructed, making it more versatile for wide-area monitoring. |
|
29 | +- **PIR Limitation**: Typically has a narrower field of view (about 120 degrees) and requires proper alignment. |
|
30 | + |
|
31 | +--- |
|
32 | + |
|
33 | +### 5. Faster Response Time |
|
34 | +- **RCWL Advantage**: Detects motion almost instantly using electromagnetic waves. |
|
35 | +- **PIR Limitation**: May have a slight delay as it relies on detecting changes in infrared radiation. |
|
36 | + |
|
37 | +--- |
|
38 | + |
|
39 | +### 6. Compact and Cost-Effective |
|
40 | +- **RCWL Advantage**: Small, inexpensive, and simple to use with microcontrollers like ESP32 or Arduino. Requires fewer external components (e.g., no Fresnel lens). |
|
41 | +- **PIR Limitation**: Bulkier due to the Fresnel lens and may cost more depending on the model. |
|
42 | + |
|
43 | +--- |
|
44 | + |
|
45 | +### Use Cases for RCWL Sensors |
|
46 | +- **Hidden or Enclosed Motion Detection**: Detecting motion through walls, ceilings, or casings. |
|
47 | +- **Small and Efficient Devices**: Consumes ~2.5 mA, making it energy-efficient. |
|
48 | +- **Applications in Noisy or Dynamic Environments**: Less affected by environmental noise like sunlight or temperature changes. |
|
49 | + |
|
50 | +--- |
|
51 | + |
|
52 | +### Limitations of RCWL Compared to PIR |
|
53 | +1. **Susceptible to Interference**: May detect unintended motion from fans, machinery, or large metallic objects. |
|
54 | +2. **Higher False Positives in Open Areas**: Microwave signals can reflect off surfaces and detect motion in adjacent rooms. |
|
55 | +3. **More Power Consumption**: While still efficient (~2.5 mA), it consumes more power than some PIR sensors (~50 µA). |
|
56 | + |
|
57 | +--- |
|
58 | + |
|
59 | +### Summary |
|
60 | +- **RCWL Sensors**: Better for hidden, long-range, and sensitive motion detection. |
|
61 | +- **PIR Sensors**: Better for simple, line-of-sight applications where heat-based detection suffices. |
Tech-dat/Sensor-dat/Motion-sensor-dat/radar-sensor-dat/radar-sensor-dat.md
... | ... | @@ -0,0 +1,5 @@ |
1 | + |
|
2 | +# radar-sensor-dat |
|
3 | + |
|
4 | +- [[RCWL-sensor-dat]] - [[SMO1090-dat]] |
|
5 | + |
Tech-dat/Sensor-dat/PIR-sensor-dat/2023-12-12-17-56-14.png
... | ... | Binary files a/Tech-dat/Sensor-dat/PIR-sensor-dat/2023-12-12-17-56-14.png and /dev/null differ |
Tech-dat/Sensor-dat/PIR-sensor-dat/2023-12-12-17-58-19.png
... | ... | Binary files a/Tech-dat/Sensor-dat/PIR-sensor-dat/2023-12-12-17-58-19.png and /dev/null differ |
Tech-dat/Sensor-dat/PIR-sensor-dat/PIR-sensor-dat.md
... | ... | @@ -1,96 +0,0 @@ |
1 | - |
|
2 | -# PIR-sensor-dat |
|
3 | - |
|
4 | -- legacy wiki page - https://w.electrodragon.com/w/PIR_sensor |
|
5 | - |
|
6 | -## Boards |
|
7 | - |
|
8 | -- mini type [[SMO1088-dat]] - panel integrated [[SMOS026-dat]] - classic type [[SMO1060-dat]] |
|
9 | - |
|
10 | - |
|
11 | - |
|
12 | - |
|
13 | - |
|
14 | -## Working priciple |
|
15 | - |
|
16 | -![](2023-12-12-17-56-14.png) |
|
17 | - |
|
18 | - |
|
19 | -## Arduino Demo Code |
|
20 | - |
|
21 | -- http://playground.arduino.cc/Code/PIRsense |
|
22 | - |
|
23 | -Connecting PIR sensors to a microcontroller is really simple. The PIR acts as a digital output so all you need to do is listen for the pin to flip high (detected) or low (not detected). |
|
24 | - |
|
25 | -Its likely that you'll want reriggering, so be sure to put the jumper in the H position! |
|
26 | - |
|
27 | -Power the PIR with 5V and connect ground to ground. Then connect the output to a digital pin. In this example we'll use pin 2. |
|
28 | -See the following picture about how it connects: |
|
29 | - |
|
30 | -![](2023-12-12-17-58-19.png) |
|
31 | - |
|
32 | -Without a microcontroller, PIR sensor can also be a simple TTL signal control relay, to use on many application such as road light! |
|
33 | - |
|
34 | -Use following code to read the PIR value: |
|
35 | - |
|
36 | - /* |
|
37 | - * PIR sensor tester |
|
38 | - */ |
|
39 | - |
|
40 | - int ledPin = 13; // choose the pin for the LED |
|
41 | - int inputPin = 2; // choose the input pin (for PIR sensor) |
|
42 | - int pirState = LOW; // we start, assuming no motion detected |
|
43 | - int val = 0; // variable for reading the pin status |
|
44 | - |
|
45 | - void setup() { |
|
46 | - pinMode(ledPin, OUTPUT); // declare LED as output |
|
47 | - pinMode(inputPin, INPUT); // declare sensor as input |
|
48 | - |
|
49 | - Serial.begin(9600); |
|
50 | - } |
|
51 | - |
|
52 | - void loop(){ |
|
53 | - val = digitalRead(inputPin); // read input value |
|
54 | - if (val == HIGH) { // check if the input is HIGH |
|
55 | - digitalWrite(ledPin, HIGH); // turn LED ON |
|
56 | - if (pirState == LOW) { |
|
57 | - // we have just turned on |
|
58 | - Serial.println("Motion detected!"); |
|
59 | - // We only want to print on the output change, not state |
|
60 | - pirState = HIGH; |
|
61 | - } |
|
62 | - } else { |
|
63 | - digitalWrite(ledPin, LOW); // turn LED OFF |
|
64 | - if (pirState == HIGH){ |
|
65 | - // we have just turned of |
|
66 | - Serial.println("Motion ended!"); |
|
67 | - // We only want to print on the output change, not state |
|
68 | - pirState = LOW; |
|
69 | - } |
|
70 | - } |
|
71 | - } |
|
72 | - |
|
73 | - |
|
74 | -## Note of the sensing |
|
75 | -* Sensor module is powered up after a minute, in this initialization time intervals during this module will output 0-3 times, a minute later enters the standby state. |
|
76 | - |
|
77 | -* Should try to avoid the lights and other sources of interference close direct module surface of the lens, in order to avoid the introduction of interference signal malfunction; environment should avoid the wind flow, the wind will cause interference on the sensor. |
|
78 | - |
|
79 | -* Sensor module with dual probe, the probe window is rectangular, dual (A B) in both ends of the longitudinal direction so when the human body from '''left to right or right to left''' through the infrared spectrum to reach dual time, distance difference, the greater the difference, the more sensitive the sensor, |
|
80 | -when the human body from the front to the probe or from top to bottom or from bottom to top on the direction traveled, double detects changes in the distance of less than infrared spectroscopy, no difference value the sensor insensitive or does not work; |
|
81 | - |
|
82 | -* '''The dual direction of sensor should be installed parallel as far as possible in inline with human movement.''' In order to increase the sensor angle range, the module using a circular lens also makes the probe surrounded induction, but the left and right sides still up and down in both directions sensing range, sensitivity, still need to try to install the above requirements. |
|
83 | - |
|
84 | -## BOM |
|
85 | - |
|
86 | -- [[BISS0001]] |
|
87 | - |
|
88 | - |
|
89 | -## demo video |
|
90 | - |
|
91 | -- works with [[ESP32-dat]] - https://x.com/electro_phoenix/status/1877256534687650008 |
|
92 | - |
|
93 | - |
|
94 | -## ref |
|
95 | - |
|
96 | -- [[PIR-sensor]] |
|
... | ... | \ No newline at end of file |
Tech-dat/Sensor-dat/sensor-dat.md
... | ... | @@ -4,11 +4,11 @@ |
4 | 4 | |
5 | 5 | - [[camera-dat]] - [[microphone-sensor-dat]] |
6 | 6 | |
7 | -- [[motion-sensor-dat]] - [[PIR-sensor-dat]] |
|
7 | +- [[motion-sensor-dat]] - [[PIR-sensor-dat]] - [[radar-sensor]] |
|
8 | 8 | |
9 | 9 | - [[gas-sensor-dat]] - [[liquid-sensor-dat]] |
10 | 10 | |
11 | -- [[thermocouple-dat]] - [[thermostat-dat]] - [[Peltier-dat]] - [[temperature-sensor-dat]] |
|
11 | +- [[thermocouple-dat]] - [[thermostat-dat]] - [[Peltier-dat]] - [[temperature-sensor-dat]] - [[humidity-sensor]] - [[pressure-sensor-dat]] - [[temp-hum-sensor-dat]] |
|
12 | 12 | |
13 | 13 | - [[power-sensor-dat]] - [[dc-current-sensor-dat]] - [[AC-voltage-monitor-dat]] - [[dc-voltage-monitor-dat]] - [[voltage-supervisor-dat]] |
14 | 14 |
Tech-dat/Sensor-dat/temp-hum-sensor-dat/temp-hum-sensor-dat.md
... | ... | @@ -0,0 +1,4 @@ |
1 | + |
|
2 | +# temp-hum-sensor-dat |
|
3 | + |
|
4 | +- [[BME280-dat]] |
|
... | ... | \ No newline at end of file |
Tech-dat/interactive-dat/display-dat/OLED-dat/OLED-dat.md
... | ... | @@ -11,13 +11,30 @@ drive interface - [[I2C-dat]] - [[SPI-dat]] |
11 | 11 | ## init |
12 | 12 | |
13 | 13 | SSD1306Wire display(0x3c, 12, 2); // ADDRESS, SDA, SCL , ESP32 pin IO12 for SDA and IO2 for SCL |
14 | +SSD1306Wire display(0x3c, 15, 13); |
|
14 | 15 | |
15 | - |
|
16 | -# arduino OLED |
|
16 | +# arduino OLED library |
|
17 | 17 | |
18 | 18 | |
19 | 19 | - SSD1306ascii |
20 | 20 | |
21 | +### ESP8266_and_ESP32_OLED_driver_for_SSD1306_displays |
|
22 | + |
|
23 | +display data |
|
24 | + |
|
25 | + display.init(); |
|
26 | + delay(50); |
|
27 | + display.clear(); |
|
28 | + display.setTextAlignment(TEXT_ALIGN_LEFT); |
|
29 | + |
|
30 | + display.setFont(ArialMT_Plain_16); |
|
31 | + display.drawString(0, 0, "Temp: "); |
|
32 | + display.drawString(50, 0, String(temperature)); |
|
33 | + |
|
34 | + display.setFont(ArialMT_Plain_16); |
|
35 | + display.drawString(0, 20, "Press: "); |
|
36 | + display.drawString(50, 20, String(pressure)); |
|
37 | + |
|
21 | 38 | |
22 | 39 | ## common OLED I2C address |
23 | 40 |
weekly-dat/2025-02-dat.md
... | ... | @@ -4,6 +4,11 @@ |
4 | 4 | |
5 | 5 | ## New Boards |
6 | 6 | |
7 | +### ESP Tori |
|
8 | + |
|
9 | +feedback collection |
|
10 | +- Nice, if U had a cheapo RCWL radar instead, I'd buy 'em. Getting the esp32 to run 1 core on min battery, the radars run at ~2.5 milliamps IIRC (If I Recall Correctly), would be monster win too. PIRs flag birds and flies, spiders etc. |
|
11 | + |
|
7 | 12 | |
8 | 13 | |
9 | 14 | ## Development | Board Updates | Boards Test Demo |