Bli en maker och bygg egna projekt med Arduinos användarvänliga startsats

Av Art Pini

Bidraget med av DigiKeys nordamerikanska redaktörer

Det finns hundratals resurser särskilt avsedda för ”makers”, dvs. personer som vill lära sig hur man bygger enheter som kan känna av och reagera på den omgivande miljön. Både för ingenjörer och andra är det här en kreativ subkultur där alla kan delta, lära sig och lära andra om elektronik, styrsystem, mikrodatorer, sensorer och ställdon. Ett av de enklaste sätten att komma igång är att använda startsatsen från Arduino – en ikon inom maker-kulturen.

Arduino marknadsför microcontrollerkort och relaterad programvara för det öppenkodsbaserade maskinvaru- och programvarucommunityt. De elektroniska kretskorten kombinerar microcontrollers och RAM-minne (random access memory), skrivskyddat minne (ROM, read only memory) och integrerade kretsar. Tillsammans bildar komponenterna en öppenkodsbaserad prototypplattform med allt som behövs för att genomföra en rad väldokumenterade maker-projekt.

Den här artikeln ger en introduktion till Arduinos startsats, baserat på författarens (en ingenjör) personliga erfarenhet.

Arduinos startsats | DigiKey

Arduinos startsats innehåller allt som behövs för att bygga och köra 15 olika projekt (figur 1).

Bild av Arduino startsatsFigur 1: I Arduinos startsats kombineras Arduinos UNO-microcontrollerkort med ett antal elektroniska komponenter och Arduinos 171-sidiga projektbok, som ger en introduktion till en hel värld av interaktiv elektronik. (Bildkälla: Arduino)

I startsatsen används Arduinos uppskattade UNO-microcontrollerkort, som baseras på Microchip Technologys integrerade microcontrollerkrets ATmega328P (figur 2).

Bild av Arduinos UNO-kortFigur 2: Arduinos UNO-kort innehåller alla komponenter som behövs för att ge stöd för microcontrollern ATmega328P. (Bildkälla: Arduino, anteckning av DigiKey)

UNO-kortet har fjorton digitala ingångs-/utgångsstift som stöder pulsbreddsmodulering (PWM) för styrning av LED-ljusstyrka och ljudvolym. Det finns sex analoga ingångar, uppbackade av en analog-till-digitalomvandlare med successiv approximation (SAR-ADC) och 10-bitars upplösning vid omvandlingsfrekvensen 15 kilo-samples per sekund (kS/s) vid full upplösning. Det finns en inbyggd klocka med en egen 16 MHz kvartskristall. En USB-port ger enkel anslutning till dator. Ström kan levereras via USB-porten, alternativt via ett uttag på kortet. Strömkällan väljs automatiskt.

UNO-kortet har en bootloader för normal programmering, men denna kan förbikopplas, vilket gör det möjligt att programmera microcontrollern via en ICSP-stiftlist. Slutligen har UNO-kortet också en återställningsknapp, vilket gör det enkelt att återgå till ett defaultläge vid behov.

ATmega328P-processorn är en strömsnål 8-bitars microcontroller med en förbättrad RISC-arkitektur (reduced instruction set computer) (figur 3). I RISC-arkitekturen utförs instruktionerna i en enda klockcykel, vilket ger ett mycket snabbt exekveringsflöde.

Funktionsblockdiagram för Microchips 8-bitars ATmega328P-microcontrollerFigur 3: Funktionsblockdiagram för Microchips 8-bitars ATmega328P-microcontroller som används i Arduino UNO. Den har en RISC-baserad arkitektur med snabb instruktionsexekvering i en enda cykel. (Bildkälla: Microchip Technology)

ATmega328P har inbyggt minne i form av icke-flyktiga minnessegment, varav 32 kbyte flashprogramminne, 1 kbyte EEPROM (electrically erasable programmable read-only memory) och 2 kbyte SRAM (statiskt random-access memory). ATmega328 på Arduino UNO-kortet är förprogrammerat med en bootloader som gör det möjligt för användaren att ladda upp ny kod utan att använda en extern maskinvaruprogrammerare. Bootloadern upptar 500 byte av flashprogramminnet. Chippet innehåller flera seriella datagränssnitt, inklusive en UART (universal asynchronous receiver transmitter), ett SPI (serial peripheral interface) och ett tvåtrådsgränssnitt, även känt som en I2C-buss (Inter-Integrated Circuit).

Arduinos startsats finns på fem språk. Satsen innehåller Arduinos UNO-microcontrollerkort och alla komponenter som behövs för att skapa 15 olika projekt. Arduinos 171-sidiga projektbok vägleder användaren genom projekten. I boken beskrivs både maskinvaru- och programvaruaspekterna av att använda Arduino UNO som hjärna i de olika projekten.

Tydlig beskrivning av enheter och förklaring av terminologin

Ny terminologi och att man inte känner till enheterna är ett av de vanligaste problemen för nybörjare inom elektronik och programmering. Arduinos projektbok eliminerar det problemet genom att presentera en översikt över de olika delarna i satsen, som innehåller 134 elektronikkomponenter utöver Arduino UNO-kortet. Avsnittet innehåller en bild av varje komponent och en beskrivning av komponentens funktion. Den schematiska symbolen för varje del visas också.

Många nybörjare känner inte till elektroniska prototypkort eller kopplingsdäck. Därför innehåller handboken också ett avsnitt som beskriver hur prototypkortet erbjuder en lödningsfri metod för att ansluta komponenterna. Det finns en beskrivning av ledningsmönstret på prototypkortet och en förklaring av hur strömbussarna löper. Detta eliminerar onödig förvirring för den som använder satsens prototypkort första gången.

Efter den allmänna beskrivningen av de olika delarna följer en översikt över UNO-kortets layout med fokus på kortets anslutningar, indikatorer och interaktiva omkopplare. I detta avsnittet etableras den maskinvaruterminologi som används i de efterföljande avsnitten.

I avsnittet därefter ges en enkel instruktion för hur man installerar Arduinos programvara i operativsystemen Windows, Mac och Linux. Den programvara som främst används är Arduinos integrerade utvecklingsmiljö (IDE), som kan laddas ner från Arduinos webbplats. IDE är den programvarumiljö som används för att skapa körbar kod som kan laddas upp till Arduinos UNO-kort.

Starta projekten

När IDE-miljön är inläst utförs ett antal steg för att upprätta kommunikation mellan värddatorn och UNO-kortet via en USB-anslutning. Referenslänkar till Arduinos felsökningsavsnitt och IDE-referensavsnittet finns också, om problem uppstår. Härifrån kan användaren sätta igång med projekten.

För varje projekt ges utförliga instruktioner om hur man väljer nödvändiga komponenter (listade som ”ingredienser” i specifika illustrationer för varje projekt) och hur dessa sammankopplas på prototypkortet. Ett exempel är projekt nr 2, ”Spaceship Interface” (rymdskeppsgränssnitt), där en omkopplare och tre lysdioder kopplas in för att skapa en kontrollpanel, där en tryckning på omkopplaren avgör lysdiodernas beteende. I introduktionsdelen för varje projekt anges beräknad utförandetid – som för projekt nr 2 är 45 minuter. I ingredienslistan för projekt nr 2 ingår en tryckknappsbrytare, tre lysdioder, tre 220 Ω motstånd och ett 10 kΩ motstånd. Med hjälp av färdigkapade och skalade bryggledningar kopplas kretsen ihop på prototypkortet. En av sidorna i det aktuella avsnittet lär ut avläsning av resistoansfärgkoder, vilket underlättar för användaren i andra projekt senare.

I figur 4 visas den ihopkopplade kretsen och bilder från projektboken. I projektboken visas inkopplingsinstruktionerna både på bild och representerad schematiskt. Genom att jämföra de två typerna av bilder lär sig användaren snabbt att tolka de schematiska symbolerna och komponentanslutningarna.

Bild av inkopplingsinstruktioner i projektboken (klicka för att förstora)Figur 4: Inkopplingsinstruktionerna i projektboken, den verkliga prototypen och UNO-korten. Instruktionerna visas både i bildform och som schematiskt diagram. (Bildkälla: DigiKey)

Programvarusidan av projektet är det sista skedet i processen. För microcontrollers som ATmega328P på Arduino UNO-kortet används lågnivåinstruktioner, vilket även kallas maskinkod. Sådan kod är i stort sett en uppsättning av binära tal som styr den inre maskinvaran. Men ingen behöver koda maskinspråket manuellt. Programmeringen utförs på högre nivå, på ett språk som i flera steg översätts till binära kommandon som microcontrollern förstår. Detta förenklar programmeringsprocessen väsentligt. Verktyget som används för detta är Arduinos integrerade IDE, som har nämnts tidigare.

Projekt nr 2 fortsätter med instruktioner för programvarukoden, vilka Arduino kallar för en ”sketch” (från engelskan). Varje steg i skissen beskrivs, och varje kodsegments funktion förklaras (figur 5).

Bild av programmet, sketchen, för projekt nr 2 i Arduinos IDE-programredigerareFigur 5: Programmet, eller sketch för projekt nr 2 i Arduinos IDE-programredigerare. (Bildkälla: DigiKey)

Användaren kan skriva koden manuellt eller ladda ner den via en filhämtningsmeny (figur 6).

Bild: sketcher för alla projekt är tillgängliga i Arduinos IDEFigur 6: Skisserna för alla projekt är tillgängliga i Arduinos IDE. Användaren kan antingen registrera koden manuellt eller ladda ned skisserna genom att välja dem i en meny. (Bildkälla: DigiKey)

När koden har registrerats eller laddats ner kan koden kompileras med hjälp av alternativet Verify/Compile under menyn Sketch i IDE-gränssnittet. Kompilatorn kontrollerar koden avseende syntax och andra potentiella fel. IDE-gränssnittet indikerar att kompileringen har slutförts och koden är klar för att överföras till flashprogramminnet på UNO-kortet. Även uppladdningsfunktionen startas från menyn Sketch. När UNO-kortet har programmerats tänds den gröna lysdioden på kortet. Trycker du då på tryckknappsbrytaren släcks den gröna lysdioden och de röda lysdioderna börjar blinka alternerande.

Bakom de här enkla stegen döljs ganska avancerad programmeringsmagi, såsom assemblering, länkning och inläsning av högnivåkommandon översatta till binär kod som kan tolkas av microcontrollern. Nybörjaren får stegvis mer kunskap och erfarenhet, men det här skedet går främst ut på att experimentera och ha roligt.

I slutet av projektet ställs några frågor. Användaren får försöka svara på hur programmet skulle kunna ändras och blir på så sätt uppmanad att experimentera med sketchen. Efter hand som man arbetar sig igenom projekten, blir kretsarna och programmen alltmer avancerade, så att användarens kunskaper och erfarenheter byggs på.

Slutsats

Arduinos startsats – med den öppna prototypplattformen, en rad elektroniska komponenter och lättanvänd programvara – har allt som både tekniker och entusiaster behöver för att komma igång med att bygga egna projekt. För fler idéer och prototyptips, besök Maker.io och sök efter projekt som intresserar dig.

DigiKey logo

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

Om skribenten

Image of Art Pini

Art Pini

Arthur (Art) Pini arbetar som skribent på DigiKey. Han har en kandidatexamen i elteknik på City College i New York och en master i elteknik från City University i New York. Arthur har mer än 50 års erfarenhet inom elektronik och har innehaft nyckelroller inom konstruktion och marknadsföring på Teledyne LeCroy, Summation, Wavetek och Nicolet Scientific. Han är intresserad av mätteknik och har lång erfarenhet av oscilloskop, spektrumanalysatorer, arbiträra vågformsgeneratorer, digitaliserare och effektmätare.

Om utgivaren

DigiKeys nordamerikanska redaktörer