Arduino

Allikas: Kuutõrvaja

Arduino

Arduino on avatud lähtekoodiga elektroonika prototüüpimiseks loodud platvorm, mis oma olemuselt on paindlik ning lihtne kasutada.

Arduino tunnetab keskkonnda läbi erinevate sensorite ning on võimeline juhtima erinevaid komponente, nagu näiteks tulukesed, mootorid, kõlarid jms.

Arduino plaadil asuvat mikrokontrollerit programmeeritakse Arduino programmeerimiskeelega (baseerub Wiring raamistikul).

Arduinoga loodud projektid ei pea olema eraldiseisvad. Arduino on võimeline suhtlema ka arvutiga (Flash, Processing, MaxMSP). Skeemi on võimalik ise kokku joota - või siis tellida valmistoode. Tarkvara on tasuta internetist allalaetav.

NB! Siin teemas on juttu peamiselt Arduino UNO versioonist. On ka mitmeid teisi mudeleid, mille parameetrid ei pruugi samad olla.


ArduinoUno.jpg


Programmeerimine

Minimaalne kood

void setup() {
  // setup kood, mida käivitatakse vaid korra:
}

void loop() {
  // peamine kood, mida jooksutatakse pidevalt: 
}


LED vilgutamine

Skeem

Selle ahela tekitamiseks on vaja ühendada 220-oomi takisti 13. pesa külge. Seejärel ühenda LEDi pikem jalg (positiivne e. anood) takisti külge. Lühem jalg (negatiivne e. katood) ühenda maanduse (ground) külge.

Ühenda Arduino arvutiga, käivita programm ning sisesta allolev kood. Enamus Arduinodel on LED tuluke seotud 13. pesaga. Sel juhul peaksid nägema seda tulukest vilkumas, isegi kui sa lisariistvara ei ühenda.

Arduino ExampleCircuit bb.png

(pilt on loodud, kasutades programmi nimega Fritzing)

Skemaatiline joonis

Arduino ExampleCircuit sch.png

Kood

Esmalt tuleb algväärtustada 13. pesa (väljundina):

pinMode(13, OUTPUT);

Peatsüklis saab LEDi sisse lülitada reaga:

digitalWrite(13, HIGH);

Sedasi suunatakse 5 volti 13. pessa. Välja saab LEDi lülitada reaga:

digitalWrite(13, LOW);

Sisse ja välja lülitamise vahel peaks olema piisav pikk ajahetk, et inimene seda näeks. Selleks sobib ideaalselt delay() käsk, mis paneb Arduino hetkeks ootama. Näites on selleks ühikuks 1000 e. 1000ms e. 1 sekund.

/*
  Blink
  Lülitab LEDi sekundiks sisse, ning sekundiks välja, korduvalt.
 */
 
// seda osa käivitatakse vaid korra:
void setup() {                
  // algväärtustame 13. pesa kui väljundi.
  pinMode(13, OUTPUT);     
}

// seda osa käivitatakse korduvalt:
void loop() {
  digitalWrite(13, HIGH);   // lülita LED sisse (voolu tase, HIGH - maksimum)
  delay(1000);              // oota üks sekund
  digitalWrite(13, LOW);    // lülita vool välja (LOW - miinimum)
  delay(1000);              // oota üks sekund
}

Lingid

http://arduino.cc/

http://arduino.cc/en/Tutorial/Blink

http://wiring.org.co/

http://www.fritzing.org/

http://thetechnorat.files.wordpress.com/2013/08/arduino_-_makeuseof-com.pdf arduino käsiraamat algajatele.