53b456f8566440aa505d72b573a3005e7154acd3
OBP Keypad
==========
- Stromversorgung über M12-Anschluß über NMEA2000
Eingangsbereich 6~21V
- Ein- und Ausschalten durch langen Tastendruck auf DST/ ONOFF
- Konfiguration über Web-Interface
- PWR leuchtet grün wen NMEA2000-Verbindung etabliert
- PWR leuchtet rot wenn nur Stromversorgung aktiv ist
- Buzzer für Tastendruck-Feedback
passiv, damit können die Töne mit PWM programmiert werden
- I²C Temp/Hum-Sensor SHT31
Optionen für später
- Helligkeitssensor z.B. zum automatischen LED dimmen
Pins umbelegen:
I²C -> D0, D1 (GPIO 44, 43)
LEDs umsortieren: A0 bis A5 für die 6 LEDs
A6 als analoger Input für Sensor
A7 ist frei als Reserve
- Version 2
- Seatalk1 Anschluß für Fernbedienung Raymarine Pinnenpilot
- Version X, immer als Option
- EPaper-Display 2.9" zur Anzeige der Tastenbelegung
bedeutet auch: viel komplizierteres Gehäuse
Damit die LEDs nicht stören, kann umgeschaltet werden zwischen
permanentem Leuchten und nur kurzem Aufblinken bei Betätigung.
Einschaltvorgang
----------------
Es erfolgt ein "Lampentest": Alle LEDs werden einmal durchgeschaltet.
Sind alle Tests erfolgreich ertönt ein Buzzer-Signal.
Beschreibung
------------
Die zu verbindenden Geräte müssen über die Weboberfläche ausgewählt
werden. Eine NMEA2000-Geräteliste wird dargestellt.
Die Destination-LEDs leuchten nur, wenn ein entsprechendes
N2K-Zielgerät konfiguriert und erkannt wurde.
Bohrung Taster: 12mm
Taster Außenmaß: 17.5mm
Verbindungskabel CPU-Platine
JST 2.54 XH 6 Pin Steckverbinder -> LED
Anschlußmöglichkeiten
für Stromversorgung +12V und NMEA2000
4pin Terminalblock steck-/schraubbar +12V, DNG, CAN-L, CAN-H
für I²C-Module
2x 4pin Buchsenleiste weibl.
1x QWIIC-Buchse (JST_SH_BM04B-SRSS-TB_04x1.00mm)
für mechanische Taster
1x JST 2.54 XH 7 Pin Steckverbinder -> Tasten
Masseverbindung über einzelnes getrenntes Kabel
in eine 8-fach WAGO-Klemme
für LEDs
TBD
Bemerkungen
-----------
Bei den aktuell verwendeten Tasten sind die Anschlußdrähte extrem
filigran. Leichtes Brechen und schlechte Verarbeitung.
Beschaltung MCU Nano
--------------------
Wiki: https://www.waveshare.com/wiki/ESP32-S3-Nano
Der Nano hat 30 Pins.
Stromversorgung über VIN. Lt. Spezifikation können dort 6 bis 21V
anliegen. Vmtl. ist ein Betrieb mit 5V auch möglich.
Den 3.3V-Pin nicht benutzen. Dieser ist als Ausgang gedacht!
Das Mapping von Nano-Pin zu GPIO muß noch überprüft werden.
Der nano kann in zwei verschiedenen Mapping-Modi betrieben
werden!
Die Pins für SPI (D11, D12, D13) sind absichtlich
nicht belegt um frei für Erweiterungen zu sein. An SPI kann
ggf. ein Epaper angeschlossen werden.
Key Color Pin Remarks
----- ------- -------- --------------------
1 B D2 GPIO5
2 B D3 GPIO6
3 B D4 GPIO7
4 B D5 GPIO8
5 B D6 GPIO9
6 Y D7 GPIO10 Illumination
DST Y D8 GPIO17 Destination, On/Off
LED Pin Remarks
------ ---------- ----------------------
A A0 GPIO1
B A1 GPIO2
C A2 GPIO3
RGB-R A3 GPIO4
RGB-G A6 GPIO13
RGB-B A7 GPIO14
CAN Pin Remarks
------ ---------- ----------------------
RX D9 GPIO18
TX D10 GPIO21
BUZZER
TBD
Bauteilliste
------------
1x ESP32-S3 Nano (Waveshare)
berrybase.de
eckstein-shop.de
5x Taster schwarz
2x Taster gelb
1x M12 Einbaubuchse
1x RGB LED (gemeinsame Anode), diffus
3x LED grün, diffus
6x Widerstand 330 Ohm
1x SN65HVD230 CAN Transceiver
1x Buzzer, passiv
1x Kabelsatz
1x Terminalblock 4pol. 2,54mm schraubbar
1x Gehäuse 150x60x40 bestehend auf Front- und Rückseite
4x Befestigungsschraube M4
4x Gehäuseschraube M2,5
1x Silikondichtschnur 2mm
Konfiguration
-------------
- Instanz-Nummer, es können mehrere Keypads im System sein
- Namen des gekoppelten Geräts, an dieses werden die Tasten gesendet
- Tastencodes Tasten 1 bis 6
- Tastennamen
- Web-AP
NMEA2000
--------
Es werden keine eingehenden Pakete verarbeitet bis auf die ISO-Pflichtpakete
Es wird eine Geräteliste geführt
Aus der Geräteliste können 3 Geräten den Zielen A, B und C zugeordnet werden
Die Tastencodes werden an das jeweils aktive Gerät gesendet
Ist ein Temp./-Feuchtesensor vorhanden werden die gemessenen Werte
regelmäßig auf den Bus gesendet
Description
Languages
JavaScript
61.2%
C++
25.5%
CSS
4.4%
HTML
3.8%
Python
3.7%
Other
1.4%