# ATMEL mikrokontrolleri >  Iesacejs

## edza135

Sveiki!Gribētu iemācīties programēt,domāju ka varētu sākt ar kaut ko vienkāršāku. Piemēram uzprogramēt mirgojošas led lampiņas uz ATTiny bāzes. Varētu lūdzu kāds ko ieteikt.

----------


## Slowmo

Tad sāc ar programmēšanas pamatu apguvi. Atrodi internetā kādus C/C++ tutoriāļus vai grāmatas, jo tur būs diezgan saprotamā valodā aprakstīts, kas ir kas. Literatūra par mikrokontrolieriem man liekas vairāk rakstīta tiem, kas programmēšanu kā tadu jau ir apguvuši un tur var nebūt izskaidrots kas, piemēram, ir cikls un kam tas vajadzīgs.
Latvijā gan vēl gandrīz visās mācību iestādēs mācīt sāk ar Turbo Pascal, taču neredzu tur lielas priekšrocības salīdzinājumā ar C. C tomēr būs noderīgāks.

----------


## edza135

Paldies par padomu

----------


## edza135

Es palasiju visadus avotus un sapratu kas tas tads pa zveru ir. Varbut ir kada shēma kur to varētu praktiski izmeiginat?

----------


## habitbraker

::  Kuru zvēru tieši tu saprati?

----------


## edza135

Nu to C++ valodu, kas vinja tada ir.  ::

----------


## Zalic

nu turbo pascal nav gan visur ^_^

bet par atmel, varbūt kādam ir aizķērusies kāda shēma ar atmega8 kur darbina diodes vai kas tāds, jo ar mikrokontrolieriem darīšana nav bijusi, tāpēc jāsāk ar ko mazu

----------


## habitbraker

Nu tad uzprogrammē kautko, piemēram, lai uz ekrāna izvada "Sveika pasaule!"   ::

----------


## Slowmo

Ātri gan Tu visu saprati. Dažu minūšu laikā. Nu, nu... Ja esi tik pārliecināts par sevi, meklē internetā vienkāršas shēmiņas un koda aprakstus, un taisi augšā. Pilns internets ar tādām.

----------


## edza135

Ja to par sveika pasaule es skatijos.

----------


## Slowmo

Izdrukāt "hello world" nav tas pats, kas iemācīties programmēt  ::

----------


## habitbraker

> Ja to par sveika pasaule es skatijos.


 Nu tad turpini skatīties -saproti kā nolasīt ievadīto, kas ir cikli, masīvi, funkcijas utt..

----------


## edza135

Nu to es saprotu

----------


## edza135

Es mekleju tas mirgojosas lampinas,bet neatradu jo laikam isti nezinu ka sauc.Varētu ludzu ieteikt kadu nelielu shemu uz ATTinty bazes

----------


## habitbraker

Ieraksti googlē atmel C programming
Piemēram pirmais kas izleca http://www.atmel.com/dyn/resources/prod ... r_3_04.pdf
Bet labāk iesaku ASM pamācīties. Atmeliem ir baigi forša tā ASM salīdzinot ar PIC

----------


## Zalic

Krievu zurnala "Radio" oktobra vai septembra menesi bija shema uz atmega8, termometrs, barometrs un vel kautkas, tur vari droši izprovēt spēkus ^_^

----------


## edza135

Atradu sitadu labu lietu http://sites.google.com/site/michalgodowski2/blinker Tik caur kuram kajinam notiek ta programesana un kadu progrmatoru labak izveleties

----------


## Velko

Pie programmatora tiek slēgtas MISO, MOSI, SCK un RESET kājas. Protams, arī GND jāsavieno un no kaut kurienes čipam +5V barošana (VCC) jādabū.

Par to flasheri - ATtiny12 nav RAM (neviena baita, tikai reģistri), tā kā ar C jamo programmēt (vismaz izmantojot AVR-GCC kompilatoru) nevar. Jāiztiek ar ASM. Turklāt, tā ir jau pavisam novecojusi mikrene, iespējams pat, ka nav vairs nopērkama. Ja nu ir vēlēšanās izmantot kādu mazo 8-kāju AVR, tad var ņemt ATtiny25.

Laikam jau atkārtošu iepriekš rakstīto, bet arī es iesaku no sākuma drusku parakstīt kādas programmas priekš datora. Citādi sanāk 100% nezināma teritorija.

Bet ja nu aš tiešām gribas uzreiz pie MCU ķerties, var paspēlēties arī ar _WinAVR_ + _AVR Studio_ simulatoru + piejūgt _HAPSIM_, lai emulē virtuālus LEDus. Kad būs radusies sajēga, tad var mēģināt arī lodēt shēmu un cept iekšā īstā čipā.

Vēl viena alternatīva - ņemt _Arduino_. Tad nebūs jāsatraucas par programmatoru un shēmas lodēšanu. Arī izstrādes vide tāda "novienkāršota".

----------


## edza135

Ja es par to ardunio skatijos,bet kur lai tadu dabu

----------


## JDat

> Ja es par to ardunio skatijos,bet kur lai tadu dabu


 Ar pasta piegādi no ELFA vai Argus.

Es protams esmu skops un pats būvētu. Bet lai uzbūvētu vajag programmatoru, tā ka tev nav vērts čakarēties. Nopērc gatavu arduino kitu un mācies.

----------


## Velko

Ja nu tomēr gribas čakarēties un "sākt, kā es sāku" (un kompim ir LPT ports), tad var mēgināt šādu programmatoru. Shēmas nav, bet kas ar ko jāsavieno ir aprakstīts. Avrdude sauc šo aparātu par "bsd". Vēl viena piebilde par virknes rezistoriem - man 1K darbojās labi, kādam citam foruma biedram (Epim   :: ) ar 1K5 rezistoriem nekas nedarbojās. Līdz brīdim, kamēr viņš MISO (vai varbūt MOSI) nomainīja uz mazāku.

----------


## edza135

man tads viens jautajums.Vai pascal valoda ir laba jo man vinja labak patika neka c++ valoda un gramata ari ir no kuras macities par pascal valodu.

----------


## habitbraker

Nav tak nekas labaaks tam pascal. Vins ir novecojis un C/C++ buus daudz noderiigaaks - kaa nekaa ne velti vinas ir vispularaakaas valodas.

----------


## edza135

ui sajaucu ta valoda ir TURBO PASCAL

----------


## Helis

> ui sajaucu ta valoda ir TURBO PASCAL


 da kāda atšķirība vai tur TURBO vai ULTRA vai sazin vel kāds zvērs priekšā, tas pats parastais pascals jau ir. labāk jau urbies cauri tam C, jo tas nu būs par visiem 150% noderīgāk un lietderīgāk nekā tas pascal un C man sintakses ziņā liekas vieglāks arī par pascal. īstenībā jau ideāli būtu ja tu iesākumā mēģinātu ar asm padarboties un kārtīgi to digitālo brīnumu mikrokontrolieri izprastu un tad C lauciņā gāzties iekšā. bet nu es pagaidām pats neesmu vēl sadūšojies to asm ņemt priekšā jo izskatās baigi nepievilcīgs un pie tam vēl tā ir JDat dzimtā valoda  ::

----------


## JDat

Kāda tur dzimtā valoda?

Es sāku ar BASIC (uz BK-0010). Tad bija QBASIC, tad ASM uz x86. Tāpēc man vieglāk ASM uz mikrokontrolieriem. Takā pat laikā prasās C zināt. Pa laika kaut ko palasu, bet tas nav nopietns piegājiens. Tāpēc arī ASM uz mikrokontrolieriem. Kad C zināšu, tad kombinēšu kopā. Mans uzskats: mission critical lietām (IRQ piemēram) uz MCU vajag ASM, lielu datu apjomu apstrādei un matemātikai (lLOG, SQRT utt) C jālieto.

----------


## Helis

tas par to asm tevis pakacināšanai  ::

----------


## JDat

> tas par to asm tevis pakacināšanai


 Nu bet... Es tak zinu.  :: 

Tevis pačakarēšanai: Tie kas uz MCU prot tikai C un nemāk ASM: tie ir koderi, kas nākushi no PC kodāshanas un ar elektronika šiem ir vēl sliktāk ne kā man.  ::

----------


## edza135

Ar pascal valodu var programet mikroshemas?

----------


## Vikings

Varēt jau var, tikai uzreiz jautājums - vai vajag? Vai konkrētajai valodai ir plašs pielietojums un perspektīvas? Programmēšanas pamatprincips taču visās valodās ir viens, tikai sintakse atšķiras. C viennozīmīgi ir daudz lielākas perspektīvas nekā Pascal. Pie tam iemācīties ko jaunu arī nenāk par sliktu.

----------


## Zalic

netieku gudrs, ar ko atšķiras atmega8 - 16PI ar atmega8 - 16PU? Shēmā rakstīts atmega8 - 16PI, bet tādu pat nopirkt nekur nevar. Varbūt varu likt atmega8 - 16PU? abas ir ar 28 kājām un barojas ar 5V

----------


## Vikings

Tas ir darbības temperatūras diapazons. Ar I jābūt lielākam, bet Tavā gadījumā tas visdrīzāk ir mazsvarīgi - derēs abi.

----------


## Zalic

Ir neliela neizprašana, lasīju krievu grāmatā, bet tāpat netiku gudrs, ko īsti iespaido C6 un C7. Vai C2, C3, C4 un C10 ir filtra kondesātori? Vai pareizi saprotu ka R1-R4 ir ieejas aizsardzības rezistori?

Sgēma -> http://content22-foto.inbox.lv/albums16 ... 1-3/as.jpg

----------


## next

> Ir neliela neizprašana, lasīju krievu grāmatā, bet tāpat netiku gudrs, ko īsti iespaido C6 un C7. Vai C2, C3, C4 un C10 ir filtra kondesātori? Vai pareizi saprotu ka R1-R4 ir ieejas aizsardzības rezistori?
> 
> Sgēma -> http://content22-foto.inbox.lv/albums16 ... 1-3/as.jpg


 C6 un C7 nodroshina rezhiimu taktsgjeneratoram.
Jaa.
Jaa.

----------


## Hondists

Iegādājos no argus usbasp programmatoru, bet ir problēmas ar draiveru uzlikšanu. Mēģināju ar Driver Signature Enforcement Overrider bet nekā nesanāk, tikuntā rāda "Not digitally signed"
Ja es izmantoju pašu jaunāko draiveri tad vajag arī programmatorā pašu jaunāko firmwari?

----------


## Zalic

ar kādu programmu visvieglāk un labāk programmēt atmel kontrolierus?

----------


## habitbraker

AVR Studio  ::

----------


## Zalic

Ir šāds programators -> http://web.argus.lv/shop/images/USBA...cc=LV1?thumb=1 piesprauzot pei pc rāda unrecognized, programatoram nevien sleds nedeg. Vai tie slēdži ir kā īpaši jāsaslēdz? Vai tā varētu būt ka viņš pats vispirms ir jaieprogrammē?

----------


## Vikings

Par šo jau bija stāsts, ka, jā, tas ir iepriekš jāieprogrammē.

----------


## JDat

Programmators, kuru vajag programmēt... Kas bija pirmais: ola vai vista?

Nav iespēja tik pie Win98 vai DOS un pritera porta? Tad varētu atrisināt šo problēmu...

EDIT: WinXP arī derēs. Svarīgi lai uz mātesplates ir integrēts printera (LPT) ports.

----------


## janisbeikm

Var to izdarīt arī caur COM portu. Reku shēma un apraksts vienkāršam programmatoram -links

----------


## Zalic

ir XP un LPT arī ir jau uz plates virsū

----------


## Powerons

Sveicināti!

Man tāds jautājums, kā C++ kodā var failu ienest, šinī gadījumā ir bildīte
izskatās tas šādi:

//Das GIF Bild für LED on
PROGMEM char led_on[] = 
	{
	0x47,0x49,0x46,0x38,0x39,0x61,0x11,0x00,0x11,0x00,0xA2,0x07,0x00,0x62,0x62,0x62,
	0x19,0xAD,0x21,0x21,0xE2,0x2C,0xA5,0xA5,0xA5,0x64,0xE6,0x6B,0xA5,0xF3,0xA9,0xD5,
	0xD5,0xD5,0xFF,0xFF,0xFF,0x21,0xF9,0x04,0x01,0x00,0x00,0x07,0x00,0x2C,0x00,0x00,
	0x00,0x00,0x11,0x00,0x11,0x00,0x00,0x03,0x60,0x78,0xAA,0xD6,0xF3,0x66,0xC9,0xD3,
	0xEA,0xBB,0x51,0x56,0x12,0x7A,0x17,0x00,0x30,0x2C,0x4D,0xF1,0x09,0xA8,0xD0,0x85,
	0x59,0x13,0x08,0x44,0x4C,0xA4,0x6A,0x48,0x19,0x2A,0x51,0xEC,0x73,0xBA,0x0E,0x2E,
	0xD8,0xAE,0x10,0xA3,0x05,0x44,0x41,0x1D,0x8F,0x56,0x13,0x0D,0x5E,0xB2,0xA2,0x31,
	0xF4,0x78,0xA1,0x7A,0xCC,0xA3,0xD3,0xCA,0x9C,0x02,0x0C,0x4F,0x6E,0xF7,0x77,0xA8,
	0x76,0x7D,0x36,0x4A,0xE8,0xE4,0xD3,0x8E,0x14,0x83,0xB5,0xC7,0x43,0x9D,0x18,0x42,
	0xF8,0xFC,0x7B,0x52,0x8E,0xE3,0xF7,0x0A,0x09,0x00,0x3B,
	'%','E','N','D'};

Ar kādu programmu var paņemt bildīti un šādi konvertēt kā mainīgo?

----------


## Muzikants

> Sveicināti!
> 
> Man tāds jautājums, kā C++ kodā var failu ienest, šinī gadījumā ir bildīte
> izskatās tas šādi:
> 
> //Das GIF Bild für LED on
> PROGMEM char led_on[] = 
>     {
>     0x47,0x49,0x46,0x38,0x39,0x61,0x11,0x00,0x11,0x00,0xA2,0x07,0x00,0x62,0x62,0x62,
> ...


 Google Power

----------


## Powerons

Es jau visu googli izmeklējis visur pārkodē tikai lūk šādā formātā:
A2 E3 64 B8 A2 0E 75 93 EA 43 BD 3F F9 AE 1A

Bet vajag lūk šādi:0x47,0x49,0x46,0x38,0x39,0x61,0x11,0x00,0x11,0x00
Tā lai  var ielikt programmā tekstu mainīgo un nokompilēt, varbūt kāds ir tā konvertējis.

Mazam failam tos kommatis un nullītes ar roku priekšā var sarakstītm bet lielam failam vajag kādu programmu

----------


## next

> Mazam failam tos kommatis un nullītes ar roku priekšā var sarakstītm bet lielam failam vajag kādu programmu


 Man domaat ar excel to var izdariit paaris minuutees.

----------


## JDat

Var ar programmer notepad vai tml.
File-> New document.
Copy no tava faila un Paste iekš Programmer notepad.
"A2 E3 64 B8 A2 0E 75 93 EA 43 BD 3F F9 AE 1A"
Tālāk nomainam atstarpes ar ",0x" un viss.
Sanāk: "A2,0xE3,0x64,0xB8,0xA2,0x0E,0x75,0x93,0xEA,0x43,0xBD,0x3F,0xF9,0xAE,0x1A"
Ar roku izlabo pirmo ciparu un darīts.

EDIT: Var pat ar to pašu Notepad Vulgaris (kas iebūvēts iekš WinXP) izdarīt.

----------


## Powerons

Tas ar notepadu un Replace ir vismaz lietojams variants, bet arī samērā mazām bildēm,
izskatās, ka nāksies kaut ko programmēt pašam, bet šķita ka elementāra lieta  ::

----------


## Powerons

Atklāju vēl labu fīču iekš Programmers notepas "Relpace all" un visus tukšimus vienā rāvienā apmaina uz vajadzīgi
Paldies JDat kas uzvedināja uz labu ideju

----------


## Zalic

arduino var barot ar datora barošanas bloku ja batereju variants neder vai tomer labak izmantot parasto trafu ar tiltu?

----------


## JDat

Baro kā grbi. Ka tik nesajāj ar īssavienojumu vai pārāk lielu patēriņu. Es savu arduino baroju no USB, jo man šobrīd prototipēšanā daži LEDi tikai. Tātad HiPower USB ports pavilks. Esmu darbinājis no netbooka. Drīzumā darbināšu no Raspberry PI. No datora PSU barot? Uztaisi astīti uz to DC kontaktu un baro no 12V šinas. Uz arduino plates ir LM7805 vai tml lineārais regulators, kas par pārējo parūpēsies. Var no datora 5V barot, bet tur ir nianses. Vardu sakot tas priekš GEEKiem kuri zin ko dara...  ::

----------


## Zalic

ko sajat var? plati vai barokli? no pc barošanas bloka vēl doma ņemt +5V un ar to darbināt relejas spoli

----------


## JDat

skaties shēmu un izproti LMku un barošanas ķēžu darbību. nekāds kosmoss tur nav patiesībā. Ak jā. releja spoles pa taisno pie arduino? Ja jā, tad tomēr arduino barošana pārvēšas par kocmocu...

----------

