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
|
## 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
|
||||||
|
|
|
||||||
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