Hurtigstart · v3.0 Rev C

Kom i gang med Kjern‑32u4HID‑C

Fra posen til første opplasting tar det rundt fem minutter. Kortet plugges rett i en USB-C-port, og programmeres med vanlig Arduino-kode.

Kjern-32u4HID-C v3.0 Rev C

1. Installer Arduino IDE

Kortet programmeres med Arduino IDE og vanlig Arduino-kode. Det virker på Windows, Mac og Linux.

Arduino IDE

  1. Installer Arduino IDE fra arduino.cc.
  2. Fil, Innstillinger: lim inn adressen under i feltet for ekstra kortbehandler-adresser.
  3. Verktøy, Kort, Kortbehandler: søk etter «Kjern» og installer Kjern AVR Boards.
  4. Velg kortet under Verktøy, Kort, Kjern AVR Boards, og porten under Verktøy, Port.
  5. For tastatur og mus: installer Keyboard og Mouse i bibliotekbehandleren.

Kjern IDE Kommer

Vi lager et eget kodeverktøy for Windows som finner kortet selv, kjenner pinnene og har makrobygger og redningsopplasting innebygd. Det er under utvikling og ikke klart for alle ennå.

Skissene du lager i Arduino IDE kan du åpne direkte i Kjern IDE når den kommer.

2. Første opplasting

Blink er den raskeste måten å se at alt virker. LED-en ved siden av USB-C-pluggen skal blinke en gang i sekundet.

  • 1

    Plugg kortet rett i en USB-C-port på PC-en. Det trengs ingen driver på Windows 10 og 11, Mac eller Linux.

  • 2

    Lim inn koden under i et tomt vindu i Arduino IDE, og sjekk at Kjern-32u4HID-C og riktig port er valgt under Verktøy.

  • 3

    Trykk Last opp. Kortet starter seg selv i bootloaderen, får den nye koden og starter på nytt etter et par sekunder.

3. Pinout og loddebroer

15 pinner langs kantene, med strøm på høyre side. Hold musa over en loddebro i listen for å se hvor den sitter på kortet.

D10 (PB6): PWM, A10 D10 D10 (PB6): PWM, A10 D10 D9 (PB5): PWM, A9 D9 D9 (PB5): PWM, A9 D9 D8 (PB4): A8 D8 D8 (PB4): A8 D8 D1 (PD3): TX (Serial1), INT3 D1 D1 (PD3): TX (Serial1), INT3 D1 D0 (PD2): RX (Serial1), INT2 D0 D0 (PD2): RX (Serial1), INT2 D0 D2 (PD1): SDA, INT1 D2 D2 (PD1): SDA, INT1 D2 D3 (PD0): SCL, PWM, INT0 D3 D3 (PD0): SCL, PWM, INT0 D3 D11 (PB7): PWM D11 D11 (PB7): PWM D11 D14 (PB3): MISO D14 D14 (PB3): MISO D14 D16 (PB2): MOSI D16 D16 (PB2): MOSI D16 GND: Jord GND GND: Jord GND GND: Jord GND GND: Jord GND 5V: USB 5 V etter polyfusen 5V 5V: USB 5 V etter polyfusen 5V 3V3: AMS1117, til sensorer 3V3 3V3: AMS1117, til sensorer 3V3 3V3: AMS1117, til sensorer 3V3 3V3: AMS1117, til sensorer 3V3 A3 (PF4): Analog A3 A3 (PF4): Analog A3 A4 (PF1): Analog A4 A4 (PF1): Analog A4 A5 (PF0): Analog A5 A5 (PF0): Analog A5 D15 (PB1): SCK D15 D15 (PB1): SCK D15 D17 (PB0): SS D17 D17 (PB0): SS D17

Pinnene er nummerert som på Arduino Leonardo. Logikken er 5 V. Funksjonene står i tabellen under.

Loddebroer

  • LED-SETBaksiden, fra fabrikken: koden (D13)

    Bestemmer hva LED-en henger på. Fra fabrikken styres den fra koden på D13. Kutt broen og lodd den andre siden for alltid på, eller la begge sider være åpne for å slå den helt av.

  • HWB-LOWForsiden, fra fabrikken: åpen

    Trekker HWB (PE2) til GND. Med standard sikringer er HWB-oppstart av, så dette betyr bare noe hvis du slår på HWBE-sikringen selv.

  • HWB_PUForsiden, fra fabrikken: lukket

    Kobler pull-up-motstanden til HWB. Den er lukket fra fabrikken. Kutt det lille sporet for å koble den fra.

  • EMI-DISBaksiden, fra fabrikken: åpen

    USB-C-skjermen går til jord gjennom 1 MΩ og 4,7 nF i parallell. Lodd over for å koble skjermen rett til GND.

  • FUSE-BYPBaksiden, fra fabrikken: åpen

    Går forbi 500 mA-polyfusen. Den tilbakestiller seg selv når den har kjølt seg, så du trenger normalt aldri denne.

  • 3V3-ENBaksiden, fra fabrikken: lukket

    Kobler 5 V til AMS1117. Kutt den for å slå av hele 3,3 V-skinnen.

  • AVCC-BYPBaksiden, fra fabrikken: åpen

    AVCC får strøm fra VCC gjennom en 10 Ω filtermotstand. Lodd over for å koble dem rett sammen.

PinneArduinoPortFunksjonPlassering
D1616PB2MOSIVenstre, 10. fra bunnen
D1414PB3MISOVenstre, 9. fra bunnen
D1111PB7PWMVenstre, 8. fra bunnen
D33PD0SCL, PWM, INT0Venstre, 7. fra bunnen
D22PD1SDA, INT1Venstre, 6. fra bunnen
D00PD2RX (Serial1), INT2Venstre, 5. fra bunnen
D11PD3TX (Serial1), INT3Venstre, 4. fra bunnen
D88PB4A8Venstre, 3. fra bunnen
D99PB5PWM, A9Venstre, 2. fra bunnen
D1010PB6PWM, A10Venstre, 1. fra bunnen
D1717PB0SSHøyre, 10. fra bunnen
D1515PB1SCKHøyre, 9. fra bunnen
A5A5 / 23PF0AnalogHøyre, 8. fra bunnen
A4A4 / 22PF1AnalogHøyre, 7. fra bunnen
A3A3 / 21PF4AnalogHøyre, 6. fra bunnen
3V3  AMS1117, til sensorerHøyre, 5. fra bunnen
3V3  AMS1117, til sensorerHøyre, 4. fra bunnen
5V  USB 5 V etter polyfusenHøyre, 3. fra bunnen
GND  JordHøyre, 2. fra bunnen
GND  JordHøyre, 1. fra bunnen

LED-en sitter på D13 (LED_BUILTIN). A0 ligger bare på testputen TP24 foran på kortet, ikke på kanten.

4. Lag et tastatur

Det kortet er laget for: det kan være tastatur, mus og mediataster for PC-en. Koble en knapp mellom D2 og GND, så skriver dette en linje tekst for hvert trykk.

#include <Keyboard.h>

const int BUTTON_PIN = 2;

void setup() {
  pinMode(BUTTON_PIN, INPUT_PULLUP);
  Keyboard.begin(KeyboardLayout_da_DK);
}

void loop() {
  if (digitalRead(BUTTON_PIN) == LOW) {
    Keyboard.println("Hei fra Kjern-32u4HID-C!");
    while (digitalRead(BUTTON_PIN) == LOW) delay(10);
    delay(50);
  }
}

Norsk tastatur: Keyboard-biblioteket har ikke norsk layout. Dansk er nærmest, derfor KeyboardLayout_da_DK. Æ, ø og å støttes ikke.

Sikkerhet

Kortet er lite og tåler mye, men ikke alt.

Pass på USB-C-pluggen

Ikke trykk eller len på kortet mens det sitter i. Det bøyer pluggen, og til slutt kan den knekke av. Hold i kortet ved pluggen når du setter det i og drar det ut.

Maks 5 V

Ikke koble mer enn 5 V til noen pinne.

Lite strøm per pinne

Hold deg under 20 mA per pinne. 3,3 V er til sensorer, ikke motorer.

Statisk elektrisitet

Hold kortet i kantene, og oppbevar det i den antistatiske posen.

Tørt og isolert underlag

Ikke legg kortet på metall eller løse ledninger mens det har strøm.

Ikke for små barn

Små deler og skarpe loddepunkter.

Kastes som EE-avfall

Ikke i restavfallet. Lever det der du leverer annen elektronikk.

Når noe ikke virker

Det meste løses med en av disse.

Kortet dukker ikke opp

Sjekk at kortet sitter helt inne i porten, og prøv en annen port. Har PC-en bare vanlige USB-A-porter, trenger du en adapter fra USB-A til USB-C.

Kortet dukker opp som en COM-port. Nummeret kan bytte etter opplasting. Velg porten på nytt under Verktøy, Port hvis den forsvinner.

Opplastingen feiler, eller en tastaturskisse har tatt over PC-en

Trykk RESET-knappen. Da kjører bootloaderen i 8 sekunder, uansett hva skissen gjør.

Trykk Last opp, og trykk RESET med en gang det står «Uploading» nederst.

Kortet slutter å virke når noe er koblet til

Da har polyfusen slått inn fordi noe trakk over 500 mA. Dra ut kortet, finn ut hva som trakk for mye, og vent et minutt. Fusen tilbakestiller seg selv når den har kjølt seg.

Tegn blir feil når kortet skriver tekst

Bruk Keyboard.begin(KeyboardLayout_da_DK) på en norsk PC. Æ, ø og å kan ikke skrives med Keyboard-biblioteket.

Skissen starter ikke uten PC

while (!Serial); venter for alltid når kortet får strøm fra en lader. Bruk while (!Serial && millis() < 3000); i stedet.

Fortsatt fast?

Skriv til [email protected]. Ta med hva som står nederst i vinduet når det feiler.

Fakta

ATmega32U416 MHz, 5 V
28 KBflash til skisser
2,5 KBRAM, 1 KB EEPROM
15pinner langs kantene
USB-Cinnebygd USB, HID og seriell
3,3 VAMS1117 på baksiden
500 mApolyfuse, tilbakestiller seg selv
18 x 32 mm4 lag, kantpinner

Ikke laget for medisinsk eller sikkerhetskritisk bruk.