Arduino 3: darbs ar skaļruni

Komentēt

       Šajā rakstā par nākošo Auces vidusskolā realizēto projektiņu ar Arduino pielietojumu – Arduino un skaļrunis. Shēma ļoti līdzīgi projektā ar 1 LED – gaismas diode aizstāta ar mazjaudīgu skaļrunīti. Šim projektam lieliski noderēs no veca datora izņemts skaļrunītis! Vēlreiz atgādinājums – ja vēlaties darboties ar Arduino un dažādiem elektronikas projektiem, tad uzmanīgi apskatiet nolietotās IKT ierīces, to sastāvdaļas un lietderīgi izmantojiet no tiem derīgās komponentes. Noderēs dažādi motoriņi, skaļrunīši, LED jeb gaismas diodes, dažādi sensori, vadiņi, ligzdas, spraudnīši, kondensatori, rezistori, mikroslēdzīši, diodes, tranzistori, u.tml. Apskatīsim projekta shēmu attēlā!

Skalrunis

      Ja no komponentu izvietojuma viedokļa šķiet ērtāk, skaļruni un rezistoru var samainīt vietām, Arduino izejas noslodzi tas nemainīs! Paturam prātā jau ievadā minēto par strāvas stiprumu Arduino izejās – līdz 20mA jeb 0,02A, tādēļ arī virknē ar skaļrunīti ir nepieciešams rezistors! Loģiski, samazinot tā pretestību, skaļums pieaugs, bet vienlaikus pieaugs strāvas stiprums attiecīgajā Arduino izejā! R1 mazāku par 100 Om lietot nebūtu ieteicams! Skaļrunītis, kurš izņemts no 20 gadus veca datora izskatīsies, piemēram, šādi:

speaker_PC_1

Programma mBlock vidē melodijas atskaņošanai:

Speaker_progr_melody_1

Cikls vizuālajā vidē izveidots ar bloku forever, bet Arduino IDE vidē attiecīgi void loop () {}. Melodiju veido ar blokiem “play tone pin 7 on  note C3 beat Half“, kas Arduino IDE vidē atticīgi izveidojas ar komandām:

pinMode(7,OUTPUT);
    tone(7,175,500);

      Protams, palaižot programmu, vispirms jāpārbauda, vai iz izveidots Arduino un datora savienojums! Projekts atkal ir šķietami vienkāršs, jo kas tad tur – pie Arduino plates pieslēgta diezgan elementāra virknes slēguma ķēde ar 2 elementiem – rezistoru un skaļrunīti un arī programmā tikai cikls un atkārtojas viens un tas pats bloks! Hm, tomēr, lai atskaņotu melodiju būs jāatrod pati melodija, nošu apzīmējumi, ilgumi un tas viss jāievada programmā! Protams, var izmantot arī pauzes (wait), kombinēt melodijas, mēģināt uzprogrammēt dažādas skaņas, piemēram, suņa rējienu vai kaķa ņaudienu! Tas prasīs gan papildu zināšanas, gan radošu pieeju!

Tas vēl nebūt nav viss, jo var kombinēt arī vairākus skaļruņus! Neaizmirsīsim, ka Arduino Uno ir izmantojamas izejas Pin 2..Pin13 (resp. 12 izejas)! Ja ir vēlēšanās, var projektā iekļaut arī vienu vai vairākas gaismas diodes (LED). Tas arī radīs papildu iespējas un daudzveidību! Piemēram, atskaņojot noteiktu noti, iespīdas konkrēta LED! Būs līdzība ar gaismas mūziku, jo īpaši, ja LED krāsas tiks pieskaņotas notīm!

Uz priekšu Arduino pasaulē! Nākošajā rakstā – par mikroslēdzīšu (podziņu) pielietošanas iespējām!

***

 

 

***

 

Arduino 2: gaismas efekti ar LED

Komentēt

      Uz iepriekšējā projektā iegūto zināšanu un  kompetenču bāzes ir iespējams realizēt  sarežģītākus projektus – piemēram, dažādus programmējamus gaismas efektu automātus visdažādākajām vajadzībām (kaut vai skolas diskotēkai vai Ziemassvētku eglītes pasākumam). Sākuma versijā pie Arduino plates pieslēdz tikai LED līdzīgi kā pirmajā projektā. Projekts ar 8 LED pielietojumu tika veiksmīgi realizēts Auces vidusskolā, darba grupā iesaistoties skolēniem no 3. – 6.klasēm! Jāpiebilst, vairākiem skolēniem, t.sk. 3.klases meitenei izdevās sekmīgi izveidot vairākas programmas dažādu LED kombināciju pārslēgšanai!

4_LED_4R

      Šajā attēlā parādīta tikai 4 LED pieslēgšanas shēma pie 4 izejām Pin2, Pin6, Pin9 un Pin12 shēmas pārskatāmībai. Līdzīgi var izmanto  visas izejas Pin2 …Pin13! Tas nozīmē, ka šādā vienkāršā veidā var vadīt 12 LED jeb mums pieejami veseli 12 kanāli! Visus šo 12 kanālus var darbināt kādā secībā un kādās kombinācijās vēlas. Protams, ja plānots vienlaikus ieslēgt visus 12 kanālus, tad rezistoru pretestības izvēlamies lielākas – 2o0 līdz 300 Om robežās, lai nepārslogotu Arduino plati.

Pieņemsim, ka vēlamies secīgi ieslēgt visas pievienotās gaismas diodes, tad pēc garākas pauzes tās izslēgt un to visu atkārtot ciklā. Lūk, kā izskatīsies programmiņa mBlock logā!

4LED_proj

Dažas piebildes skatiet nākošajā attēlā!

4LED_PR_pask

    LED pārslēģšanu var mainīt visdažādākajos veidos saskaņā ar savām iecerēm. Jo vairāk LED diodes tiks izmantotas, jo vairāk iespēju dažādās kombinācijās tās darbināt – ieslēgt pēc kārtas, izslēgt, ieslēgt pa grupām, pārvietot ieslēgtas LED grupa uz priekšu vai atpakaļ. Jāatceras, ka LED pārvietosies, ja aiz grupas tās tiks izslēgtas – 2 LED pārvietošanai skat.attēlu! Par to visu jārūpējas programmai! Šajā projekta versijā varam darbināt 12 LED un izmantot visas izejas Pin2 .. Pin13! Paveras iespējas darbam ar cikliem, nejaušajiem skaitļiem, u.tml.

2LED_parviet_seciba

Shēma ar Arduino un breadboard ir skatāma nākošajā attēlā ar Pin2 … Pin  9 pielietojumu, kuru papildināt līdz Pin 13 nav sarežģīti (projekta saite).

Arduino_circuit_04_01

Ja ir vajadzība pieslēgt pie kanāliem jaudīgākas LED vai to grupas, tad būs nepieciešamība izmantot jaudīgākas vadības ierīces (slēdžus, kontrolierus). Vienkāršs piemērs redzams nākošajā attēlā (sīkāk skatiet te)!

LED_Groups_2

   Attēlā redzamos tranzistorus var aizvietot ar citiem, kuru jauda atbilst projekta vajadzībām. Tranzistora bāzes ķēdē šādos projektos parasti jāizmanto rezistori ar pretestību ap 1 kOm, bet koletora – emitera kēdē rezistoru pretestība ir atkarīga no LED jaudas, to skaita un barošanas sprieguma. Parasti vienas LED spīdināšanai vajag spriegumu 1,25 – 1,5V. Ja virknē 4 LED, tad to darbināšanai vajadzēs spriegumu ap 6V – shēmā 9V, tādēļ arī pretestība 360 Om! Šī pretestība ierobežo caur LED plūstošās strāvas stiprumu un tā nedrīkstētu pārsniegt LED pieļaujamo! Derētu paturēt prātā, ka projekta izmēģināšanas stadijā drošāk ievietot rezistorus ar lielāku pretestību un tikai tad, ja LED spīd pārāk vāji, rezistoru pretestību uzmanīgi samazināt līdz vēlamajam LED spožumam! LED vietā var izmantot arī mazjaudīgas spuldzītes, ir iespēja tranzistoru vietā izmantot citas jaudas komutācijas ierīces (jaudīgi optroni, releji, tiristori, u.tml.), bet sākumā pilnīgi pietiek ar vienkāršakajām slēgumu versijām!

Turinājums sekos! Nākošajā rakstiņā par skaļruņa izmantošanu ar Arduino!

 ***

Arduino: LED ieslēgšana/izslēgšana

Komentēt

       LED jeb gaismas diodes ieslēgšana vai izslēgšana var būt kā viens no pirmajiem projektiem ar Arduino Uno. Tas ir viens no vienkāršākajiem projektiem, bet pietiekami zināšanietilpīgs projekts. Vispirms iepazīsimies ar shēmu, kura dotu iespēju ieslēgt vai izslēgt LED.

LED_2_pr

Attēlā parādīta savienojumu shēma minētā projektiņa realizācijai, kurā redzam, ka savienotājvads no kopējā punkta “zeme” (GND), iet uz rezistoru R1  (150 – 300 Om), no tā uz LED (D1) un no LED uz 7 izeju (Pin 7). Protams, šīs elektriskās ķēdes galos jāpievieno piemērotas kājiņas, kuras varēu iespraust Arduino Uno attiecīgajās ligzdās! Vienkāršākajā gadījumā elektrisko ķēdi var salodēt, kājiņas ievietošanai Arduino ligzdās var iegūt no vecām datoru komponentēm (izlodēt no platēm). Protams, var izmantot gatavus savienotāju komplektus un speciālas montāžas plates Breadboard (skatīt lapu), taču tas paaugstinās projekta izmaksas. Ieteicamāk strādāt “zaļi” un izmantot sastāvdaļas no novecojušas aparatūras. Piedevām šāda pieeja attīstīs arī citas prasmes – lodēšanas un  shēmas izveides prasmes, attieksmi pret vidi, gribu darboties draudzīgi videi. Tā veidosies un attīstīsies attiecīgās kompetences!

breadboard

Rezistora R1 pretestību var mainīt robežās no 150 – 300 Omiem. Izmantot rezistoru ar pretestību mazāku par 150 Om var būt riskanti, jo strāvas stiprumam uz Pin 2… 13 nevajadzētu pārsniegt 20 mA jeb 0,02A (skat. aprēķina piemēru zemāk)! Jo lielāka būs prestestība jo vājāk spīdēs LED. Vēlamā spožuma piemeklēšanai, var mainīt rezistora pretestību norādītajās robežās!

Pin_I_stipr

    Pēc shēmas izveides, Arduino Uno ar USB kabeli pievieno datoram. Programmas izveidei var izmantot dažādas vides un servisus, bet Auces vidusskolā atklājām, ka ļoti ērta ir vide mBlock (atvērt vietni). Tā ir vizuāla Arduino programmēšanas vide jeb daudziem labi pazīstamais Scratch ar Arduino papildinājumiem un līdz ar to var likt lietā rotaļās ar Code.org, Google Blockly un Scratch iegūtās zināšanas.

 Pēc mBlock atvēršanas ir jāpārliecinās, ka izveidoti vajadzīgie savienojumi:

  • Boards => Arduino Uno;
  • Connect => Serial port => Com 1..4 (uz vienu no Com portiem)

     Pēc savienojumu pārbaudes, veido pirmo programmu, izmantojot Arduino blokus no sadaļas Robots! Ievelk darba laukumā bloku Arduino Program, tad cikla bloku forever, tajā ievieto bloku signāla līmeņa iestatīšanai izejā set digital pin 7 output as High, bloku wait 3 secs un atkal bloku izeju līmeņiem set digital pin 7 output as Low (skat. attēlu zemāk). Vērtības Pin un līmeņus High un Low var mainīt kā nepieciešams. Pēc tam programmu var ielādēt Arduino Uno un izpildīt! Bloks forever dos iespēju LED ieslēgšnu/izslēgšanu izpildīt daudzkārtīgi, līdz process tiks pārtraukts, atslēdzot Arduino no strāvas!

mBlock_LED_1

      Pēc programmas izveides vizuālajā režīmā, klikšķina uz bloku Arduino Program, tā aktivizējas un atveras nākošais logs, kurā redz izpildāmo programmas kodu C valodā! Tā nu esam nonākuši no rotaļām vizuālajā vidē līdz īstai programmai! Paverās jauni apvāršņi programmēšanā un reāls iegūto zināšanu pielietojums!

mBlock_C-Code

Vides mBlock uzģenerētajā izpildāmajā kodā mūs interesē sekojošs fragments:

void setup(){
    pinMode(7,OUTPUT);  – aktivizē Pin 7;
}
void loop(){    ar bloku forever uzģenerētais cikls LED ieslēgšanas/izslēgšanas atkārtošanai;
    digitalWrite(7,1); – iestatīt Pin 7 augstu (5V) līmeni jeb iespīdas LED;
    delay(1000*3); – pagaidīt 3s (pauze);
    digitalWrite(7,0);  – iestatīt Pin 7 zemu(0V) līmeni jeb nodziest LED;
}

      Ja kodā viss kārtībā, klikšķina uz pogu Edit with Arduino IDE, atverās jauns logs, kurā pabeidz visas rediģēšanas darbības un nosūta kodu izpildei uz Arduino Uno – darbības skat.attēlā! Ja viss būs kārtībā, programma tiks palaista izpildei un varēs priecāties par pirmo sekmīgo projektu ar Arduino Uno!

Arduino_IDE_pask

      Veiksmīgu darbošanos un gaidiet nākošos rakstiņus par Arduino! Jā, starp citu, Arduino Uno interneta veikalā Salvats.lv maksā tikai nedaudz paŗ 11 EUR, bet mega versija ap 16,5 EUR! Vēl gan jāsamaksā par piegādi uz pastu, bet tā nav liela summa.

Ievads par Arduino Auces vidusskolā

Komentēt

     Par Arduino lasījuši, dzirdējuši ir daudzi, bet, šķiet, joprojām pārāk maz ir to skolu, kuras izmanto šī brīnišķīgās platītes, lai programmēšanu skolās padarītu uzskatāmāku un jēgpilnāku. Protams, līdzīgi bija un joprojām ir arī pie mums, jo finanšu līdzekļi ir ierobežoti, modeno 3D printeru, u.tml. iekārtu mūsu rīcībā nav. Tā, pētot dažādas iespējas, šīs lapas autors nonāca pie Arduino, pats par saviem līdzekļiem iegādājās vairākus komplektus un nu jau kādus 3 mēnešus grupiņa skolēnu Auces vidusskolā priecājas par Arduino iespējām, piedalās nelielu projektiņu izveidē un mēģina izveidot programmiņas šo projektu vajadzībām. Šobrīd ir tikts līdz ļoti vienkārši izveidotam mājas signalizācijas projektam, kurā darbojas zvana poga, vairākas apgaismes ierīces, skaņas sistēma, elektomotors, ēkas perimetra apsardzes līnija. Tas viss ielikts vienkāršā pašu izveidotā ēkas modelī. Grupiņā pamatā darbojas 3. – 6.klašu skolēni.

     Kopumā diezgan elemetāras lietas, bet tomēr ir cita sajūta, kad izveidotā programmiņa liek attiecīgā secībā iedegties vai izdzist gaismas diodēm (LED), skanēt skaļrunim kā sirēnai vai spēlēt ieprogrammēto melodiju vai liek darboties/apstāties elektromotoriņam, u.tml. Turklāt visā šajā procesā nākas apgūt pirmās lodēšanas iemaņas, dažādu materiālu griešanu, vīlēšanu, līmēšanu, kā arī shēmas izveidi saskaņā ar ieceri, tās korektu pielsēgšanu Arduino platei.

     Pēc tam, protams, seko programmatūras izvēle darbam, programmas izveide, testēšana, ielāde Arduino, palaišana un atkal testēšana, programmas korekcijas un izmaiņas. Te nu nonākam no vizuālās programmēšanas vides (Scratch bāzēta), līdz Arduino IDE, kurā mums priekšā ir kāda C valodas versija, kura ir diezgan līdzīga StartIT projekta izmantotajai Java valodai.

Arduino

Šobrīd mūsu rīcībā ir Arduino Uno un Arduino Mega 2560 (iegādāti Salvats.lv), kur pirmajam atmiņas ietilpība ir 32 KB, bet lielajam Mega modelim 256 KB. Atšķirīgs ir arī ieeju un izeju skaits, izmantojamie darba spriegumi un pieļaujamie strāvas stiprumi ir identiski.

Arduino Uno

    Šī ir vienkārša un sākumam pietiekami jaudīga Arduino versija, ar kuru var realizēt daudzus projektus. Piemēri – gaismas diožu darbināšana, darbs ar slēdžiem (pogām), skaļruni mazjaudīgiem elektromotoriņiem (no CD-ROM, diskešu ierīcēm, u.tml.).

Arduino_Uno

    Attēla augšējā daļā redzamas viegli izmantojamas izejas 2 – 13 un kopējais punkts (zeme – GND), apakšējā daļā 2 zemes ligzdas (GND), 3.3V un 5V, kā arī ieejas A0-A5 (Analogās). Visās izejās var tikt padoti 5V sprieguma impulsi, kuri tad ar liks darboties pieslēgtajām ierīcēm. Ar ieeju palīdzību var fiksēt citu pieslēgtu ierīču (pogu, sensoru) stāvokļus un tos izmantot izejām pieslēgto ierīču vadībai.

Daži parametri

  • Flash atmiņa: 32KB
  • SRAM: 2 KB
  • EEPROM: 1 KB
  • I/O izejas (pin): 14 (6 PWM)
  • Analogās ieejas: 6
  • Darba spriegums: 5V
  • Rekomentdētais ieejas spriegums: 7 – 12V
  • Strāva uz 1 ligzdiņu (i/O Pin): 20mA
  • Strāva 3,3V Pin: 50mA

Arduino Mega 2560

Krietni jaudīgāka versija ar 256KB aatmiņu un 54 Pin, 13 no tām ir PWM tipa izejas. Mega versija maksā 5 EUR dārgāk, bet arī iespējas plašākas.

Arduino_Mega_2560

Daži parametri

  • Flash atmiņa: 256 KB
  • SRAM: 8 KB
  • EEPROM: 4 KB
  • I/O izejas (pin): 54 (15 PWM)
  • Analogās ieejas: 16
  • Darba spriegums: 5V
  • Rekomentdētais ieejas spriegums: 7 – 12V
  • Strāva uz 1 ligzdiņu (i/O Pin): 20mA
  • Strāva 3,3V Pin: 50mA

Pēc nelielas iepazīšanās ar Arduino var sākt veidot vienkāršākos projektiņus! Veiksmi darbos un programmēšanā! Nākošajos rakstos par dažiem vienkāršiem un pārbaudītiem projektiem, kurus var realizēt skolā vai mājās!

Tiešsaistē programmējam Javā!

Komentēt

Sveicināti!

Ar Eclipse sākumā rodas zināmas grūtības, tādēļ iesaku sākumā padarboties kādā no Java tiešsaistes servisiem. Tajos ir iespēja ievadīt, rediģēt un izpildīt Java programmas kodu. Ja programma darbojas korekti, tad to pēc tam bez lielām problēmām var pārcelt uz Eclipse vai NetBeans.

Tiešsaistes servisi programmēšanai Javā:

  • ideone.com – vienkārša un ērta vide ar pamata iespējām dažādām programmēšanas valodām;
  • Compilejava.net – vienkārša vide vienkāršu Java programmu izveidei, testēšanai un lejupielādei;
  • https://www.codechef.com/ide – vēl viena vide ar vienkāršakajām iespējām;
  • Browxy.com – laba Java vide ar iekļautiem piemēriem, rediģēšanas un izpildes logu. Darbus iespējams saglabāt, atvērt, izmantot projekta hipersaiti, u.tml.

Browxy

Darbs ar Ideone.com

Atveram vietni ideone.com, izvēlamies Java, ierakstām savas programmas tekstu (kodu) un dodam komandu izpildīt kodu – Run!

Ideone

Pēc programmas palaišanas, tās izpildes logā (apakšā) parādās programmas darba rezultāts, bet adreses rindā projekta tīmekļa adrese (attēlā zemāk), kuru var saglabāt savā programmu krātuvē vai padalīties ar projektu. Projektu var saglabāt turpat ideone.com ar minēto adresi.

Ideone_adrese

Protams, ir arī citas tiešsaistes vides darbam ar Java programmām, bet sākumam būs pietiekami arī ar šeit minētajām tīmekļa vietnēm. Priekšrocības – nekas nav jāinstalē savā datorā, atliek atvērt piemērotāko vietni un uzreiz var sākt darbu! Ļoti ērti un vienkārši!

***

Darbs ar koordinātu sistēmu Scratch

Komentēt

Sveiki!

Šodien atkal jauna diena un jauni darbiņi! Mācīsimies tikt galā ar koordinātēm! Scratch, izmantojot fonu pievienošanu, var pielikt koordinātu sistēmu dažādu zīmējumu programmēšanai:

k_xu

Kā pievienot?

  • Ejam uz New backdrop;
  • Choose backdrop from library;
  • Other => xy-grid!

xy_koord

Punkta koordinātu nolasīšana:

  • novelc perpendikulu pret x asi un nolasi x koordināti, pieraksti to;
  • novelc perpendikulu pret y asi un nolasi y koordināti, pieraksti to blakus x koordinātei aiz komata;
  • Tu esi ieguvis punkta koordinātu pāri x,y, tās Scratch varēsi ierakstīt komandā Go to xy!

Pta_koordin

Pievienoto koordinātu tīklu ar izgriešanas rīku var nokopēt, piemēram, uz PowerPoint un tur sagatavot zīmējumu un nolasīt zīmējuma raksturīgo punktu (virsotņu) koordinātes, tās secīgi pierakstot pa pāriem – vienu pāri zem otra! Lūk, kā tas var izskatīties!

fig_1

Tagad derētu pamēģināt realizēt parādīto piemēru! Ja izdodas, tad var ķerties klāt nākošajiem!

fig_1_koment

Nu jau gan vajadzētu izdoties! Paburies pa nākošo zīmējumu un tad jau būsi ticis skaidrībā ar koordinātu noteikšanu un būsi gatavs paša sagatavotu zīmējumu programmēšanai!

lidmasina

Ja esi nolasījis koordinātes un uzprogrammējis arī šo lidmašīnu, tad Tevi var apsveikt, jo nu Tu jau māki programmēt zīmējumus, izmantojot Scratch ekrāna koordinātu sistēmu! Tas nozīmē, ka vari uzprogrammēt praktiski jebkuru zīmējumu! Sākumā ieteicams skici sagatavot uz lapas ar Scratch koordinātu sistēmu, vēlāk bez problēmām iemācīsies to darīt galvā! Protams, ka iegūtās zināšanas un prasmes darbā ar koordinātu sistēmu tev noderēs matemātikā, fizikā, orientējoties uz kartes, ceļojot, u.tml.! Vēlreiz apsveicu!

Ak jā, Auces vidusskolas skolēni sagataves un prezentācijas var atrast:

Dropbox => 0_Programmesana => 0_Nodarbibas => Koordinates!

Ja citu skolu skolēniem vai skolotājiem ir vēlme piekļūt šiem un citiem materiāliem, tad jāsazinās ar mani – F.Sarcevičs, Auces vsk. Protams, var palīdzēt arī šīs lappusītes papildināšanā!

Vēlu veiksmi!

*******

Turpinām darbu ar labirintiem!

Komentēt

Vienkārša labirinta (ceļa) iziešanu mēs jau pamēģinājām uzprogrammēt, tagad var piestrādāt pie sarežģītākiem gadījumiem. Labirintu sagataves var atrast Interneta meklētājos vai varat uzzīmēt paši.

Ievada piemēri – pirmos 2 labirintus var programmēt ar secīgu komandu virkni, bet racionālāka programma būs, ja lietosim atkārtojumus (Repeat)!

  labir_2      labir_1

Lai labāk izprastu nepieciešamo algoritmu programmas izveidei, izpētiet nākošos attēlus!

labir_6  labir_6_1  labir_atkartot_bloks

Vai tagad varat izdomāt, kāda būs programma taciņas iziešanai? Ja nesanāk, tad skatieties nākošo bildi un, protams, pielabojiet, lai kustība būtu iespējami precīza. Pēc katra nogriežņa veikšanas ielieciet programmā pauzi – gaidīt (Wait). Ja pauzi neieliksiet, tad programma visu izdarīs tik ātri, ka nepaspēsiet pamanīt, kā kustība pa trajektoriju  ir notikusi.

labir_progr

Nākošos 2 labirintus racionālāk programmēt ar ciklu jeb atkārtojumu (piem., Repeat) palīdzību! Pirms tam gan vajag izdomāt, kuras labirinta sekcijas ir līdzīgos un kādas ir atšķirības starp līdzīgajām sekcijām. Vienkāršībai pieņemam, ka visi posmi ir vienāda garuma.

labir_3     labir_4

Tālāk daži piemēri no Google kolekcijām – tos ievietojot Scratch vidē, var palauzīt galvu, kāda būs programma izvēlētā labirinta iziešanai. Cik atkārtojuma (cikla) konstrukcijas būs nepieciešamas attēlā pa kreisi un cik attēlā pa labi?

1.piemērs – šeit līdzīgi kā iepriekšējā nodarbībā varēs iztikt ar komandām pagriezieniem (Turn) un pārvietošanai (Move). Protams, lai spētu izsekot programmas darbībai, lietderīgi aiz katras kustības ielikt pauzi – tam var izmantot operatoru gaidīt (Wait). Programmas joprojām būs relatīvi vienkārša – tā būs lineāra programma (komandas secīgi seko ciat citai)!

2.piemērs – labi var redzēt, ka labirintam ir 4 vienādas daļas (apvilkts ar sarkanu), kas nozīmē, ka to iziešanai derēs viens un tas pats algoritms (Scratch vidē – programma). Tas nozīmē, ka vispirms ir jāizdomā kā iziet vienu labirinta fragmentu un pēc tam to varēs izmantot 4 reizes (atkārtot jeb programma ar atkārtojumu – Repeat). Ja ieskatās uzmanīgāk, tad arī katrā no 4 daļām var ieraudzīt, ka jāatkārto līdzīgas darbības, tikai katrā reizē mainās veicamo soļu skaits. Būtu ļoti skaisti, aj arī tā iziešanu izdotos realizēt kā darbību atkārtošanu, mainot veicamo soļu skaitu

  L_2

Apskatām 1 daļu no labirinta:

L_2_1 L_2_3

Uzmanīgi ielūkjoties, ieraudzīsim 3 līdzīgas sekcijas (1, 2, 3), kuras atšķiras ar izmēriem. Katras sekcijas iziešanas algoritms būs līdzīgs, bet atšķirsies veicamo posmu garumi. Vispirms jāizdomā, kā iziet 1 sekciju!

3.piemērs – ar atkārtojumiem ( 3 līdzīgas sekcijas).

Rezumējumam – papildus nepieciešamas atkārtojumu konstrukcijas, piemēram, Repeat! Protams, sākumam var izvēlēties vienkāršāku labirintu!

Older Entries

Follow

Get every new post delivered to your Inbox.