onsdag 1 augusti 2018

Kristallen på Arduino

Mitt på utvecklingskortet sitter en oval komponent i metall och det är kristallen. Den bestämmer frekvensen med vilken mikrokontrollen gör beräkningar och på så sätt utför det den programmerats för att göra.

https://commons.wikimedia.org/wiki/File:Arduino_crystal-1.jpg
Kristallen på en Arduino Uno R3 har en frekvens på 16 MHz. Det betyder att den kan göra 16 miljoner operationer i sekunden. Andra Arduino-kort har högre och lägre frekvensen. Det är först vid större projekt med många parallella operationer som en högre frekvens har någon praktiskt nytta.

Kristallen är en kvartsoscillator som ger en signal med en mycket konstant frekvens. Kvartsoscillatorer används i olika typer av elektroniska apparater från enkla armbandsur till datorer och navigationssystem. Det finns en mängd olika typer och varianter av kristalloscillatorer på marknaden.

Share:

söndag 1 juli 2018

Arduino historik

Arduino utvecklades för att lära studenter om elektronik och mikrokontroller. Det har genom åren blivit en mycket populär plattform såväl inom utbildning som inom makerrörelsen.

En stor anledning till framgången är enkelheten och att lösningar som utvecklas med Arduino blir mycket robusta. Det beror till stor del på avsaknaden av komplicerade faktorer som operativsystem, drivrutiner och databaser. Det här sätter naturligtvis vissa begränsningar på vad som går att göra, men för enklare uppgifter finns det sällan behov av kraften från exempelvis en Rasberry Pi. Enkelheten gör också att det går att bygga energieffektiva lösningar som enkelt kan drivas med batterier.

2005 började det utvecklas kommersiellt av Massimo Banzi och David Cuartielles. All utveckling sker enligt Creative Commons vilket också öppnat upp marknaden för konkurrerande produkter som också benämns som kloner.


Det är bara namnet Arduino som är skyddat enligt upphovsrätten. Det som skiljer kloner från originalprodukten är ofta kvaliteten på ingående komponenterna på utvecklingskortet.

Trots goda intentioner har det varit lite bråk kring varumärket genom åren och det är därför det idag finns två orginalprodukter, Arduino Uno och Genuino Uno.

En annan anledning till Arduinos framgång är utökningar med tilläggskort, så kallade Shields. Det är utvecklingskort som enkelt kopplas till utvecklingskortet och ger utökad funktionalitet som reläer, servostyrning, WiFi och Ethernet. Idag har det kommit många specialiserade kort som har utökad funktionalitet inkluderar direkt på ett och samma kort.
Share:

fredag 1 juni 2018

Kom igång att programmera Arduino online

Arduino kan programmeras online eller offline.

Arduino Online IDE är en modern web-editor där alla program (som vi fortsättningsvis kallar sketcher) sparas online kopplat till din profil. Det här är det enklaste sättet att komma igång och är den rekommenderade editorn om du har internetuppkoppling.

Ardiono IDE är ett program som installeras på datorn. Det fungerar för Windows, Mac och Linux.

All kod vi skriver här på bloggen finns på vårt konto på Arduino Online. Här är ett exempel på det första enkla programmet Blink som man hittar bland exemplen.


För att komma igång med Ardiuno IDE Online behöver du ett konto och det skaffar du här.

Följ instruktionerna och när du väl registrerat kontot är det bara att logga in.


Introduktion

När du loggar in kan du välja att få en kort introduktion. På bilderna nedanför hittar du de fyra vyerna översatta till svenska.








Share:

tisdag 1 maj 2018

Analoga signaler på Arduino

I nedre högra hörnet finns de analoga anslutningarna och de används, kanske inte helt förvånande, för att läsa av analoga spänningar. Avläsningen sker med en digital-analog omvandlare med tio bitars upplösningen vilket betyder att den analoga signalen internt motsvarar ett heltal mellan 0 och 1023. Det innebär att den analoga signalen har en upplösning motsvarande 0,005 volt.

Arduino Uno R3 - bild från arduino.cc
Det finns inga verkliga analoga utsignaler. Istället går det att använda vissa digitala stift för att simulera en spänning mellan 0 och 5 V genom att stiftet ger pulser som växlar mellan 0 och 1.

Om 0-pulsen är lika lång som 1-pulsen blir den genomsnittliga spänningen 2,5 volt. Genom att variera pulslängderna kan spänningen på det här sättet varieras mellan 0 och 5 volt. De stift som kan användas för att simulera en lägre spänning kallas PWM (Pulse Width Modulation). De är markerade med ~ framför siffran på stiftet.

De analoga stiften kan också användas som digitala in och utsignaler.

Bilden visar utvecklingskortet Arduino Uno R3.
Share:

söndag 1 april 2018

Digitala signaler på Arduino

Bilden visar utvecklingskortet Arduino Uno R3.

I övre högra hörnet finns mikrokontrollens digitala anslutningar. Dessa stift kan användas som insignaler för att läsa ett värde eller som utsignaler för att skicka ett värde.

Det är programmet i mikrokontrollen som styr hur varje stift ska användas. Som standard är signalerna insignaler och om stift ska användas som utsignaler måste det skrivas i programmet.

Insignalen är kopplat i serie med ett kraftigt motstånd vilket betyder att den inte påverkar den signal som mäts i någon nämnvärd omfattning.

Ett stift som inte får en signal kan växla slumpmässigt mellan 0 och 1. Därför brukar stiftet kopplas med ett motstånd på 10K ohm till plus eller minus. Det kallas PULLUP- respektive PULLDOWN. När stiftet får en signal, till exempel genom att en brytare sluts, kommer den signalen att vara mycket starkare än signalen från motståndet.

Alla digitala stift har en inbygg PULLUP-resistor som kan användas. Då definieras stiften som INPUT_PULLUP istället för INPUT. Signalen kommer då alltid att vara 1 förutom när stiften ansluts mot 0 (GND).

Vissa digitala stift kan ge en sk. PMV-signal, men mer om det längre fram.
Share:

torsdag 1 mars 2018

Strömförsörjning Arduino Uno

Bilden visar utvecklingskortet Arduino Uno R3. Det är det bästa kortet för att lära sig grunderna i att programmera mikrokontroller. Här är en kort introduktion av strömförsörjningen.

Längst ner till vänster sitter anslutning för strömförsörjning och strax ovanför strömkontakten sitter en spänningsregulator. Den omvandlar 7-12 volt till 5 volt vilket är den spänning som mikrokontrollen behöver. Spänningsregulatorn är ganska stor och det är för att den ska kunna avge värme som utvecklas om den inkopplade elektroniken är strömkrävande.

Uppe till vänster sitter anslutningen för USB. Här ansluts dator för programmering av mikrokontrollen men USB-uttaget kan också användas för strömförsörjning. Ett enkelt och smidigt sätt att driva Arduinon är med en vanlig powerbank.

Arduinon konsumerar ungefär 20-30 mA, men inkopplade komponenter som servon, motorer och dioder ökar strömbehovet rejält. En powerbank på 2500 mAh kan teoretiskt driva en Arduino i 100 timmar, men så fort ytterligare komponenter är inkopplade sjunker drifttiden till kanske något dygns drift.

Det finns olika sätt att minska strömkonsumtionen. Det effektivaste och enklaste är att köpa ett utvecklingskort som är optimerat för låg energiförbrukning. Den typen av kort kan ställas in för ”djup sömn” vilket innebär att i princip allt utom ett alarm är avstängt. När alarmet aktiveras väcks kortet och koden startar om från början.

Det blir lite extra komplicerat att programmera kortet när avancerade energisparfunktioner är aktiverade, men det ger samtidigt möjligheter att bygga riktigt smarta projekt som inte behöver extern strömförsörjning på flera veckor.

Den maximala strömförbrukningen per utsignal (pin) är 40 mA. Det räcker för att driva en diod, men inte för att driva en motor. När mer strömkrävande enheter ska drivas används ett relä för riktigt höga spänningar. För snabb reglering används ofta en transistor eller MOSFET. Om en utsignal kopplas till en strömkrävande enhet kan mikrokontrollern gå sönder.

Exempel

En trefärgad Neopixel-diod drar maximalt 60 mA, men en bra tumregel är att räkna 20 mA per diod eftersom alla dioder ofta inte lyser på full styrka samtidigt. Det betyder att det är helt säkert att använda 3 dioder utan separat strömförsörjning (max 180 mA), men att det förmodligen fungerar bra med 10 dioder så länge inte alla lyser samtidigt.

Om strömförbrukningen beräknas bli större än 200 mA används en separat spänningsomvandlare för att strömförsörja de inkopplade komponenterna.
Share:

torsdag 15 februari 2018

Teknik och programmering med Arduino - Lektionsplanering

Härom dagen sprang jag på en lektionsplanering för programming med Arduino. Planeringen bygger på 2 x 60 min programmering vid fem tillfällen.

Här används en kopplingsplatta, en Arduino Uno och diverse komponenter såsom piezohögtalare, fotoresistor, lysdioder i olika färger och naturligtvis lite sladdar och resistorer.

Här hittar du lektionsplaneringen för grundläggande Arduinoprogrammering.

Lektionsplaneringen är gjord av Staffan Melin och Martin Blom i Göteborg.

På Staffan sida hittade jag även en lektionsplanering för att bygga en robot med Arduino, inte helt olik den vi byggde hemma för ett par veckor sedan.
Share:

Leta i den här bloggen

Använder Blogger.

Sidor

Deltagare

Vad är en Edison robot?

Edison är en programmerbar robot utformad för att vara ett komplett stöd för undervisning i programmering och robotutbildning. Edison är...