[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4683: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3830)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4685: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3830)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4686: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3830)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4687: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3830)
Elektroniikkafoorumi • katso viestiketjua - pic aloittelu
Sivu 1/6

pic aloittelu

ViestiLähetetty: Ti Elo 19, 2008 22:20
Kirjoittaja muikku222
ajattelinpa aloittaa mikrokontrolli hommat että mitäs mielä porukka on näistä laitteista

tuommoinen aloitus paketti

http://194.201.138.187/epages/Store.sto ... ts/AXE001U

ja tuommoisia piirijä tuohon

http://194.201.138.187/epages/Store.sto ... cts/MIC003

http://194.201.138.187/epages/Store.sto ... cts/MIC005

tuota haluan nyt tietooni että olenko käsittänyt väärin että nuo riittäisivät
ainakin aluksi

ViestiLähetetty: Ke Elo 20, 2008 9:53
Kirjoittaja TAP
Jostain syystä en itse kovin lämpene. Saisi olla systeemi, jossa kontrolleri olisi mahdollisimman yksikseen ilman liikoja hienouksia ympärillään. Kouluelektroniikassa ja Vaasan elektroniikkakeskuksessa ainakin on joku PIC kokeilu/ohjelmointikortti.

Ise ostin Probytestä ohjelmointilaitteen ja tilasin Magentalta LCD-driver board:in johon liitin DS18S20 lämpötila-anturin. Ei ihan tyvestä puuhun...

Englannin kielellä löytyy opetusmateriaalia, mutta suomeksi huonommin.

http://www.magenta2000.co.uk/acatalog/PIC_Kits.html
http://www.probyte.fi/info/pic_cd.htm

Nyt tietenkin joku tyrkyttää Atmelia, kun on parempi...voi ollakkin, en tiedä.

ViestiLähetetty: Ke Elo 20, 2008 21:20
Kirjoittaja JKN
Tietoni PICeistä ovat hataralla pohjalla, kun ei ole niiden kanssa tullut käytännössä pelailtua, mutta silläkin riskillä heitän tähän muutaman kommentin.

Käsittääkseni PICAXE ja tavallinen PIC ovat siinä määrin eri heimoa, että kehityskitit ja piirit eivät sovi ristiin. Jos olet hankkimassa PICAXE-kehitystyökaluja, niin myös rakennettaviin laitteisiin tulevat piirit pitää olla PICAXEja, tavalliset PICit eivät käy. Tai kääntäen, jos haluat käyttää laitteissa PIC-piirejä, täytyy hankkia PIC-kehitystyökalut. Joten ehdottamasi hankinnat eivät ole yhteensopivia.

PICAXE mainostaa kovasti sitä, että ohjelmat voi downloadata suoraan sarjaportista piirille, ei tarvita "monimutkaisia ohjelmointi- ja erasointilaitteita". Nykyaikana tämä ei ole mitenkään ainutlaatuista. Esim. NXP:n lähes kaikki kontrollerit osaavat tämän, sekä 8051- että ARM-pohjaiset. Ja kyllähän PC:n ja kontrollerin väliin tarvitaan silti ainakin yhden IC-piirin verran elektroniikkaa: RS232/TTL-tasonmuunnos. Samalla IC-määrällä onnistuu jo Atmelinkin ohjelmointi PC:ltä.

PICAXEn kääntäjä ei tuota PICin konekielistä koodia vaan jonkinlaista välikoodia, joka ladataan piirille ja siellä oleva tulkki ajaa koodia. Tämä pistää kyllä epäilemään suorituskykyä. Tässä on samalla syy, miksi PIC ja PICAXE eivät käy ristiin.

Suosittelen kyllä harkitsemaan , saat ammattitason työkalut halvemmalla kuin PICAXEn Starter Pack.

ViestiLähetetty: Ke Elo 20, 2008 21:57
Kirjoittaja jp
Joo.......
Vinkkinä Proton basic ei paljoa maksa ja sillä on tullut tehtyä
sovellutuksia, jopa teollisuus käyttöön. Havaittu helpppo käyttöiseksi,
helpoksi oppia ja paljon yksinkertaisempaa kuin assembler, tai
c-kieli. Periaatteesa kirjoittelet ensimmäisen ohjelmasi jo muutaman
tunnin kuluttua aloittamisesta.... Joten....Toinen valinta on
Micro Basic kääntäjä, josta löytyy tarvittaessa tuki Microchipin
piireille, tai jos haluat käyttää AVR.rää, basic kieli on samanlaista
ainoastaan valikoit AVR kääntäjän. Tietysti jos haluat opetella
assemblerin / c-kielen, otan osaa....nykyisillä Basic kääntäjillä tosin teet samat asiat huomattavasti nopeammin.

ViestiLähetetty: Ke Elo 20, 2008 22:23
Kirjoittaja muikku222
hmm tuo jonkun ehdottama systeemi vaikuttaa ihan hyvältä mutta valitettavasta tilasin nuo jo onnekseni vaihdoin nuo piirit kun ajattelin että voi olla parempia koska ne on tuon picaxen piirejä muuten eikö ajastin ole helppo tehdä mikrokontrolilla teoriassa ainakin olisi.

ViestiLähetetty: Ke Elo 20, 2008 23:40
Kirjoittaja jp
Jos haluat käyttää normaaleja Microchipin piirejä, mitkä maksavat
murto-osan noista tilaamistasi... Laittanet YV.tä, niin opastan alkuun
harrastuksessa. (tietyt microchipin piirit pystyy myös ohjelmoimaan suoraan pc.n sarjaportista ilman suurempia ongelmia).

ViestiLähetetty: To Elo 21, 2008 8:29
Kirjoittaja TAP
Itse ole käyttänyt vain assemblyä, mutta aloittajalla voi kenties olla kokemusta jostain korkeamman tason kielestä tai ei muuten vain halua assemblyä käyttää. PIC:ille ei taida löytyä ilmaiseksi täydellistä C-kääntäjää, mutta tämä voi olla vanhaa tietoa. Picbasic, ch- basic ja muitakin basicceja löytyy ainakin rahalla. Mikrobitissä PIC-juttua jos vain on lehti saatavissa.

PIC16F84 on vanhentunut malli, mutta aloittelijalle mukava kun siinä on vähemmistä toiminnoista johtuen selkeämpi rakenne. Vastaavia uudempia malleja ovat esim. 16F628, 16F88.

Ohjelmointilaite ei itse tehtynä juuri mitään maksa. Nollavoimakanta on hintavin osa jos sen haluaa. PIC:issä on ICSP eli In-circuit Serial Programming mahdollisuus. Omasta ohjelmointilaitteestani kytkin 5-napaisen kaapelin lämpömittariprojektiini. Muutettuani koodia käänsin ja latasin sen suoraan laitteeseen irrottamatta PIC:iä paikaltaan.

Näissä kontrollerihommissa paistaa helposti läpi se mille piirille kaveri on oppinut koodia tekemään. Joka härillä kyntää se häristä puhuu... Itselläni vähäinen kokemus vain PIC:istä. Vähän eri asia ovat todelliset ammattilaiset tai todella aktiiviset harrastajat joilla on laajempaa kokemusta.

ViestiLähetetty: To Elo 21, 2008 20:33
Kirjoittaja JKN
Hyvä, että hoksasit vaihtaa piirit PICAXEksi ennen tilaamista. Varmaan PICAXE on ihan käyttökelpoinen piiri alkuopetteluun. Voi olla aloittelijalle helpompikin kuin tuo suosittelemani SiLabsin systeemi, mutta toisaalta veikkaan, että eväät loppuu nopeammin, jos alat edetä harrastuksessa.

Mikrokontrollerilla voi kyllä tehdä ajastimen monellakin tavalla. Määrittele hiukan tarkemmin, millaiset ominaisuudet ja toiminnot haluaisit siihen, niin foorumilaiset voivat auttaa alkuun.

Kommentteja muuhun keskusteluun: Basic on hyvä kieli opetteluun, mutta kyllä siitä kannattaa siirtyä pois melko nopeasti. Assembly on syytä osata, muuten ei oikeasti ymmärrä kontrollerinsa toimintaa. Olen joskus sanonut, että jos et osaa ohjelmoida kontrolleriasi assemblyllä, et osaa ohjelmoida sitä. Sitten kun assemblyn työläys alkaa rasittaa isommissa ohjelmissa, voi siirtyä C:hen, joka on lähinnä "rationalisoitu assembler". C on helppo kieli sille, joka osaa assemblyn.

On ihan totta, että tottumuksen voima on suuri näissä kontrollerihommissa. Itse hallitsen kunnolla ainoastaan 8051:n, joten siitä aina myös puhun. Mutta on myös sanottu, että kannattaa mieluummin hallita yksi arkkitehtuuri kunnolla kuin useita huonosti.

ViestiLähetetty: To Elo 21, 2008 21:30
Kirjoittaja muikku222
tuosta ajastimesta että en sillaista aijo tehdä kunhan vaan kysyin eiköhän tästä jotain tule kun osaan valmiiksi c kielen

ViestiLähetetty: Pe Elo 22, 2008 0:02
Kirjoittaja jp
Joo mulla taas on mennyt tuo kehitys toisin päin
Aloitettu assemblerilla, siirrytty c-kieleen, ja jotain
väännetään basikilla, tosin työmaalla koneessa ei
ole basic kääntäjää.

OHJELMAKOODI

ViestiLähetetty: Pe Elo 22, 2008 8:29
Kirjoittaja TaRu
Pelkkä C:n osaaminen ei riitä kunnolla laiteohjaukseen. Varsinkin jos se osattu C on ns. "merkonomi C:tä", kuten eräs kaveri sanoo. Olin vuosikymmeniä sitten C-kurssilla ja kysyin opettajalta, miten ohjaisin releitä rinnakkaisportin kautta, hän nosti kädet pystyyn, eikä voinut auttaa. Löysin kirjan, jossa asia oli selvitetty, näin ongelma ratkesi. Mikro-ohjaimen hyvä hallinta edellyttää sen rakenteen tuntemista ja siihen sopivan ohjauskoodin kirjoitusta. Harrastelijan on hyvä osata myös kohtuullisesti elektroniikkaa, muuten osaaminen jää pelkäksi LED-lamppujen vilkutteluksi. Mitä tehdään sitten komparaattorilla, laskurilla, ajastimella, PWM-ominaisuudella, A/D-muuntimella ja sisäisillä tai ulkoisilla keskeytyksillä, ne jää arvoituksiksi. Luettavaksi suosittelen Pentti Vahteran kirjaa "Mikro-ohjaimen ohjelmointi C-kielellä".

ViestiLähetetty: Pe Elo 22, 2008 12:27
Kirjoittaja muikku222
15 vuotta takana elektroniikkaa joten ei ainakaan kiinnostuksen puutteeseen lopu latasin tuon picaxen demo ohjelmointi ohjelman ja tuo välikoodi on saakelin hidasta touhua (onneksi ohjelmassa voi ohjelmoida myös basikililla)

ViestiLähetetty: Pe Elo 22, 2008 18:16
Kirjoittaja JKN
Jos osaat C:tä, niin se on jo hyvä lähtökohta. Toki kontrollerin ohjelmoinnissa "oheislaitteiden" (huono termi, kun ovat samalla chipillä) eli timerien, A/D-muuntimien jne. hallinta on oleellinen osa asiaa, ja on samanlaista ohjelmointikielestä riippumatta.

Itse C-ohjelmointikin on kontrolleriympäristössä aika lailla erilaista kuin PC:ssä. Yhtäkkiä sinulla ei olekaan rajattomasti muistia ja prosessoritehoa käytössäsi, niitä on päinvastoin hyvinkin rajallisesti. Tämä vaikuttaa vahvasti kaikkeen. Esim. ei kannata laittaa for-loopin kierroslaskuriksi int, jos kierretään vain kymmenen kertaa, kannattaa laittaa unsigned char, ja taas säästyi 1 tavu kallisarvoista RAMmia, ja looppi on myös nopeampi.

ViestiLähetetty: Pe Elo 22, 2008 20:52
Kirjoittaja jahonen

ViestiLähetetty: La Elo 23, 2008 9:47
Kirjoittaja JKN