readme updated

This commit is contained in:
2024-06-27 18:56:57 +02:00
parent 16b7bb261f
commit deec1b1971
5 changed files with 213 additions and 0 deletions

View File

@ -0,0 +1,34 @@
// BME280: Suche in Arduino Libraries nach BME280 und installiere Adafruit BME280
// BMP280: Suche in Arduino Libraries nach BMP280 und installiere Adafruit BMP280
// kopiere in die jeweils entsprechenden Funktionen in ui.ino
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
#define SEALEVELPRESSURE_HPA (1013.25)
Adafruit_BME280 bme; // BME280
//Adafruit_BMP280 bmp; // BMP280
void setup() {
bme.begin(0x76);
//bmp.begin(0x76);
}
void loop() {
int temp = bme.readTemperature();
int pressure = bme.readPressure() / 100.0F;
int humidity = bme.readHumidity();
//int temp = bmp.readTemperature();
//int pressure = bmp.readPressure() / 100.0F;
// Label (oder andere Text-Elemente)
lv_label_set_text(ui_Label1, String(pressure).c_str());
// Bar / Arc (alles mit Werten)
lv_bar_set_value(ui_Bar1, humidity, LV_ANIM_ON); // oder LV_ANIM_OFF
}

135
README.md
View File

@ -1,2 +1,137 @@
# squareline-howtos
## Arduino Board
![](pico-embed.png)
## Squareline - Arduino Verknüpfung
Namen in Squareline benutzt man in Arduino mit dem Vorsatz ui_.
Squareline: LabelTemp
Arduino: ui_LabelTemp
Um den Text in einem Label zu aktualisieren ruft man eine Funktion auf.
```c++
// Text
lv_label_set_text(ui_LabelTemp, "Hallo Welt!");
// Numerische Werte
lv_label_set_text(ui_LabelTemp, String(25).c_str());
// Numerische Werte aus Variable
int temperature = bme.readTemperature();
lv_label_set_text(ui_LabelTemp, String(temperature).c_str());
```
Welche Funktion man nutzen muss findet man hier: https://docs.lvgl.io/master/widgets/index.html
Es gibt für jedes Widget eine eigene Funktion.
## Screenshots
![alt text](<Screenshot 2024-06-27 171325.png>)
![alt text](<Screenshot 2024-06-27 171525.png>)
![alt text](<Screenshot 2024-06-27 173433.png>)
## Snippets
### BME280 / BMP280
```c++
// BME280: Suche in Arduino Libraries nach BME280 und installiere Adafruit BME280
// BMP280: Suche in Arduino Libraries nach BMP280 und installiere Adafruit BMP280
// kopiere in die jeweils entsprechenden Funktionen in ui.ino
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
#define SEALEVELPRESSURE_HPA (1013.25)
Adafruit_BME280 bme; // BME280
//Adafruit_BMP280 bmp; // BMP280
void setup() {
bme.begin(0x76);
//bmp.begin(0x76);
}
void loop() {
int temp = bme.readTemperature();
int pressure = bme.readPressure() / 100.0F;
int humidity = bme.readHumidity();
//int temp = bmp.readTemperature();
//int pressure = bmp.readPressure() / 100.0F;
// Label (oder andere Text-Elemente)
lv_label_set_text(ui_Label1, String(pressure).c_str());
// Bar / Arc (alles mit Werten)
lv_bar_set_value(ui_Bar1, humidity, LV_ANIM_ON); // oder LV_ANIM_OFF
}
```
### TSL2591(1)
```c++
// Suche in Arduino Libraries nach TSL2591 und installiere Adafruit TSL2591
// kopiere in die jeweils entsprechenden Funktionen in ui.ino
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include "Adafruit_TSL2591.h"
Adafruit_TSL2591 tsl = Adafruit_TSL2591(2591);
void setup(){
tsl.begin()
tsl.setGain(TSL2591_GAIN_MED);
tsl.setTiming(TSL2591_INTEGRATIONTIME_100MS);
}
void loop(){
int lux = tsl.getLuminosity(TSL2591_VISIBLE);
// Label (oder andere Text-Elemente)
lv_label_set_text(ui_Label1, String(lux).c_str());
// Bar / Arc (alles mit Werten)
lv_bar_set_value(ui_Bar1, lux, LV_ANIM_ON); // oder LV_ANIM_OFF
}
```
```c++
// kopiere in die jeweils entsprechenden Funktionen in ui.ino
// um analogRead benutzen zu können, muss man das Board "Pico (Arduino MBED)" auswählen
void setup(){
}
void loop(){
int moisture_raw = analogRead(A0);
int moisture_mapped = map(moisture_raw, 800, 300, 0, 100);
int moisture = constrain(moisture_mapped, 0, 100);
// Label (oder andere Text-Elemente)
lv_label_set_text(ui_Label1, String(moisture).c_str());
// Bar / Arc (alles mit Werten)
lv_bar_set_value(ui_Bar1, moisture, LV_ANIM_ON); // oder LV_ANIM_OFF
}
```

19
Soil-Moisture-Sensor.ino Normal file
View File

@ -0,0 +1,19 @@
// kopiere in die jeweils entsprechenden Funktionen in ui.ino
// um analogRead benutzen zu können, muss man das Board "Pico (Arduino MBED)" auswählen
void setup(){
}
void loop(){
int moisture_raw = analogRead(A0);
int moisture_mapped = map(moisture_raw, 800, 300, 0, 100);
int moisture = constrain(moisture_mapped, 0, 100);
// Label (oder andere Text-Elemente)
lv_label_set_text(ui_Label1, String(moisture).c_str());
// Bar / Arc (alles mit Werten)
lv_bar_set_value(ui_Bar1, moisture, LV_ANIM_ON); // oder LV_ANIM_OFF
}

25
TSL2591-snippets.ino Normal file
View File

@ -0,0 +1,25 @@
// Suche in Arduino Libraries nach TSL2591 und installiere Adafruit TSL2591
// kopiere in die jeweils entsprechenden Funktionen in ui.ino
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include "Adafruit_TSL2591.h"
Adafruit_TSL2591 tsl = Adafruit_TSL2591(2591);
void setup(){
tsl.begin()
tsl.setGain(TSL2591_GAIN_MED);
tsl.setTiming(TSL2591_INTEGRATIONTIME_100MS);
}
void loop(){
int lux = tsl.getLuminosity(TSL2591_VISIBLE);
// Label (oder andere Text-Elemente)
lv_label_set_text(ui_Label1, String(lux).c_str());
// Bar / Arc (alles mit Werten)
lv_bar_set_value(ui_Bar1, lux, LV_ANIM_ON); // oder LV_ANIM_OFF
}

BIN
pico-embed.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB