Add Arduino Mega 2560 profile and SOS sketch

This commit is contained in:
christian 2026-10-24 15:33:25 +02:00
parent 98a36185b8
commit d34fccf786
4 changed files with 147 additions and 0 deletions

View file

@ -9,6 +9,21 @@ og hver enhedsprofil linker til de sketches, hvor enheden bruges.
## Mine boards ## Mine boards
### Arduino Mega 2560 Rev3
- **Primær MCU:** ATmega2560, 16 MHz 8-bit AVR
- **USB-seriel:** ATmega16U2, observeret som `VID 2341 / PID 0042`
- **Hukommelse:** 256 KB flash, 8 KB SRAM og 4 KB EEPROM
- **Logikniveau:** 5 V
- **I/O:** 54 digitale ben, 15 PWM-udgange og 16 analoge indgange
- **Interfaces:** fire UARTs, I²C, SPI, USB-B, ICSP og eksterne interrupts
- **Onboard:** bruger-LED på D13, reset-knap og DC-jack
- **Trådløst og sensorer:** ingen indbyggede
- **Arduino CLI FQBN:** `arduino:avr:mega`
Boardet blev identificeret direkte via USB og Arduino CLI. Detaljer og kilder
findes i [`boards/arduino-mega-2560`](boards/arduino-mega-2560/README.md).
### Arduino UNO R4 WiFi ### Arduino UNO R4 WiFi
- **Primær MCU:** Renesas RA4M1, 48 MHz Arm Cortex-M4 - **Primær MCU:** Renesas RA4M1, 48 MHz Arm Cortex-M4
@ -67,6 +82,8 @@ eget stabile device-id:
```text ```text
boards/ boards/
arduino-mega-2560/
README.md
arduino-uno-r4-minima/ arduino-uno-r4-minima/
README.md README.md
arduino-uno-r4-wifi/ arduino-uno-r4-wifi/
@ -75,6 +92,9 @@ devices/
lcd1602-i2c-pcf8574/ lcd1602-i2c-pcf8574/
README.md README.md
sketches/ sketches/
arduino-mega-2560/
sos_blink/
sos_blink.ino
arduino-uno-r4-minima/ arduino-uno-r4-minima/
README.md README.md
arduino-uno-r4-wifi/ arduino-uno-r4-wifi/
@ -103,6 +123,11 @@ samlede enhedsindeks findes i [`devices/`](devices/README.md).
## Sketches ## Sketches
### Arduino Mega 2560 Rev3
- [`sos_blink`](sketches/arduino-mega-2560/sos_blink) – SOS i morsekode på den
indbyggede D13-LED
### Arduino UNO R4 WiFi ### Arduino UNO R4 WiFi
- [`led_matrix_demo`](sketches/arduino-uno-r4-wifi/led_matrix_demo) – animationer - [`led_matrix_demo`](sketches/arduino-uno-r4-wifi/led_matrix_demo) – animationer

View file

@ -0,0 +1,58 @@
# Arduino Mega 2560 Rev3
## Identifikation
| Felt | Verificeret værdi |
| --- | --- |
| Producent | Arduino |
| Model | Mega 2560 Rev3 |
| Aktuel port | `COM9` |
| Primær MCU | ATmega2560 |
| USB-serielcontroller | ATmega16U2 |
| USB-ID | `VID 2341 / PID 0042` |
| Arduino CLI FQBN | `arduino:avr:mega` |
Boardet identificerede sig via USB som `Arduino Mega 2560`, og Arduino CLI
matchede det direkte med den officielle Mega 2560-definition.
## Out-of-the-box
Mega 2560 er især velegnet til projekter med mange forbindelser. Boardet har:
- indbygget bruger-LED på D13;
- 54 digitale ind- og udgange, hvoraf 15 understøtter PWM;
- 16 analoge indgange med 10-bit ADC;
- fire hardware-UARTs (`Serial`, `Serial1`, `Serial2` og `Serial3`);
- I²C/TWI og SPI;
- seks eksterne interrupt-indgange;
- USB-B, DC-jack, ICSP-headere og reset-knap;
- 4 KB ikke-flygtig EEPROM.
Boardet har ingen indbyggede miljø- eller bevægelsessensorer og ingen Wi-Fi
eller Bluetooth.
## Tekniske hoveddata
| Egenskab | Værdi |
| --- | --- |
| Arkitektur | 8-bit AVR |
| Clock | 16 MHz |
| Flash | 256 KB, hvoraf 8 KB bruges af bootloaderen |
| SRAM | 8 KB |
| EEPROM | 4 KB |
| Logikniveau | 5 V |
| Digitale I/O | 54 |
| PWM-udgange | 15 |
| Analoge indgange | 16 |
| Hardware-UARTs | 4 |
## Sketches i dette repo
- [`sos_blink`](../../sketches/arduino-mega-2560/sos_blink) – blinker SOS i
morsekode med den indbyggede D13-LED
## Kilder
- [Arduino Mega 2560 Rev3 hardware documentation](https://docs.arduino.cc/hardware/mega-2560/)
- [Arduino Mega 2560 Rev3 datasheet](https://docs.arduino.cc/resources/datasheets/A000067-datasheet.pdf)
- [Arduino AVR core board definitions](https://github.com/arduino/ArduinoCore-avr/blob/master/boards.txt)

View file

@ -0,0 +1,19 @@
# SOS-blink til Arduino Mega 2560
Sketchen blinker `SOS` (`... --- ...`) i morsekode på boardets indbyggede
LED, som er forbundet til D13.
Timing med `UNIT_MS = 200`:
- prik: 1 enhed;
- streg: 3 enheder;
- pause mellem symboler: 1 enhed;
- pause mellem bogstaver: 3 enheder;
- pause mellem gentagelser: 7 enheder.
## Byg og upload
```powershell
arduino-cli compile --fqbn arduino:avr:mega sketches/arduino-mega-2560/sos_blink
arduino-cli upload -p COM9 --fqbn arduino:avr:mega sketches/arduino-mega-2560/sos_blink
```

View file

@ -0,0 +1,45 @@
// SOS in Morse code on the Arduino Mega 2560 built-in LED.
// S = ... O = --- S = ...
constexpr unsigned long UNIT_MS = 200;
void blinkSymbol(unsigned long onUnits) {
digitalWrite(LED_BUILTIN, HIGH);
delay(onUnits * UNIT_MS);
digitalWrite(LED_BUILTIN, LOW);
// Every Morse symbol is followed by a one-unit gap.
delay(UNIT_MS);
}
void blinkLetter(const char *pattern) {
for (const char *symbol = pattern; *symbol != '\0'; ++symbol) {
blinkSymbol(*symbol == '.' ? 1 : 3);
}
}
void letterGap() {
// blinkSymbol() already supplied the first of the three gap units.
delay(2 * UNIT_MS);
}
void wordGap() {
// blinkSymbol() already supplied the first of the seven gap units.
delay(6 * UNIT_MS);
}
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, LOW);
}
void loop() {
blinkLetter("...");
letterGap();
blinkLetter("---");
letterGap();
blinkLetter("...");
wordGap();
}