ohjelmointia Arduinolla

ekeli

minulla on Arduino Mega ohjelmointilaite, en ole englannin kielen taitoinen, siitä johtuen en ole onnistunut käynnistämään Arduino laitetta, jotta olisin voinut aloittaa ohjelmointia. olen kyllä joskus ohjelmoinut onnistuneesti assemblerilla, joten tiedän ohjelmoinnista jotakin. Olisin kiitollinen jos joku kirjoittaisi avausohjeet.

28

1304

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • aiheesta.enemmän

      Josko lähikirjastostasi löytyisi kirja "Sulautetut"

      http://sulautetut.fi/

      Englannin opiskelusta olisi tässä asiassa kyllä tavattoman paljon apua.

    • nznzmzmzzm
    • Hapaneero

      Ensinnäkin arduino mega on avr-mikrokontrolleri kortti, ei ohjelmointilaite. Kontrolleri kyllä sisältää käynnistyslataajan (bootloader) eikä siksi tarvitse erillistä ohjelmointilaitetta. Toki arduinoja voi käyttää ilmankin bootloaderia polttamalla koodi erillisellä isp-ohjelmoijalla. Helpoin tapa käyttää arduinon omaa IDEä. Jonkimmoinen lontoon taito kyllä tarvitaan.
      Tästä vaikka alkuun.
      Arduino oppaita suomeksi.
      https://www.hutasu.net/mikrokontrollerit/arduino/
      luma.aalto.fi/fi/midcom-serveattachmentguid.../arduino_tutuksi_09_2016.pdf
      Laita guukkeliin arduino opas. Sieltä esim.
      Arduino tutuksi - LUMA-keskus Aalto, pdf dokumentti.
      Huom. jos tuskailet ettei toimi, niin kiinan kopiot käyttää eri usb-sarjamuunninpiiriä ainakin uunossa ja nanossa, Piiri CH430, windowsissa tarvii oman ajurin, linukas on valmiina.

    • Meikä-

      Joo sulautetut kirja on jepa, niiltä pohjilta itsekin tein automaattisen parkkikiekon kun vähän modasin malliesimerkkejä ja koodiakin tuli metritolkulla, niin että sai siistiä rakennetta ennen kuin mahtui kontrolleriin! (mitä enemmän koodia, sitä kovempi ohjelmoija kyseessä)

      Luokittelen myös itseni täysin englannin kielentaidottomaksi mutta tarkemmin määriteltynä jonkinnäköinen ralli-englanti lähtee kovilla konsonanteilla ja käsimerkeillä tyylitettynä, että pystyy noita arduinon omia sivuja lukemaan ja foorumeita toisten kyhäelmistä, sanakirja.org auttaa jos ei sinulla ole teknistä sanakirjaa esim. työsi puolesta saatavilla.

      Eikö se assemblerin komennot ole kanssa englanniksi, eli todellisuudessa varmaan omaat itsekin ihan riittävän kielitaidon mutta suomen mittakaavassa pitäisi osata puhua eri aksenteilla ja hämätä keskustelukumppania mahdollisimman vaikeilla sanoilla, niin että toinen putoaa kärryiltä mutta kielioppi ja lausunta meni kuitenkin oikein.

      • lznzznzmzmmz

        "mitä enemmän koodia, sitä kovempi ohjelmoija kyseessä"

        parhaimmat koodarit kylläkin tekee niin tiivistä koodia, että me toistaitoiset tumpelot emme
        siitä edes selvää ota.


      • Meikä-

        Olisikohan vaan ihan noin?? Minä kun juuri ajattelin että se on sitä Ceen käyttöä taitavimmillaan kun copy-pastella pistää pystysuunnassa 10m koodia jossa joka rivillä vain arvo vaihtuu!


      • ForNext
        lznzznzmzmmz kirjoitti:

        "mitä enemmän koodia, sitä kovempi ohjelmoija kyseessä"

        parhaimmat koodarit kylläkin tekee niin tiivistä koodia, että me toistaitoiset tumpelot emme
        siitä edes selvää ota.

        Kovat koodaajat tekee selkeää koodia ja käyttää selkeitä muuttuja ja aliohjelma nimiä. Eikä kommentointia ole koskaan liikaa. Koodi on hyvää kun toinen koodaaja ymmärtää heti mistä on kysymys. Sinä joka laitat copy-pastella 10m koodia. Oletko kuullut silmukoista?


      • Meikä-

        Siis en kyllä ole silmukoista varmaan kuullut, just just ymmärrän loopin eli ohjelma toistaa kiertoaan loputtomiin kun perusasetukset on kerran luotu, vähän samaan tyyliin kun minun nuoruudessani BAT-komentojonoja ja Q-Basicia käskettiin GOTO-komennoilla eri kohtiin ohjelmaa.

        Nyt kun asia kerran tuli puheeksi isojen poikien kanssa, niin saisikohan Arduinolle tai ihan pelkälle AVR-ohjaimelle MKII-ohjelmoijalle jotain NAND/NOR-tyylistä simulaattoria missä voisi olla ihan timereitä myös???

        Ymmärrän toki että koko kontrollerin ominaisuudet menee WC-pyttyyn kun pudotetaan ohjelmointikieli 70-luvun reletekniikkaan, mutta noita Siemensin teollisuuslogiikoita vaan on niin yksinkertaista ohjelmoida ja riittää moneen perushommaan ja apinakin osaa!


      • Tikkaatkatolle
        Meikä- kirjoitti:

        Siis en kyllä ole silmukoista varmaan kuullut, just just ymmärrän loopin eli ohjelma toistaa kiertoaan loputtomiin kun perusasetukset on kerran luotu, vähän samaan tyyliin kun minun nuoruudessani BAT-komentojonoja ja Q-Basicia käskettiin GOTO-komennoilla eri kohtiin ohjelmaa.

        Nyt kun asia kerran tuli puheeksi isojen poikien kanssa, niin saisikohan Arduinolle tai ihan pelkälle AVR-ohjaimelle MKII-ohjelmoijalle jotain NAND/NOR-tyylistä simulaattoria missä voisi olla ihan timereitä myös???

        Ymmärrän toki että koko kontrollerin ominaisuudet menee WC-pyttyyn kun pudotetaan ohjelmointikieli 70-luvun reletekniikkaan, mutta noita Siemensin teollisuuslogiikoita vaan on niin yksinkertaista ohjelmoida ja riittää moneen perushommaan ja apinakin osaa!

        Arduinolle ja monelle muulekin esim. PICille löytyy pilvin pimein PLC kehitys työkaluja ja PLC alustoja. Ohjelmoitaviin logiikkoihin tuttuneelle yksi hyvä voisi olla flowcode.
        Guukkeliin vaan "arduino plc" niin löytyy vaikka mitä. Itse siimensiä, omronia ja klöckner moelleria aikanaan ohjelmoineena olen sitä mieltä että tikapuu kaaviot on perseestä, lohkokaaviot on ok. Näitä linkkejä löytyy vaikka kuinka paljon.
        http://www.openplcproject.com/
        http://controllino.biz/
        https://www.indiegogo.com/projects/arduino-programmable-plc-uno#/
        https://www.matrixtsl.com/flowcode/


      • Meikä-
        Tikkaatkatolle kirjoitti:

        Arduinolle ja monelle muulekin esim. PICille löytyy pilvin pimein PLC kehitys työkaluja ja PLC alustoja. Ohjelmoitaviin logiikkoihin tuttuneelle yksi hyvä voisi olla flowcode.
        Guukkeliin vaan "arduino plc" niin löytyy vaikka mitä. Itse siimensiä, omronia ja klöckner moelleria aikanaan ohjelmoineena olen sitä mieltä että tikapuu kaaviot on perseestä, lohkokaaviot on ok. Näitä linkkejä löytyy vaikka kuinka paljon.
        http://www.openplcproject.com/
        http://controllino.biz/
        https://www.indiegogo.com/projects/arduino-programmable-plc-uno#/
        https://www.matrixtsl.com/flowcode/

        Okei, en tosiaan osannut hakea sanoilla "PLC" ja "lohkokaavioita" siis siemenssin logo!-sarjalla syntyy ainakin näkyvää helkkarin nopeasti, mulla on yhdessä duuni-kyhäelmässä 4 logoa täysillä laajennuksilla ohjaamassa peräjälkeen toisiaan kun ei saa kun 200 blokkia yhteen purkkiin ja IO-loppu kesken.

        Siis sillä tikapuuohjelmoinnilla ei tee yhtään mitään, pitäisi olla juuri tuollainen että pääsee noita and/or/xor -piirejä johdottamaan yhteen, lähtö INPUT osoitteesta ja Q kuvaa ulostulo-osoitetta.

        Ja joku kello tietenkin, parasta kun olisi timer-piirejä mihin voi ohjelmoida ajan, siitä ei minun taidoilla tule mitään että laitetaan kellosignaalista jotain esijakajaa/laskuria mikä muutetaan sekunneiksi.

        Tästä löytyy riman alta oikotie onneen ja lääkkeet joka vaivaan kun pitää saada varmatoimista ohjausta nopeasti. tosin mitään väyläsignaalia tai PWM se ei pysty tuottamaan. taisin joskus tehdä pulssigeneraattorista oskilaattorin niin sain 500Hz :D

        Pitää tutustua tuohon arduinon/AVR käsittelyyn porttipiireillä, kun kerkiää taas harrastelemaan, tosin nyt kun pitäisi vaan nopeasti tehdä varashälytin niin taitaa taas logo lipsahtaa sinne kun ei kerkiä harrastusmielessä alkaa opiskelemaan.


      • cad3

        Sitten käy vaikka logi.CAD3.
        https://www.logicals.com
        Ei ole pakko olla arduino pohjainen plc, käy se perus arduinokin ja hommaa siihen erilliset relekortit ja optoerotin kortit ja mitä nyt tarviikin, niin saa halvemmalla.


      • Meikä-

        Joo, tossa näyttää toi ohjelmointikieli juuri siltä miltä kuuluukin! tosin sitten sivu menee DE, eli jostain (sian)saksaa?

        Tosiaan alkaa valkenemaan, tuo PLC- sana tekee arduinosta saman näköisen DIN-kisko-duplon kun siemenssin LOGO!:kin on!

        Nimenomaan niin se pitäisi olla että perus arduino tai pelkkä AVR verolevyllä ja siitä vaikka opto-lähdöt, kunhan kontrollerin ohjelmointi tapahtuu porttipireillä.

        Nuo DIN-kisko-duplot kuuluu työelämään kun nopeasti kasataan valtavia keskuksia tehtaan seinään, vapaa-ajalla istun mieluimmin kolvi tanassa. Mutta kiitokset vaivannäöstäsi!


    • negotiatorgeneral

      Minä olen siirtynyt käyttämään PC-tietokonetta lähes kaikissa tuollaisissa ohjelmakoodia vaativissa projekteissa, kun noitakin saa aivan pienikokoisina ja esim. auton akullakin toimivina.

      Paremmat liitännät ja muutenkin paremmat ominaisuudet jos on kokonainen tietokone käytettävissä.

      • Meikä-

        Tietokoneella vaan tulee ne laittomat toiminnot ja järjestelmän kaatuminen riskiksi kun on 24/7 valmiustilassa. Laitteen kuluttama virta myös posketon jos funtsaa vaikka jotain tyyliin varashälytintä minkä pitäisi paristoilla toimia.


      • sgdfgsdfgfdsg

        no tuo koskee tietenkin vain windowsia. kyllä esim raspberry linuxeineen pysyy pystyssä maailmanloppuun saakka.
        toki ei tietokoneella koskaan ohjelmoitavia logiikoita korjata, jo virran kulutus on ihan eri luokassa. mutta raspberry arduino on aivan oiva pari keskenään. kahdella vastuksella ja parilla johdolla ne kommunikoi keskenään. eli jännitteenjakokytkennällä joutuu vain yhden jännitteen tiputtamaan alas https://oscarliang.com/raspberry-pi-and-arduino-connected-serial-gpio/


      • fjksldl23gh4

        Voi olla PC-koneessa sitten pelkästäänkin BIOS, tai DOS-käyttöjärjestelmänä. Intelillähän oli tuollainen pieni ATOM, jo kymmenen vuotta sitten, nythän niiltä tulee uusi vaastaava.


    • vanha_vaan_toimii

      Nuo valmiiksi pureskellut ohjelmointiympätistöt ovat osoittautuneet järjestäin huonoiksi: Ei tarvitse mennä kuin 10 vuotta ja ohjelmointiympäristöä ei enää tueta/sitä ei saa käyntiin uudessa käyttöjärjestelmässä tai siihen on ilmestynyt joku io-vika, joka estää laitteen järkevän käytön. Ei voi enää tehdä mitään! Toisaalta niitä putkahtaa aina uusia, eli jos viitsii opetella uuden ympäristön, laitteensa voi edelleen saada ohjelmoiduksi.
      Tästä syystä mielestäni paras yhdistelmä on kirjoittaa koodit Emacs:lla. Kääntää ohjelmat avr-gcc:llä ja luoda makefile tätä varten mfile:llä. Siinä saa samalla säädettyä prosessorinkin kohdalleen ja käännösparametrit. Nuo bootloaderit olen kanssa jättänyt omaan arvoonsa: Niistä on lähinnä haittaa, jos muistinkulutus menee tiukille tai tarvitaan kaikki prosarin nastat käyttöön. ISP(In-Circuit Programming) sen sijaan on suositeltavaa. Eli jonkinlainen ohjelmointilaite(esim. USBTiny-ISP ) on mukava omatekoisen PCB:n kanssa puljattaessa. Bootloaderin kanssa toimiminen on opettanut sen, että jossain vaiheessa menee jotain vikaan ja em. laitetta joka tapauksessa tarvitsee jos ei muuten niin esim. fuse-ohjelmointiin.
      Ja jos laite juttelee PC:n kanssa, ohjelmat kirjoitetaan siten, että molemmissa päissä voi käyttää samaa funktiorajapintaa eli on rautariippuvainen osa ja sen päälle read/write joko blokkaavana tai ilman. Operaatiot määritellään parametreina yhteisistä tiedostoista. Sarjaportti on hyvä, mutta jos se menee liian hitaaksi niin rinnakkaisportti käy, kun siihen rakentaa päälle SPI-väylän. Eli PC:n puolelta homma näyttää rinnakkaiselta (EPP/SPP) operaatiolta ja kontrollerin puolelta SPI-väylä operaatiolta. Tällä tavalla saa protokollasta mahdollisimman yksinkertaisen. Ja nopeutta tulee riittävästi lisää - ei se kontrolleri kuitenkaan pysty yli 2MBit/s nopeuksiin. USB:ssa taas on se sama huono puoli, kuin 10 vuotta vanhassa softassa: Se ei toimi 10 vuotta uudemmalla koneella enää, koska ajuri on tehty vanhalle järjestelmälle - on todellinen vahinko, että rinnakkaisporttia ei enää tahdo löytyä uusista koneista..
      I2C on toinen toteutusvaihtoehto, senkin saa jopa suoraan linux:n ajurituella ja toimii hyvin. Sen heikko puoli on protokollan monimutkaisuus kontrollerin päässä, mutta jos sen kestää, se toisaalta antaa koodille hyvän rakenteen.
      Vähän vanhemmilla prosessoreilla sitten sdcc on hyvinkin käyttökelpoinen työkalu. Ja eprommeri! ;)

      • kzkzlzlzmdmzzm

        no arduinon tuki tuskin lakkaa, sehän on avointa niin raudan kuin softankin puolesta.
        arduino on hyvä tapa päästä alkuun, kun siinä saa heti toimivaa vähällä vaivalla.


      • PiitkäänVielä

        Esim. PIC16F84 on vanha kontrolleri, eikä senkään käyttöä mikään vielä estä, paitsi turhan kallis ja voi laittaa 16F628 tilalle. AVR on uudempaa tekniikkaa niin sitä saa varmaan vielä pitkään. C on ollut käytössä yli puolivuosisataa joten ei sekään häviä, ainakin tulee sitten tulkit millä C-kirjastot saa käännettyä toiselle kielelle.


      • vanhenemis_rappio

        Ongelma on nimenomaan siinä, että pitkällä jänteellä kaikki lakkaa toimimasta. Mietipä itse 10-vuoden päästä itseäsi ja kuvittele, että olet ainoa, joka osaa omatekoisen laitteen portata uuteen järjestelmään? Omakohtaisella kokemuksella voin kertoa, että ei ihan mene putkeen kun tavittavat ohjelmointilaitteet hukkuneet/menneet rikki eikä saa enää kytkettyä uusiin laitteisiin kiinni. Myöskään ohjelmien editointi ei ole mitään herkkua: Aiemmin toiminut wizard, jolla GUI luotu PC:lle antaa kasan virheilmoituksia. Muistista ei myöskään löydy enää, mitäköhän API:a se PC:n yhdistäminen laitteeseen käyttikään. Lisäksi koodin seasta löytyy "purkkaa" josta ei ole mitään käsitystä enää uudessa ympäristössä, mitä sen on alunperinkään pitänyt tehdä.
        Siispä täydellisesti toiminut moduli-ajattelu on luonut kasan toimimattomia moduleita, joista ei ota selvää enää kukaan ja yksittäiset modulit pitää ensin portata uuteen versioon ympäristöstä!
        Eri asia tietysti on, jos omatekoinen laite on koko ajan tulilla ja sen kanssa tehdään töitä säännöllisesti (jonkinlainen perus platformi, johon kaikki perustuu). Silloin ei tule äkkinäisiä isoja muutoksia vaan kaiken saa portattua sopivissa palasissa, kun tietää mikä osa on milloinkin muuttunut.
        Helpompaa usein yo. tapauksessa lähteä uudessa ympäristössä puhtaalta pöydältä ja tehdä kaikki uudestaan ainakin toisessa päässä. Entäpä jos se, joka tämän homman tekee et olekaan sinä, vaan sinun jälkeesi firmaan tullut noviisi ja itse olet eläkkeellä?


      • gdrsagdsafgfd

        totahan se nykyään on. eihän vuoden vanhaan digiboksiin tai kolme vuotta vanhaan autoonkaan päivityksiä saa. osta uusi. osta, osta!


      • Mävaanjoo
        gdrsagdsafgfd kirjoitti:

        totahan se nykyään on. eihän vuoden vanhaan digiboksiin tai kolme vuotta vanhaan autoonkaan päivityksiä saa. osta uusi. osta, osta!

        Taitaa vanhemmissa olla vara parempi. Sain 30v vanhaan autoon päivitettyä uudet renkaat. Vielä oikean kokoiset.


    • 5435345433hy

      Eli PC-koneella käytät pelkästään BIOS:a, joka on jo sinällään käyttöjärjestelmä, ei tule mitään muiden käyttöjärjestelmien bugeja lainkaan, olettaen että Basic I/O Operating System on puhdas.

      Ei edes Linuxin viruksiakaan.

      • SoriAihe

        Uusista koneista tulee BIOS jäämään lähiaikoina kokonaan pois. Joko pakkiautomaateista on vaihdettu XP:koneet pois, ainakin vielä vuosi sitten oli käytössä.


      • k3242g432kg4k3f

        Grafiikkakiihdyttimissä on myös oma BIOS:nsa :) Väitätkö että nekin jäävät ja samantien kaikki firmwaret jäävät pois? Prosessorien sisäisetkin microcodet myöskin?

        En usko oikein että täysin langattomasti bootattaisiin jostain cloudista eli serveriltä :D


      • SoriVierestäTaas
        k3242g432kg4k3f kirjoitti:

        Grafiikkakiihdyttimissä on myös oma BIOS:nsa :) Väitätkö että nekin jäävät ja samantien kaikki firmwaret jäävät pois? Prosessorien sisäisetkin microcodet myöskin?

        En usko oikein että täysin langattomasti bootattaisiin jostain cloudista eli serveriltä :D

        Ei kukaan ole väittänyt ettei firmwarea tarvita, ei se arduinokaan toimi ilman koodia. Mutta tuosta CP/M aikakauden jäänteestä on aika jättämässä.
        http://etn.fi/index.php/13-news/7210-bios-katoaa-lopullisesti


      • näinsemeepi

        Ihan tuttua juttuahan on jokaiselle OIKEALLE OHJELMOIJALLE kirjoittaa pelkästään assembly-käskyjä käyttämällä oma käyttöjärjestelmä, jokaiselle normi-työttömällekin, ei se älykkyyttä yhtään vaadi, johan Linus Torwaldskin sen todisti.

        Joo älykkyyttä ei tarvita, vain hyvät silmälasit.


    Ketjusta on poistettu 1 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Cynthia Woods

      😋😍😋😍😋😍😋😍😋 💋 ­­­N­­y­m­­­f­o­­m­­a­­a­­­n­i -> https://x18.fun/girl04372247#CynthiaWoods 🔞💋❤️💋❤️💋🔞�
      YIT-Yhtymä
      1
      14826
    2. Perustele miksi hän ei

      Ole sopiva sinulle
      Ikävä
      184
      1784
    3. Mikä oli nainen

      Paras yhteinen hetkemme niistä pienistä ja vähäisistä.
      Ikävä
      77
      1124
    4. Miksi sinulla, nainen

      On niin negatiivinen asenne minuun ja yleensäkin negatiivinen käsitys?
      Ikävä
      113
      1123
    5. Nainen, millainen tilanne oli

      kun huomasit ihastuneesi häneen oikein kunnolla. Missä tapahtui ja milloin
      Ikävä
      64
      1046
    6. Lakeisha Coleman

      🍑🍒🍑🍒🍑🍒🍑🍒🍑 💋 ­­N­y­­­m­f­­o­­m­a­­­a­n­­i -> https://x18.fun/girl08105348#LakeishaColeman 🔞💋❤️💋❤️💋🔞
      Synnytys
      0
      981
    7. Pamela Orr

      😋😋😋😋😋😋😋😋😋😋 🍒 ­­­N­y­­m­f­­o­­­m­a­­­a­­­n­­­i -> https://x18.fun/girl06055581#PamelaOrr 🔞❤️💋❤️💋❤️🔞
      Star Wars
      0
      980
    8. Allison Queen

      🍒🍑🍒🍑🍒🍑🍒🍑🍒 ❤️ ­N­­­y­m­­­f­­­o­­m­a­a­­­n­­­i -> https://x18.fun/girl07854217#AllisonQueen 🔞❤️❤️❤️❤️❤️🔞
      Vedonlyönti
      0
      976
    9. Jennifer Mitchell

      🍑🍒🍑🍒🍑🍒🍑🍒🍑 🔞 ­­N­y­­m­­­f­o­­m­­­a­a­n­­­i -> https://x18.fun/girl08490246#JenniferMitchell 🔞❤️💋❤️💋❤️
      Joensuu
      0
      974
    10. Aimee Dvorak

      😍😋😍😋😍😋😍😋😍 💋 ­­N­­­y­­­m­­f­o­m­a­a­n­­­i -> https://x18.fun/girl02740429#AimeeDvorak 🔞❤️❤️❤️❤️❤️🔞💋💋
      0
      973
    Aihe