Add external device inventory
This commit is contained in:
parent
b96eb2ef9b
commit
98a36185b8
4 changed files with 124 additions and 3 deletions
32
README.md
32
README.md
|
|
@ -3,6 +3,10 @@
|
||||||
En samling af Arduino-sketches, eksperimenter og profiler til forskellige
|
En samling af Arduino-sketches, eksperimenter og profiler til forskellige
|
||||||
boards.
|
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
|
## Mine boards
|
||||||
|
|
||||||
### Arduino UNO R4 WiFi
|
### Arduino UNO R4 WiFi
|
||||||
|
|
@ -58,7 +62,8 @@ i [`boards/uno-r3-compatible-ch340`](boards/uno-r3-compatible-ch340/README.md).
|
||||||
|
|
||||||
## Projektstruktur
|
## 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
|
```text
|
||||||
boards/
|
boards/
|
||||||
|
|
@ -66,6 +71,9 @@ boards/
|
||||||
README.md
|
README.md
|
||||||
arduino-uno-r4-wifi/
|
arduino-uno-r4-wifi/
|
||||||
README.md
|
README.md
|
||||||
|
devices/
|
||||||
|
lcd1602-i2c-pcf8574/
|
||||||
|
README.md
|
||||||
sketches/
|
sketches/
|
||||||
arduino-uno-r4-minima/
|
arduino-uno-r4-minima/
|
||||||
README.md
|
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
|
samme navn, så den kan åbnes direkte i Arduino IDE. Board-specifik
|
||||||
dokumentation, forbindelser og biblioteker beskrives ved den enkelte sketch.
|
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
|
## Sketches
|
||||||
|
|
||||||
### Arduino UNO R4 WiFi
|
### 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
|
- [`sos_blink`](sketches/uno-r3-compatible-ch340/sos_blink) – SOS i morsekode på den
|
||||||
standardmæssige D13-LED
|
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
|
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,
|
under `sketches/<board-id>/`. Board-id skrives med små bogstaver og bindestreger,
|
||||||
eksempelvis `arduino-uno-r4-wifi`.
|
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
24
devices/README.md
Normal 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.
|
||||||
64
devices/lcd1602-i2c-pcf8574/README.md
Normal file
64
devices/lcd1602-i2c-pcf8574/README.md
Normal 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.
|
||||||
|
|
@ -1,7 +1,12 @@
|
||||||
# LCD1602 I²C-demo
|
# LCD1602 I²C-demo
|
||||||
|
|
||||||
En effekt-demo til et HD44780-kompatibelt 16×2-tegndisplay med den almindelige
|
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;
|
- animeret opstart og blink med baggrundsbelysningen;
|
||||||
- brugerdefinerede hjerte-, smiley- og rakettegn;
|
- brugerdefinerede hjerte-, smiley- og rakettegn;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue