EC3


Mikrokontrollerid 2015 Kevad
----------------------------

    -- Leidsin üles peidetud sideliini.
    -- Kuidas nii?
    -- Kasutasin korrelatsioonmeetodit.
    -- Mida see tähendab?
    -- Meid kuulatakse pealt!
    -- Väga hea, hakkame kasutama seda liini
       pealtkuulajate programmeerimiseks..

    "Siri" (IOS, iPhone) kasutajajuhend


Haridus erinevatel aegadel
--------------------------

I. Koopainimene:

Oskused (ehk, kuidas saavutada tulemust). Õppemeetod --
Tee minu järgi. Tänapäeval näiteks kasutatakse autokerede
värvimiseks tehase konveieril, kus maaler õpetab
(kasutatakse ka sõna häälestab) värvimisrobotit.

II. Eelmine sajand:

Eraldi

  1. Teadmised: looduse ja inimkonna seadused, võetakse
     kasutusele uued mõisted ja meetodid. Mida tähendab
     teaduslikult tõestada?

    Maailmavaade:

    -- teadmine (see, mida on võimalik tõestada)
    -- usk (keda ning millesse usun)
    -- veendumus (vaatenurk, point of view*)

     *) Kolm pimedat meest katsusid elevanti. Esimene pime
        mees võttis elevandil jalast kinni ja ütles: "Ma
        arvan, et elevant on nagu puutüvi." Teine pime mees
        kompas elevandi lonti ja sõnas: "Elevant on nagu
        suur madu."  Kolmas pime kobas käega elevandi külge
        ja teatas veendunult: "Elevant on nagu suur sein."
        [5].

  2. Oskused: (nende abil olen võimeline luua midagi
     kasulikku ning tihti ka raha teenida). Uusi oskusi saan
     õppida ainult omastatud teadmiste ja oskuste abil ning
     tingimata peab läbima seda TEED TÄISPIKKUSES (nimetame
     seda THEPATH. Näiteks tee aatomi ülesehitusest
     tehisintellekti programmeerimiseni).

III. Tänapäev:

  inimkond areneb, ning THEPATH on liiga pikk selleks, et
  inimese eluajast piisaks selleks et seda omada (läbida
  algusest lõpuni). Maailmavaate pilti lisandub usaldus,
  ehk nüüd:

    -- teadmine (see, mida on võimalik tõestada)
    -- usk (keda ning millesse usun)
    -- usaldus (ajapuuduse tõttu ei süvene siia)
    -- veendumus (vaatenurk, point of view*)

THEPATH muutub selliseks:

  Tean -> Usaldan -> Oskan

(kui selle asja, mida nimetatakse "tahe minna edasi
progressiteel" osakaal on väiksem kui usalduse komponendil,
võib proovida jääda teatud tasemele (stagnation), või lausa
tagasi minna (degradation), muidugi kui universumi intellekt
(inimkond, tulnukad, jumal..) lubavad seda teha.

Käesolev dokument oletab, et tase [1][2][3][4] on algselt
olemas. Siiski, järgides paljudes ameerika õpikutes
kasutatud traditsiooni: "everything you need is just here"
(ehk selleks, et antud teksti lugeda, on vaja ainult kõige
elementaarsemaid teadmisi) -- alguses proovime lühidalt luua
mingit põhja. Ütleme ka seda, millisest THEPATH'i osast siin
ei räägi (usaldame, et see töötab, kui tahame seda
kontrollida -- pöördume vastavasse kirjanduse sektsiooni).


Läheb lahti..
-------------

   -- Lihtne elektriskeem, kus järjestikku on pandud patarei
      lamp ning lüliti. Кasutame Circuitmaker 6 simulaatorit

      Keerukam variant: oleks vaja ehitada
      koridorivalgustuse skeem (koobas, kalju keskel
      ümmargune valgustatav tuba, kust on raiutud 8 koridori
      (Suurbritannia lipp). Koridoride välisotsades asuvad
      lülitid ja uksed. Suvalisest uksest sisenedes peaks
      olema võimalik lampi põlema panna, ning suvalisest
      uksest väljudes seda kustutada:

                              s0 s1 s2
                               \ | /
                            s3 -(x)- s4
                               / | \
                              s5 s6 s7

   -- Kuidas joonistatakse skeeme digitaaltehnikas --
      kasutatakse lühendeid: Toide- ja maa- juhtmeid ei
      näidata, Kõrge potentsiaal on loogiline üks (kui toide
      3.3V siis "1" on tavaliselt 2..3V). Madal potentsiaal
      on loogiline null.

   -- Siemens Logo 8 olulisemad ehitusplokid ja nende sisu.
      (Kasutan VMLab skeemide kirjelduse keelt, mis põhineb
      sõlmede potentsiaalide meetodil [6])

      Input.

      a) Latched digital stimulus on K0 with LED

      Block Properties -> Simulation:
        (*) Switch

      Name  Type Node Node Node Value Mode
      ---------------------------------------
      XIN1  ND2  IN0  IN0  WD1
      D1         VDD  WD1
      K0         VDD  IN0             LATCHED
      R1         IN0  VSS       1K

      b) Momentary digital stimulus on K0 with LED

      Block Properties -> Simulation:
        (*) Momentary push button (make)

      Name  Type Node Node Node Value Mode
      ---------------------------------------
      XIN1  ND2  IN0  IN0  WD1
      D1         VDD  WD1
      K0         VDD  IN0             LATCHED
      R1         IN0  VSS       1K

      Output.

      Name  Type Node Node Nodei
      -------------------------
      XOUT  ND2  OUT  OUT  WD8
      D8         VDD  WD8

      Basic functions:

        AND, NAND, OR, NOR, XOR, NOT

      Special functions:

        Asyncronous pulse generator,
        Timers On-Delay, Off-Delay, On/Off-Delay
        UpDown counter,

      Analog World.

        analog input,
        analog output,
        PI controller,
        Math,
        Comparator,
        Amplifier,
        MUX,
        PWM

      Miscellaneous:
        Latching Relay
        Pulse Relay
        Message texts

  -- Siemens Logo tugipunktid:

    A. Sisend ja väljund:
        -- stimulus,
        -- probe,
        -- digital voltmeter,
        -- analog voltmeter,
        -- oscilloscope

    B. Elemendid ja nende tööpõhimõte

    C. Alamskeemid (UDF)


Mikrokontrollerite standartiseeritud programmeerimise viisid
------------------------------------------------------------

  -- IL, instruction list, instruktsioonide loend,
     meenutab assembleri keelt.
  -- LD, ladder diagram.
  -- FBD, functional block diagram.
  -- ST, structured text. Programmeerimise keeled.
     Võib alustada Raptorist [7]. Edasi
        C -- Atmel AVR, STM, ARM, x86 Quark, Microchip PIC
        Basic -- AVR, PIC,
        C++ -- Arduino,
        C#  -- Beckhoff
        Pascal -- Siemens Simatic)
  -- SFC, sequential function chart. Graafiliselt,
     Petri võrgud..


Lihtsamatest kontrolleritest keerukamate poole
----------------------------------------------

  1. Chip simulaator
  2. Siemens Logo v.8
  3. Atmel AVR / STK500
  4. Arduino AVR 8bit (Uno), 32 bit (Due), x86 (Galileo)
  5. Beckhoff ARM kontrollerid (C#)
  6. Unix SoC arvutid (Raspberry PI, Beaglebone black)
  7. ...


Kasutatavad programmid
----------------------

  1. Oracle VirtualBox
  2. Logisim + Oracle Java Runtime
  3. Siemens Logo v.8
  4. VMLab 3.15 + winavr gcc +
     avrstudio 4SP3 (programmaatori rollis)
  5. Virtualbredboard 4.2.9
     (2010a. versioon, viimane freeware)
  6. ArduinoCC
  7. Erinevad firmware variandid RaspberryPi jaoks
     (Debian-Raspbian, Fedora..
     keeled Java, Python, Scratch, jne..)


Koomiksid mikrokontrollerite teemadel (õpik piltides)
-----------------------------------------------------

  01-simple-circuitmaker.jpg
  02-gbcave-circuitmaker.jpg
  03-logoinputswitch-circuimaker.jpg
  04-logooutput-circuitmaker.jpg
  05-inputwireoutput-circuitmaker-logo.jpg
  06-chipsimulator-logisim.jpg
  07-siemenslogov8.jpg
  08-6piobjekt88.jpg
  09-arduinouno.jpg
  ...
  (pildid tulevad hiljem)


Viited
------

  1. https://www.riigiteataja.ee/akt/1008388
  2. http://www.oppekava.ee/index.php
       /P%C3%B5hikooli_valikaine_INFORMAATIKA
  3. http://www.oppekava.ee/index.php
       /%C3%95petaja_t%C3%B6%C3%B6kava_n%C3%A4idis_informaatika_6._klass
  4. http://www.oppekava.ee/index.php
       /%C3%95petaja_t%C3%B6%C3%B6kava_n%C3%A4idis_informaatika_8._klass
  5. http://kirjan1diabi.wordpress.com/tag/kuue-mottemutsi-tehnika/
  6. http://en.wikipedia.org/wiki/Kirchhoff%27s_circuit_laws
  7. http://raptor.martincarlisle.com/
