Kom i gang med sjov elektronik på Arduino

Med Arduinos open source-platform kan du lave en masse sjove elektronik-ting. Her er to projekter: et simpelt kredsløb og en emulering af et USB-tastatur, så du hurtigt kan ændre skærmbilledet, når chefen kommer ind. Kod via enten en online-editor eller det traditionelle Arduino-IDE. Tilslut dit Arduino Nano 33 IoT. Gå ind på <a href="https://create.arduino.cc">https://create.arduino.cc</a>. Opret en konto, så du kan hente appen Arduino Create. Følg anvisningerne.

Artikel top billede

(Foto: Computerworld)

Af Torben Okholm, Alt om Data

Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.

 
Det skal du bruge

• Et Arduino Nano 33 IoT eller Leonardo A-breadboard – pris 200-300 kr.
2 x  M2M-jumperkabler.


• Projekt 1: en LED 330 Ohm-resistor
(orange-orange-brun-guld)


• Projekt 2: trykknapkontakt
(enhver type burde fungere her)


 
1 Projekt 1: Hello World

Det mest elementære projekt, vi kan oprette, er at flashe et LED-lys. Men hvorfor skulle vi gøre det? Fordi det bekræfter, at vi kan sende data til kortet, og det bekræfter også, at vores elektroniske komponenter virker [Billede]. Projektets kredsløb omfatter et LED-lys, et breadboard, en 330 ohm-resistor og to jumperkabler (han-til-han). LED-lyset bliver placeret på et breadboard, og resistorer bliver forbundet til det korte ben (katoden, –, GND-ben) og til Arduinos GND-pin via et jumperkabel. LED’ets lange ben (anode, +) bliver forbundet til Arduinos pin 2 via et andet jumperkabel.


2 Projektets kodning

I Arduino IoT Cloud klikker du
“Arduino Web Editor”, hvorefter du forbinder Arduino til din computer. Opret en ny sketch i “Sketchbook”. Det første skridt er at oprette en funktion, der kan fortælle
Arduino, at vi ønsker at bruge pin 2 som et output til at sende strøm til det forbundne LED.


 

void setup() {


 pinMode(2, OUTPUT);


}


>> Vores løkke vil køre koden for evigt, og inden i hovedløkken er der en for
-løkke, som vil gentage (gå rundt) tre gange og hurtigt flashe vores LED-lys, før den holder pause.


 

void loop() {


  for (int i = 0; i <= 3; i++) {


 

>> For at tænde LED’et skal vi bruge
“digitalWrite” og derefter angive pin-tallet og pin’ens tilstand. I dette tilfælde sætter vi pin 2 til “HIGH”, hvilket forårsager, at LED’et lyser op. Efter en kort pause på 100 ms tænder vi LED’et ved hjælp af “LOW”. Endnu en pause opstår, før  for  -løkken går tilbage til start igen. Når for -løkken har kørt tre gange, slutter den og afbryder. En sidste pause på et sekund (1000 ms) får LED’et til at slukke, og den opretter en lang pause i flashsekvensen.


 

   digitalWrite(2, HIGH); 


   delay(100); 


   digitalWrite(2, LOW);


   delay(100);


  } 


  delay(1000);


 }


>> Klik på fluebenet for at tjekke din kode [Billede], og klik dernæst på pilen for at flashe koden til Arduino. Efter få sekunder genstarter kortet, og LED’et flasher hurtigt tre gange, holder pause, og gentager processen. Til lykke! Du har med held afprøvet dit Arduino. 


3 Projekt 2: behold jobbet

Her vil vi lave en simpel kontakt – når man trykker på den, udløser den en ny fane i Firefox eller Chrome, og der bliver åbnet en side, som ligner MS Outlook, men som faktisk er Reddit i forklædning. Den er praktisk på arbejde, i skolen eller hjemme, men du må bruge den på egen risiko!

>> Ved hjælp af et breadboard skal vi forbinde en trykknapkontakt over den centrale kanal, således at benene bliver spredt over mellemrummet. Brug nu to jumperkabler (han-til-han), forbind kontaktens øverste venstre ben til GND på Arduino, og forbind så det øverste højre ben til pin 2 på Arduino.

4 Projektets kodning

I Arduino IoT Cloud klikker du “Arduino Web Editor” og slutter Arduino til din computer. Opret en ny sketch i “Sketchbook”. Importer nu biblioteket “Keyboard”, som sætter Arduino i stand til at emulere et USB-tastatur [Billede].

 

 #include <Keyboard.h>


 
Vi kan skrive dette i kode, eller vi kan gå til “Libraries”, søger efter “Keyboard” og klikke “Include”.


>> Det næste skridt er at konfigurere den pin, vi bruger til kontakten, og til at starte tastaturets interface. Vi bruger en funktion ved navn “setup”, som kører én gang, når der bliver tændt for kortet. Ved hjælp af “pinMode” kan vi fortælle Arduino, at vi ønsker at bruge pin 2 som input, og at den interne pull-up-resistor skal trække pin’en højt, således at når der bliver trykket på kontakten, forbinder den pin 2 (high) til GND. Dette trækker pin 2 lavt og udløser handlingen. 

 void setup() {


  pinMode(2, INPUT_PULLUP);  


  Keyboard.begin();


 }


>> For at få koden til at køre konstant skal vi oprette en løkke, der rummer koden. Den første kodesektion i løkken er en test af, om der er blevet trykket på knappen. Med “digitalRead” kan vi tjekken pin 2, og hvis den er “HIGH”, er der ikke blevet trykket på knappen. Det betyder, at koden ikke skal gøre noget og stadig skal vente på input. Vi bør bruge en pause på 50 ms for at forhindre uønsket aktivering.

 

 void loop() {  


  while (digitalRead(2) == HIGH) {


    delay(50); 


 }


 
>> Hvad sker der, hvis der bliver trykket på knappen? I dette tilfælde bliver der tilføjet en pause på 100 ms, før der bliver trykket på en række taster for at åbne en fane. Til at trykke på en tast bruger vi “Keyboard.press” og angiver tastens detaljer. For taster som Ctrl, Alt og Shift angiver vi detaljerne i en fast rækkefølge og angiver, om det er venstre eller højre udgave af hver tast. For almindelige tegn (bogstaver, tal, tegnsætning) angiver vi tasten som en streng. Dernæst angiver vi en pause på 100 ms for at sikre os, at tastaturtrykkene bliver registreret. 

 delay(100); 


   Keyboard.press(KEY_LEFT_CTRL); 


   Keyboard.press(‘t’); 


   delay(100);


 
>> Lige nu bliver tasterne trykket ned. Hvis det sker for længe, kan det give problemer. For at slippe tasterne bruger vi “Keyboard.releaseAll”, før vi fortsætter. Når en ny fane åbnes i Firefox/Chrome, fokuserer markøren på adressebjælken, og i den næste kodelinje sætter vi en URL til Reddit/Outlook-websitet. Så slipper vi tasterne endnu en gang, før en endelig pause på 100 ms afslutter løkken.

 

   Keyboard.releaseAll(); 


   Keyboard.println(“http://pcottle.github.io/ MSOutlookit/”); 


   Keyboard.releaseAll(); 


   delay(100);


 }


>> Klik på fluebenet for at tjekke din kode, og klik så på pilen for at flashe koden til Arduino. Efter få sekunder genstarter kortet og er klart til brug. Fortsæt, tryk på knappen [Billede], og sørg for, at det virker, før chefen kommer marcherende ind! 

Læses lige nu

    Event: Cyber Security Festival 2026

    Sikkerhed | København

    Mød Danmarks skrappeste it-sikkerhedseksperter og bliv klar til at planlægge og eksekvere en operationel og effektiv cybersikkerhedsstrategi, når vi åbner dørene for +1.700 it-professionelle. Du kan glæde dig til oplæg fra mere end 70 talere og møde mere end 50 leverandører over to dage.

    18 & 19. november 2026 | Gratis deltagelse

    Navnenyt fra it-Danmark

    Norriq Danmark A/S har pr. 2. marts 2026 ansat Kristoffer Hyltoft Overlund som Consultant ERP. Han skal især beskæftige sig med understøtte vores kunders forretning og vækstambitioner. Han kommer fra en stilling som Salgskonsulent hos D´Wine. Han er uddannet hos Aalborg Universitet hvor hvor han har taget en cand.it, IT-ledelse. Nyt job

    Kristoffer Hyltoft Overlund

    Norriq Danmark A/S

    Arctic Wolf Networks har pr. 3. august 2026 ansat Johnny Krogsboll som Head of Sales Engineering for Norden.Med base i Stockholm får han ansvaret for Arctic Wolfs samlede Sales Engineering-organisation i den nordiske region.<br /><br />Johnny Krogsboll skal være med til at udbygge Arctic Wolfs tilstedeværelse i Norden og hjælpe virksomheder og organisationer med at stå stærkere over for et stadig mere komplekst cybertrusselsbillede. Det skal blandt andet ske i tæt samarbejde med Arctic Wolfs vigtigste kanalpartnere i regionen.<br /><br />Gennem sin karriere har Johnny Krogsboll arbejdet med og rådgivet virksomheder hos blandt andre Hewlett-Packard, Trend Micro og Palo Alto Networks med fokus på at skabe konkret værdi af deres teknologiinvesteringer. Nyt job

    Johnny Krogsboll

    Arctic Wolf Networks

    Netip A/S har pr. 1. august 2026 ansat Thomas B. Steffensen som Seniorkonsulent ved netIP's kontor i Thisted. Han kommer fra en stilling som Senior IT/OT Network Consultant hos Frontmatec. Nyt job
    Sophie Dalsgaard Myhrmann, er pr. 1. september 2026 ansat hos Elbek & Vejrup A/S som Project Manager i Logistik & Produktion. Hun skal især beskæftige sig med projektledelse indenfor logistik og produktion. Hun er nyuddannet cand.it, i IT, kommunikation og Organisation fra Aarhus Univeristet. Nyt job

    Sophie Dalsgaard Myhrmann

    Elbek & Vejrup A/S