Add external device inventory

This commit is contained in:
christian 2026-10-24 15:21:48 +02:00
parent b96eb2ef9b
commit 98a36185b8
4 changed files with 124 additions and 3 deletions

View file

@ -3,6 +3,10 @@
En samling af Arduino-sketches, eksperimenter og profiler til forskellige
boards.
Repoet registrerer både Arduino-boards og de eksterne input/output-enheder, der
tilsluttes dem. Boardprofiler ligger i `boards/`, enhedsprofiler i `devices/`,
og hver enhedsprofil linker til de sketches, hvor enheden bruges.
## Mine boards
### Arduino UNO R4 WiFi
@ -58,7 +62,8 @@ i [`boards/uno-r3-compatible-ch340`](boards/uno-r3-compatible-ch340/README.md).
## Projektstruktur
Boards og sketches bruger samme stabile board-id:
Boards og sketches bruger samme stabile board-id. Eksterne enheder har deres
eget stabile device-id:
```text
boards/
@ -66,6 +71,9 @@ boards/
README.md
arduino-uno-r4-wifi/
README.md
devices/
lcd1602-i2c-pcf8574/
README.md
sketches/
arduino-uno-r4-minima/
README.md
@ -78,6 +86,21 @@ Hver sketch ligger i sin egen mappe, og mappen og den primære `.ino`-fil har
samme navn, så den kan åbnes direkte i Arduino IDE. Board-specifik
dokumentation, forbindelser og biblioteker beskrives ved den enkelte sketch.
## Eksterne input/output-enheder
### LCD1602 med PCF8574T I²C-backpack
- **Type:** 16×2 HD44780-kompatibelt tegndisplay
- **Retning:** output
- **Interface:** I²C via PCF8574T
- **Forsyning i projektet:** 5 V
- **Brugt med:** Arduino UNO R4 WiFi
- **Sketch:** [`lcd1602_i2c_demo`](sketches/arduino-uno-r4-wifi/lcd1602_i2c_demo)
Pinout, adresseoplysninger, praktiske noter og den samlede sketch-liste findes i
[`devices/lcd1602-i2c-pcf8574`](devices/lcd1602-i2c-pcf8574/README.md). Det
samlede enhedsindeks findes i [`devices/`](devices/README.md).
## Sketches
### Arduino UNO R4 WiFi
@ -101,9 +124,14 @@ dokumentation, forbindelser og biblioteker beskrives ved den enkelte sketch.
- [`sos_blink`](sketches/uno-r3-compatible-ch340/sos_blink) – SOS i morsekode på den
standardmæssige D13-LED
## Tilføjelse af flere boards
## Tilføjelse af flere boards og enheder
Nye boards får en profil under `boards/<board-id>/` og deres sketches placeres
under `sketches/<board-id>/`. Board-id skrives med små bogstaver og bindestreger,
eksempelvis `arduino-uno-r4-wifi`.
Nye eksterne enheder får en profil under `devices/<device-id>/`. Profilen skal
beskrive identifikation, pinout og elektriske hensyn samt linke til alle
sketches, der bruger enheden. Både dette README og `devices/README.md` holdes
opdateret, når nye enheder tilføjes.

24
devices/README.md Normal file
View file

@ -0,0 +1,24 @@
# Eksterne enheder
Dette katalog registrerer eksterne input- og outputenheder, der bruges sammen
med boards i Arduino Playground: displays, sensorer, aktuatorer, kommunikations-
moduler og andre komponenter.
Hver fysisk enhedstype får sit eget stabile id og en mappe med:
- identifikation og relevante tekniske data;
- pinout, spændingsniveauer og tilslutning;
- eventuelle adresser, biblioteker og kendte faldgruber;
- links til alle sketches i repoet, som bruger enheden.
## Registrerede enheder
| Enhed | Type | Interface | Brugt med | Sketches |
| --- | --- | --- | --- | --- |
| [LCD1602 med PCF8574T](lcd1602-i2c-pcf8574/README.md) | Output/display | I²C | Arduino UNO R4 WiFi | [`lcd1602_i2c_demo`](../sketches/arduino-uno-r4-wifi/lcd1602_i2c_demo) |
## Navngivning
Nye enheder placeres i `devices/<device-id>/`, hvor `device-id` skrives med små
bogstaver og bindestreger, eksempelvis `bme280-temperature-humidity-pressure`.
Profilen opdateres, hver gang enheden bruges i en ny sketch.

View file

@ -0,0 +1,64 @@
# LCD1602 med PCF8574T I²C-backpack
## Identifikation
| Felt | Værdi |
| --- | --- |
| Enhedstype | 16×2 monokromt tegndisplay (output) |
| Display-controller | HD44780-kompatibel |
| I²C-ekspander | NXP PCF8574T |
| Synlige tegn | 16 kolonner × 2 linjer |
| Tegnmatrix | 5×8 pixels pr. tegn |
| Brugerdefinerede tegn | 8 samtidige CGRAM-tegn |
| Backpack-ben | GND, VCC, SDA, SCL |
| Typisk I²C-adresse | `0x27` med ubrudte A0/A1/A2-loddebroer |
| Forsyning i projektet | 5 V |
Enheden er identificeret fra billederne som et klassisk LCD1602-modul med en
påmonteret PCF8574T-backpack. Backpacken omsætter I²C til displayets parallelle
HD44780-interface og har et blåt potentiometer til kontrastjustering.
## Pinout og tilslutning
| LCD-backpack | Funktion | Arduino UNO R4 WiFi |
| --- | --- | --- |
| GND | Stel | GND |
| VCC | Forsyning og baggrundslys | 5V |
| SDA | I²C-data | SDA |
| SCL | I²C-clock | SCL |
På UNO R4 WiFi kan de mærkede SDA/SCL-ben ved AREF bruges. De svarer til
boardets primære I²C-bus.
## Adresse og backpack-layout
PCF8574T bruger normalt adresseområdet `0x20`–`0x27`; varianten PCF8574AT
bruger `0x38`–`0x3F`. A0/A1/A2-loddebroerne bestemmer den konkrete adresse.
Den anvendte demo scanner begge områder automatisk.
Det almindelige backpack-layout er:
| PCF8574-bit | LCD-funktion |
| --- | --- |
| P0 | RS |
| P1 | R/W |
| P2 | Enable |
| P3 | Baggrundsbelysning |
| P4–P7 | D4–D7 |
## Praktiske noter
- Hvis baggrundslyset virker, men der ikke ses tegn, justeres det blå
kontrast-potentiometer langsomt med en lille skruetrækker.
- Displayet skal have fælles GND med Arduino-boardet.
- Fjern strømmen, før ledninger flyttes.
- Sketchen bruger kun Arduino-kernens `Wire`-bibliotek; backpack-driveren er
implementeret direkte i sketchen.
## Bruges i disse sketches
| Board | Sketch | Formål |
| --- | --- | --- |
| Arduino UNO R4 WiFi | [`lcd1602_i2c_demo`](../../sketches/arduino-uno-r4-wifi/lcd1602_i2c_demo) | Tekstkort, specialtegn, equalizer, PIXEL PONG, PIXEL RAIN og oppetid |
Når enheden bruges i flere sketches, tilføjes de til tabellen ovenfor.

View file

@ -1,7 +1,12 @@
# LCD1602 I²C-demo
En effekt-demo til et HD44780-kompatibelt 16×2-tegndisplay med den almindelige
PCF8574/PCF8574A I²C-backpack. Demoen viser:
PCF8574/PCF8574A I²C-backpack.
Enhedens samlede hardwareprofil findes under
[`devices/lcd1602-i2c-pcf8574`](../../../devices/lcd1602-i2c-pcf8574/README.md).
Demoen viser:
- animeret opstart og blink med baggrundsbelysningen;
- brugerdefinerede hjerte-, smiley- og rakettegn;