Add Arduino Mega 2560 profile and SOS sketch
This commit is contained in:
parent
98a36185b8
commit
d34fccf786
4 changed files with 147 additions and 0 deletions
25
README.md
25
README.md
|
|
@ -9,6 +9,21 @@ og hver enhedsprofil linker til de sketches, hvor enheden bruges.
|
|||
|
||||
## 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
|
||||
|
||||
- **Primær MCU:** Renesas RA4M1, 48 MHz Arm Cortex-M4
|
||||
|
|
@ -67,6 +82,8 @@ eget stabile device-id:
|
|||
|
||||
```text
|
||||
boards/
|
||||
arduino-mega-2560/
|
||||
README.md
|
||||
arduino-uno-r4-minima/
|
||||
README.md
|
||||
arduino-uno-r4-wifi/
|
||||
|
|
@ -75,6 +92,9 @@ devices/
|
|||
lcd1602-i2c-pcf8574/
|
||||
README.md
|
||||
sketches/
|
||||
arduino-mega-2560/
|
||||
sos_blink/
|
||||
sos_blink.ino
|
||||
arduino-uno-r4-minima/
|
||||
README.md
|
||||
arduino-uno-r4-wifi/
|
||||
|
|
@ -103,6 +123,11 @@ samlede enhedsindeks findes i [`devices/`](devices/README.md).
|
|||
|
||||
## 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
|
||||
|
||||
- [`led_matrix_demo`](sketches/arduino-uno-r4-wifi/led_matrix_demo) – animationer
|
||||
|
|
|
|||
58
boards/arduino-mega-2560/README.md
Normal file
58
boards/arduino-mega-2560/README.md
Normal 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)
|
||||
19
sketches/arduino-mega-2560/sos_blink/README.md
Normal file
19
sketches/arduino-mega-2560/sos_blink/README.md
Normal 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
|
||||
```
|
||||
45
sketches/arduino-mega-2560/sos_blink/sos_blink.ino
Normal file
45
sketches/arduino-mega-2560/sos_blink/sos_blink.ino
Normal 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();
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue