OBP Keypad
==========
- Stromversorgung über M12-Anschluß über NMEA2000
- Eingangsbereich 6~21V
- Konfigurationsmodus durch langen Tastendruck auf DST
- Tiefschlaf und Reset aus Konfigmodus heraus auswählbar
- Konfiguration über Web-Interface
- 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:
Tag- und Nachtmodus
Einschaltvorgang
----------------
- Status leuchtet kurz rot auf
- 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.
Gehäuse
-------
Bohrung Taster: 12mm
Taster Außenmaß: 17.5mm
Verbindungskabel CPU-Platine
JST 2.54 XH 7 Pin Steckverbinder -> LEDs + GND
Anschlußmöglichkeiten
---------------------
für Stromversorgung +12V und NMEA2000
2pin Terminalblock
für I²C-Module
2x 4pin Buchsenleiste weibl.
1x qwiic-Buchse (JST_SH_BM04B-SRSS-TB_04x1.00mm)
für CAN-Transceiver-Modul: 4fach buchse liegend
für mechanische Taster
1x Terminalblock 8fach, 7 Tasten und GND
Bemerkungen
-----------
Bei den aktuell verwendeten Tasten sind die Anschlußdrähte extrem
filigran. Leichtes Brechen und schlechte Verarbeitung.
Es gibt verschiedene Varianten mit unterschiedlicher Federkraft.
Auswahl muß noch erfolgen
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 E-Paper 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
------ ---------- ----------------------
TX D9 GPIO18
RX D10 GPIO21
BUZZER
TBD
Bauteilliste (WIP)
------------
1x ESP32-S3 Nano (Waveshare)
berrybase.de
eckstein-shop.de
6x Taster schwarz (1-6)
1x Taster farbig (DST)
1x M12 Micro-C Einbaubuchse
1x RGB LED (gemeinsame Kathode), diffus
3x LED grün, diffus
6x Widerstand 330 Ohm
1x SN65HVD230 CAN Transceiver
1x Buzzer 12V, passiv
1x MOSFET 2N7000
1x Widerstand 150 Ohm
1x Kabelsatz für Tasten, 0,25 bis 0,5 mm²
1x Terminalblock 2pol. 2,54mm schraubbar
1x 3D-Gehäuse bestehend auf Front- und Rückseite
1x Mutternwerkzeug 3D-Druck
4x Befestigungsschraube M4 Senkkopf
4x Gehäuseschraube M2,5, lang
8x Platinenschraube M2,5, kurz
1x Silikondichtschnur 2mm
1x SHT31 I²C-Modul
Buchsenleiste 2,54 mm
Stiftleiste 2,54mm
2x Jumper
1x Polyfuse
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%