Arduino "Hello, World!"

Moderatori: janis.wd, Vecākie lietotāji

deivs001
Vecākais lietotājs
Atbildes: 2011
Pievienojies: 14 Mar 2007, 13:45
Reputācija: 0

Arduino "Hello, World!"

Post no deivs001 » 19 Nov 2008, 21:47

Jau neilgu laiku esmu Arduino īpašnieks, kas pie manis atceļoja no UK, bet salodēts ir Itālijā. Kā jau visas, kas saistīts ar programmēšanu ir - Hello, world! programma, kas sevī ietver pašu elementārāko, ko var izdarīt. Piemēram, PHP tas būs ar echo funkcijas palīdzību izvadīts teksts, tāpat tas notiek C++, lai gan struktūra atšķirās no PHP, bet par to šoreiz nav stāsts.
Stāsts šoreiz būs par Arduino programmu Hello World!, tā ir elementāra LED iedegšana un izslēgšana uz noteiktu laiku, ko nosaka programmētājs. Lai šādu programmu izpildītu, mums ir vajadzīga tikai LED diode, jo viss pārējais (arī balasta rezistors) jau ir iebūvēts shēmā. Īstenībā, ja mums ir Arduino Diecimila, tad mums pat nevajag LED'u, jo tā jau ir iebūvēta, apzīmēta uz PCB ar L un atrodas šeit:
Image

Bet lai izdarītais būtu vieglāk redzams, iesaku izmantot atsevišķu LED'u. Kad tas ir atrasts, to vajag savienot ar kontroles iekārtu - Arduino. Tas tiek panākts ievietojot LED katodu (-) GND ligzdā un anodu (+) 13 ligzdā, kas ir jau aprīkota ar rezistoru. Tiem, kas nezina kā noteikt, kurš ir anods un katods, atliek ieskatīties šajā zīmējumā:
Image

Ja esam tik tālu tikuši un ievietojuši LED'u tur, kur pienākas varam turpināt savu darbu. Lai varētu saprasties ar mūsu datoru un ielādēt vajadzīgās programmas kodu mums būs nepieciešams USB kabelis ar USB A un USB B spraudņiem galā.
Image

Kad tas atrasts, laiks iemācīt savam datoram sarunāties ar Arduino. Lai to izdarītu Microsoft Windows vidē mums jārīkojas pēc šādiem soļiem:
Lejupielādēt Arduino programmēšanas vidi šeit, atarhivējam,
Uzinstalēt USB draiverus,
Pievienot Arduino pie datora,
Ielādēt programmas kodu un skatīties, kas ir sanācis.

Kad viss ir lejupielādēts un uzinstalēts kā pienākas, varam sākt rakstīt programmas priekš Arduino, lai to darītu mums jāatver arduino.exe fails, kas atrodas atarhivētajā mapē. Mums jāparādas šādam logam:
Image

Š eit notiks visa programmēšana un kompilēšana. Tā kā esam galīgi iesācēji un paši neprotam pagaidām uzrakstīt kodu, kas midžinātu LED'u, tad mūsu glābiņš ir atrodams zem - File > Sketchbook > Examples > Digital > Blink
Image

Programmas logā mums parādās sekojošs kods, kas ir bagātināts ar paskaidrojumiem, lai katrs varētu saprast to:

Code: Select all

/*
 * Blink
 *
 * The basic Arduino example.  Turns on an LED on for one second,
 * then off for one second, and so on...  We use pin 13 because,
 * depending on your Arduino board, it has either a built-in LED
 * or a built-in resistor so that you need only an LED.
 *
 * http://www.arduino.cc/en/Tutorial/Blink
 */

int ledPin = 13;                // LED connected to digital pin 13

void setup()                    // run once, when the sketch starts
{
  pinMode(ledPin, OUTPUT);      // sets the digital pin as output
}

void loop()                     // run over and over again
{
  digitalWrite(ledPin, HIGH);   // sets the LED on
  delay(1000);                  // waits for a second
  digitalWrite(ledPin, LOW);    // sets the LED off
  delay(1000);                  // waits for a second
}
Kad esam izlasījuši visu vai arī gribam ātrāk redzēt rezultātu, mums kods ir jānokompilē nemāku pateikt smukāk, tas nozīmē, ka mūsu ielādētais kods ir jāpārveido Arduino dēlim saprotamā valodā. To mūsu vietā jau izdara programmēšanas vide. Vienīgais, kas tiek prasīts no mums ir ar peles kreiso podziņu nospiest uz pogu, kas atgādina Play pogu. Zem pogas slēpjas komanda apstiprināt.
Image

Kad proces ir pabeigts, lejā parādīsies paziņojums: "Done compiling".
Image

Sagaidījuši šo paziņojumu beidzot varam mācīt Arduino midžināt LED'u. Lai uzsāktu šo procesu atkal ar veiklu pirkstu darbību un peles palīdzību spiežam uz pogu - Upload to I/O board.
Image

Tas arī viss, atliek sagaidīt, kad kods ielādēsies un varam būt iepriecināti par savu darbu :)

Nākamajā reizē apskatīsim, kas tad īsti ir rakstīts programmas kodā un kā varam ietekmēt cik ilgi ir ieslēgta un izslēgta LED.

Izmantotie resursi: Par LED, darbība Windows vidē.

User avatar
QueenZ
E-žurnālists
Atbildes: 744
Pievienojies: 10 Sep 2007, 19:47
Reputācija: 0
Atrodas: Rīga/Penkule

Post no QueenZ » 19 Nov 2008, 22:31

Taa iisti nesapratu kas tas Arduino iisti ir..
Nokompileejot tavs kods tiek paarveersts binaarajaa kodaa lai tas vells saprastu ;)
[imgl]http://www.max-tv.be/img/logo/977.jpg[/imgl]

http://www.977music.com/

deivs001
Vecākais lietotājs
Atbildes: 2011
Pievienojies: 14 Mar 2007, 13:45
Reputācija: 0

Post no deivs001 » 19 Nov 2008, 22:46

Arduino ir dēlis, kas aprīkots ar Atmega mikročipu, digitālām, analogām I/O ligzdām.
Var teikt, ka tas ir mazs datoriņš, kas paredzēts iesācējiem, lai iemācītos pamatprincipus kā ietekmēt un iegūt datus no apkārtējās vides.
"You can't expect to hit the jackpot if you don't put a few nickels in the machine" / Flip Wilson
Image

User avatar
samurajs
Administrators
Atbildes: 14988
Pievienojies: 06 Mar 2007, 15:04
Reputācija: 0
Atrodas: Liepājas anomālā zona

Post no samurajs » 20 Nov 2008, 06:38

Laba mantiņa katram, kas grib iemācīties ar programmas palīdzību vadīt reālus procesus.
Piemēram, varam šo programmēt karu dienu 7 un 21 laistīt puķudobi, pie tam rītos 30 min., vakaros 45 min. Ja līst lietus (vienam no portiem pieslēgts mitruma sensors) - process tiek atcelts.
Viss atkarīgs tikai no portu skaita un atmiņas lieluma.
Image

akels14
Reģistrēts lietotājs
Atbildes: 34
Pievienojies: 05 Nov 2008, 17:00
Reputācija: 0

Post no akels14 » 20 Nov 2008, 07:12

cik aizņēma tav nokompilētais kods?

User avatar
QueenZ
E-žurnālists
Atbildes: 744
Pievienojies: 10 Sep 2007, 19:47
Reputācija: 0
Atrodas: Rīga/Penkule

Post no QueenZ » 20 Nov 2008, 14:24

Shito mantinu gan gribeetos :) Kur es vinju vareetu dabuut?
[imgl]http://www.max-tv.be/img/logo/977.jpg[/imgl]

http://www.977music.com/

devill
Reģistrēts lietotājs
Atbildes: 115
Pievienojies: 08 Aug 2008, 20:59
Reputācija: 0
Atrodas: jelgava

Post no devill » 20 Nov 2008, 16:47

un cik maksa tads prieks?

User avatar
QueenZ
E-žurnālists
Atbildes: 744
Pievienojies: 10 Sep 2007, 19:47
Reputācija: 0
Atrodas: Rīga/Penkule

Post no QueenZ » 20 Nov 2008, 17:01

Nedomaaju ka vairaak par Ls 10 galvenais kur dabuut to joku?
[imgl]http://www.max-tv.be/img/logo/977.jpg[/imgl]

http://www.977music.com/

waplet
Reģistrēts lietotājs
Atbildes: 162
Pievienojies: 04 Sep 2007, 13:45
Reputācija: 0

Post no waplet » 20 Nov 2008, 17:05

Paga tas bija maksas tas arduino?

User avatar
tox3
Reģistrēts lietotājs
Atbildes: 265
Pievienojies: 25 Mar 2008, 13:37
Reputācija: 0

Post no tox3 » 20 Nov 2008, 17:11


User avatar
Aldis
E-žurnālists
Atbildes: 5084
Pievienojies: 21 Nov 2008, 15:55
Reputācija: 0
Atrodas: LV

Post no Aldis » 21 Nov 2008, 16:11

mazbiiki laiks neatliktu tadai lieta.. :D reaali kko var kontrolet arii caur com portu.. :D :D ir ari programmas prieksh taa.. un pamacibas kaut vai ieksh delphi ja nemaldos.. :) [iespejams maldos, jo neesmu tam pieversis lielu uzmanibu]
Image Oh My God = OMG
Image Ak Mans Dievs = AMD

deivs001
Vecākais lietotājs
Atbildes: 2011
Pievienojies: 14 Mar 2007, 13:45
Reputācija: 0

Post no deivs001 » 22 Nov 2008, 21:37

Notepad.lv lasītājiem, kas atrodas Rīgā un ir interese par šādām ierīcēm un saprot angļu valodu būtu grēks neizmēģināt veiksmi, lai tiktu uz Arduino radošo darbnīcu. Varbūt, ka tieši tu būsi kāds no 20 laimīgajiem, kas varēs paplašināt zināšanas.
akels14 wrote:cik aizņēma tav nokompilētais kods?
Binary sketch size: 1124 bytes (of a 14336 byte maximum).

User avatar
Mr.Death
Lietpratējs
Atbildes: 1780
Pievienojies: 17 Apr 2007, 19:13
Reputācija: 0

Post no Mr.Death » 05 Dec 2008, 05:00

vispār ja tā kaste darbojas autonomi, es viņu nekavējoties pasūtu :D

User avatar
samurajs
Administrators
Atbildes: 14988
Pievienojies: 06 Mar 2007, 15:04
Reputācija: 0
Atrodas: Liepājas anomālā zona

Post no samurajs » 05 Dec 2008, 11:26

Kastei laikam ar plakano bateriju jādarbojas (5 V). Vismaz tā vairums PIC-kontrolleru dara.
Image

deivs001
Vecākais lietotājs
Atbildes: 2011
Pievienojies: 14 Mar 2007, 13:45
Reputācija: 0

Post no deivs001 » 05 Dec 2008, 13:29

Š is darbojas ar kroneni - 9V.
Saite
"You can't expect to hit the jackpot if you don't put a few nickels in the machine" / Flip Wilson
Image

waplet
Reģistrēts lietotājs
Atbildes: 162
Pievienojies: 04 Sep 2007, 13:45
Reputācija: 0

Post no waplet » 06 Jan 2012, 02:07

Kā rīkoties gadījumā ja programmas kods pārsniedz tos 14k byte?

User avatar
KristoZ
Vecākais lietotājs
Atbildes: 761
Pievienojies: 17 Nov 2008, 15:17
Reputācija: 0
Atrodas: Latvija

Post no KristoZ » 06 Jan 2012, 02:17

Š eit jau mazliet novecojusi informācija, bet lielākoties viss tāpat. Lai vai kā praktiski visi jaunie Duemilanove/Nano ir ar 32KB atmiņu, no kā lietojami ir 30720 baiti (maksimums).

waplet
Reģistrēts lietotājs
Atbildes: 162
Pievienojies: 04 Sep 2007, 13:45
Reputācija: 0

Post no waplet » 06 Jan 2012, 02:37

tas tā kā būtu skaidrs, bet ja piemēram, ar arduino taisu , kaadu puzzle solveri, tur tach vajag entos algoritmus pierakstiit.. Un ko dariit, ja aptruukstaas atminja? Vai arii tas ir pietiekami? :?

User avatar
KristoZ
Vecākais lietotājs
Atbildes: 761
Pievienojies: 17 Nov 2008, 15:17
Reputācija: 0
Atrodas: Latvija

Post no KristoZ » 06 Jan 2012, 04:05

Ja kods nav līks (t.i. izmanto efektīvus algoritmus, rekursīvas funkcijas u.tml.), tad, manuprāt, ar tiem 30 KB pietiek atliektiem galiem.
Lielākiem projektiem ir domāts Arduino Mega:
http://arduino.cc/en/Main/ArduinoBoardMega2560
ar 256 KB atmiņas.

User avatar
Nelabojams
Reģistrēts lietotājs
Atbildes: 1039
Pievienojies: 03 Sep 2009, 12:20
Reputācija: 0
Atrodas: Naukšēnu novads

Post no Nelabojams » 06 Jan 2012, 10:58

Rekā, nemaz nezināju par tādu lietu - bet nu baigi interesanti! Nav jau nekad laika, bet traki gribas pamēģināt paknibināties. Ir doma uztaisīt "personālo" meteostaciju. Ar visvisāda veida devējiem esmu ņēmies gadu gadiem un tur man neko priekšā nav jāsaka, bet datu savākšana bija visam vājais punkts. Te redzu risinājumu.
p.s. bildes gan varēja būt bišķi labākas...
Mana pieredze rāda, ka nav tādas zodiaka zīmes "Kretīns".

User avatar
E-500
Reģistrēts lietotājs
Atbildes: 465
Pievienojies: 18 Jūn 2011, 18:25
Reputācija: 0

Post no E-500 » 06 Jan 2012, 15:46

Un ko tur vel var izdarīt izņemot diodes ieslēgšanu un izslēgšanu?

User avatar
KristoZ
Vecākais lietotājs
Atbildes: 761
Pievienojies: 17 Nov 2008, 15:17
Reputācija: 0
Atrodas: Latvija

Post no KristoZ » 06 Jan 2012, 17:26

@Nelabojams - Jā, meteostacijai šis itin labi var noderēt - jo īpaši kopā ar Ethernet shield - tad datus var arī vienkārši, pa tiešo publicēt internetā. Bet par bildēm - domāju, raksta autors speciāli tās ir "samiglojis", lai uzsvērtu attiecīgo detaļu.
@E-500 - iepriekšējos komentāros jau ir daži piemēri, ko vēl ar Arduino var darīt. Ja būtu vajadzība, atrastu arī pielietojumu.
"Unix is user-friendly. It just isn't promiscuous about which users it's friendly with." - Steven King

deivs001
Vecākais lietotājs
Atbildes: 2011
Pievienojies: 14 Mar 2007, 13:45
Reputācija: 0

Post no deivs001 » 06 Jan 2012, 20:20

Pēc gadiem kāds arī uziet kaut ko "vēsturisku".

@waplet Protams, ka var ar šo mājdzīvnieku kriptēt datus, risināt sudoku mīklasun visādas citādas izvirtības. Š is aparātiņš vairāk spiež uz Input/output vieglu salikšanu kopā.
@E-500 top-40-arduino-projects, Car Diagnostic Interface, akvārija komandcentrs, ..

Cik atceros, bildes bija ar iemeslu samiglotas.
"You can't expect to hit the jackpot if you don't put a few nickels in the machine" / Flip Wilson
Image

User avatar
Nelabojams
Reģistrēts lietotājs
Atbildes: 1039
Pievienojies: 03 Sep 2009, 12:20
Reputācija: 0
Atrodas: Naukšēnu novads

Post no Nelabojams » 07 Jan 2012, 11:14

Par "miglasbildi" piekrītu un atvainojos autoram par uzbraucienu - pats biju neuzmanīgi skatījies.
Mana pieredze rāda, ka nav tādas zodiaka zīmes "Kretīns".

User avatar
gangstalv
Reģistrēts lietotājs
Atbildes: 194
Pievienojies: 18 Jūn 2009, 07:19
Reputācija: 0

Post no gangstalv » 08 Jan 2012, 10:24


Pievienot atbildi

Return to “Raksti”