Kliknite tukaj, da si ogledate profil, kot ga vidijo drugi

Uvod v Arduino strojno platformo

Delite vsebino na Facebooku
Delite vsebino na Twitterju
  Arduino je strojna platforma, katere namen je enostavna uporaba strojnega krmilnika, na katerega lahko priklopimo različne senzorje, servo motorčke ter še veliko drugih stvari.
 
 
1
 
 

Arduino predstavlja odprtokodno strojno platformo, katere osnova je standardiziran strojni krmilnik in je odlična naprava za prve začetke v elektrotehniki.

Krmilnik predstavlja računalnik v malem, saj ko na njega naložimo program, krmilnik deluje povsem samostojno in ni potrebno, da je povezan z računalnikom.

Na njega lahko priklopimo različne senzorje za temperaturo, vlago, merjenje razdalj, servo motorčke, ethernet modul, WiFi modul, bluetooth modul, releje za krmiljenje naprav
ter še mnogo različnih druge stvar.

 
 
2
 
 

Krmilnik je na voljo je v več različnih izvedbah.

Najbolj uporabljeni modeli so Arduino Uno, Leonardo, Mega 2560, najdemo pa ga tudi v drugih različnih velikostih, vse do modela LilyPad, ki je namenjen vgradnji v oblačila.

Različne modele si lahko ogledate na strani:
http://arduino.cc/en/Main/Products

Ena izmed glavnih prednosti te platforme je tudi nizka cena, saj osnovni krmilnik dobimo že za okoli 10€, medtem ko različne senzorje dobimo že za okoli 2€.

 
 
3
 
 

Različni modeli krmilnikov so si med seboj precej podobni, večinoma pa se razlikujejo po številu podprtih vhodov in izhodov.

Arduino Uno tako podpira 14 pinov, za katere lahko za vsakega posebej določimo, ali bo pin predstavljal digitalni vhod ali izhod. Poleg tega podpira še 6 analognih vhodov, na katere priklopimo analogne senzorje.

Na drugi strani pa Arduino Mega 2560 podpira kar 54 digitalnih vhodno-izhodnih pinov ter še dodatnih 16 analognih vhodnih pinov.

 
 
4
 
 

Priključitev krmilnika na računalnik je res enostavna, saj ga lahko priklopimo kar na običajna USB vrata.

Preko USB lahko sedaj na krmilnik nalagamo lastno programsko opremo, poleg tega pa se preko USB vrat tudi napaja, tako da dodatni kabli niso potrebni.

 
 
 
 
 
5
 
 
 
 
6
 
 

Za pričetek dela v programskem okolju moramo najprej nastaviti, kateri model krmilnika Arduino uporabljamo.

Kliknemi meni Tools -> Board ...

 
 
7
 
 

... in izberemo model našega krmilnika.

Sam sem izbral model Arduino Mega 2560.

 
 
8
 
 

Treba je vedeti, da se krmilnik Arduino računalniku predstavlja kot serijska vrata in ne kot običajen USB vmesnik.

Zato moramo tudi nastaviti ustrezna serijska vrata, ki so povezana z USB vhodom, na katerega je priključen naš krmilnik.

Vrata izberemo v meniju Tools -> Serial Port.

Je pa tako, da je ta zaznava avtomatska, tako da običajno tak korak niti ni potreben.

 
 
9
 
 

Za prve začetke je najbolje, da si ogledat že narejene primere programske kode.

Primere najdete v meniju File -> Examples.

 
 
10
 
 

Primeri so razvrščeni v različne kategorije.

Kot prvi primer izberite kategorijo 01.Basics in izberite program Blink.

 
 
11
 
 

V programskem okolju se bo sedaj odprl izbrani program.



Program je dokaj enostaven, z njim pa krmilimo LED diodo, ki je že vgrajena na sam krmilnik.

Program bo prižigal in ugašal LED diodo v enosekundnih intervalih.

 
 
12
 
 

Da naložimo program na krmilnik, je dovolj, da kliknemo ikono s puščico, ki se nahaja zgoraj levo.

 
 
13
 
 
 
 
Komentiraj
 
 
 
 
 
26.11.2012, 19:02
Mene zanima če uporabim spodnjo kodo 3-krat zaporedoma in vsakič določim drugi pin za led diodo bodo utripale vse tri hkrati?
/* Blink without Delay

Turns on and off a light emitting diode(LED) connected to a digital
pin, without using the delay() function. This means that other code
can run at the same time without being interrupted by the LED code.

The circuit:
* LED attached from pin 13 to ground.
* Note: on most Arduinos, there is already an LED on the board
that's attached to pin 13, so no hardware is needed for this example.


created 2005
by David A. Mellis
modified 8 Feb 2010
by Paul Stoffregen

This example code is in the public domain.


http://www.arduino.cc/en/Tutorial/BlinkWithoutDelay
*/

// constants won't change. Used here to
// set pin numbers:
const int ledPin = 13; // the number of the LED pin

// Variables will change:
int ledState = LOW; // ledState used to set the LED
long previousMillis = 0; // will store last time LED was updated

// the follow variables is a long because the time, measured in miliseconds,
// will quickly become a bigger number than can be stored in an int.
long interval = 1000; // interval at which to blink (milliseconds)

void setup() {
// set the digital pin as output:
pinMode(ledPin, OUTPUT);
}

void loop()
{
// here is where you'd put code that needs to be running all the time.

// check to see if it's time to blink the LED; that is, if the
// difference between the current time and last time you blinked
// the LED is bigger than the interval at which you want to
// blink the LED.
unsigned long currentMillis = millis();

if(currentMillis - previousMillis > interval) {
// save the last time you blinked the LED
previousMillis = currentMillis;

// if the LED is off turn it on and vice-versa:
if (ledState == LOW)
ledState = HIGH;
else
ledState = LOW;

// set the LED with the ledState of the variable:
digitalWrite(ledPin, ledState);
}
}


changed: sasko.123 (26.11.2012, 19:03)
 
 
 
 
26.11.2012, 20:51
A-a, ne bi šlo po tvoje, ker....bi to pomenilo, da mora arduino gnati 3 programe, kar pa ne zna.

Poizkusi s to kodo, sicer so "leteče luči", vendar jr koda tako preprosta, da boš zlahka videl kaj spremeniti za tvoje potrebe.


changed: KR_edn (26.11.2012, 20:53)
 
 
 
 
26.11.2012, 20:56
//Running LED display: Three LEDs connected to Digital Pin 9, 10 and 11.

void setup() {
pinMode(9, OUTPUT); // Initialize Arduino Digital Pins 9 as output
pinMode(10, OUTPUT); // Initialize Arduino Digital Pins 10 as output
pinMode(11, OUTPUT); // Initialize Arduino Digital Pins 11 as output}


void loop() {

digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, HIGH);

delay(250); // Wait for quarter of a second digitalWrite(9, LOW);

digitalWrite(10, HIGH);
digitalWrite(11, LOW);

delay(250); // Wait for quarter of a second digitalWrite(9, HIGH);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
delay(250); // Wait for quarter of a second
}


changed: podtalje (26.11.2012, 21:26)
 
 
 
 
27.11.2012, 17:11
Mi je že jasno. Hvala!
 
Prijava in registracija
 
 
 
Zmaga.com ponuja brezplačno in razumljivo učenje računalniških programov, vas na enkraten način spozna z različnimi svetovnimi jeziki, s podrobno obrazloženimi recepti prikaže čare kulinarike in vam prežene strahove pred domačimi opravili.
 
 
Poleg tega lahko prebirate poučne članke, ki so namenjene širjenju naše splošne razgledanosti ter preverite svoje znanje z priljubljenim in enostavnim sistemom za preverjanje znanja. Če med vsebinami, ki se dodajajo vsak dan, ne najdete želenega znanja, je za vaša vprašanja na voljo dobro obiskan forum, kjer lahko tudi aktivno sodelujete. V primeru, da bi radi svoje praktično znanje delili z ostalimi, pa to lahko storite preko preprostega vmesnika za dodajanje vsebin. Zmagajte z znanjem z Zmaga.com!