abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 13:44 | IT novinky

    Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | Nová verze

    Byla vydána nová verze 14.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 12:55 | Zajímavý software

    Společnost Kaspersky vydala svůj bezplatný Virus Removal Tool (KVRT) také pro Linux.

    Ladislav Hagara | Komentářů: 2
    dnes 12:33 | Nová verze

    Grafický editor dokumentů LyX, založený na TeXu, byl vydán ve verzi 2.4.0 shrnující změny za šest let vývoje. Novinky zahrnují podporu Unicode jako výchozí, export do ePub či DocBook 5 a velké množství vylepšení uživatelského rozhraní a prvků editoru samotného (např. rovnic, tabulek, citací).

    Fluttershy, yay! | Komentářů: 0
    dnes 12:00 | Nová verze

    Byla vydána (𝕏) nová verze 7.0 LTS open source monitorovacího systému Zabbix (Wikipedie). Přehled novinek v oznámení na webu, v poznámkách k vydání a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    dnes 11:11 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 22 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 17:00 | IT novinky

    Společnost AMD na veletrhu Computex 2024 představila (YouTube) mimo jiné nové série procesorů pro desktopy AMD Ryzen 9000 a notebooky AMD Ryzen AI 300.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Nová verze

    OpenCV (Open Source Computer Vision, Wikipedie), tj. open source multiplatformní knihovna pro zpracování obrazu a počítačové vidění, byla vydána ve verzi 4.10.0 . Přehled novinek v ChangeLogu. Vypíchnout lze Wayland backend pro Linux.

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | Zajímavý software

    Národní superpočítačové centrum IT4Innovations s partnery projektu EVEREST vydalo sadu open source vývojových nástrojů EVEREST SDK pro jednodušší nasazení aplikací na heterogenních vysoce výkonných cloudových infrastrukturách, zejména pro prostředí nabízející akceleraci pomocí FPGA.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | IT novinky

    Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu aktuálně činí 2,32 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Ubuntu, Linux Mint a Manjaro Linux. Při výběru jenom Linuxu vede SteamOS Holo s 45,34 %. Procesor AMD používá 75,04 % hráčů na Linuxu.

    Ladislav Hagara | Komentářů: 21
    Rozcestník

    Atmel ATtiny 2313 - binární hodiny

    13.7.2008 23:01 | Přečteno: 7894× | Ostatní | Výběrový blog | poslední úprava: 13.7.2008 23:22

    Každý geek by měl jedny mít. A pro ty, kteří opovrhují koupenými nebo jen nemají dost peněz je určen následující návod.

    Důležité: před zahájením práce doporučuji přečíst následující články: Jednočipy pod Linuxem I Jednočipy pod Linuxem II a Jednočip ATtiny2313 pod Linuxem. Nebudu se zde zabývat základními věcmi jako jednoduchý programátor, vývojové prostředí nebo nahrávání programu do jednočipu

    Disclaimer: veškeré zde uvedené postupy činíte na vlastní nebezpečí. I když jsem tento postup vyzkoušel, za případný spálený paralelní port, základní desku, nebo vlasy. Zkrátka když bude něco špatně, mě z toho vynechte.

    Co budeme potřebovat:


    Software

    #include <avr/io.h>
    #include <avr/interrupt.h>
    
    // definice maker pro prace s bity
    #define bitSet(var, mask)   ((var) |= (1 << (mask)))
    #define bitClear(var, mask)   ((var) &= ~(1 << (mask)))
    
    short s=0, m=0, h=0;
    void showMins(short m);
    void showHours(short h);
    
    SIGNAL (SIG_OVERFLOW0) { // zavola se pri preteceni interniho 8bit citace
    
    	static unsigned char count = 0;
    	TCNT0=6; // 8MHz/256/250=125 preruseni/sec - pocita s nastavenim interniho oscilatoru na 	
    		// 8MHz. Pokud tak neni, je nutne prepocitat
    		 // 256 (velikost counteru) - 250 (nas delitel) = 6 (pri kazdem preteceni 		
     			// zaciname od 6 a ne od 0)
    	
    	count ++;
    	
    	if (count == 125) { // pracujeme s kazdym 125 preruseni
    		count=0;
    		extern short h, m, s;
    		s++;
    		
    		if (s%2==0) // kazdou sudou vterinu rozsvitime LED a kazdou lichou zhasneme
    			bitSet(PORTD, PD0);
    		else
    			bitClear(PORTD, PD0);
    		
    		
    		if (s>=60) { // postarame se o korektni cas
    			s=s-60;
    			m++;
    		}
    		if (m>=60) {
    			h++;
    			m=m-60;
    		}
    		if (h==24)
    			h=0;
    		
    		// a nakonec zavolame funkce pro zobrazeni hodin/minut
    		showHours(h);
    		showMins(m);
    	}
    }
    
    SIGNAL (SIG_INT0) { // zavola se pri stisknuti tlacitka minut
    	extern short m,s;
    	m++;
    	s=0; // resetuje vteriny
    	if(m>=60)
    		m=0; // neprehazujeme hodiny, nastavujeme
    	showMins(m);
    }
    
    SIGNAL (SIG_INT1) { // zavola se pri stisknuti tlacitka hodin
    	extern short h,s;
    	h++;
    	s=0; // resetuje vteriny
    	if(h>=24)
    		h=0;
    	showHours(h);
    }
    
    void showHours(short h) {
    	// funkce starajici se o rozsveceni jednotlivych LED pro hodiny
    	if(h>=16) {
    		bitSet(PORTB, PB0);
    		h=h-16;
    	}
    	else 
    		bitClear(PORTB, PB0);
    	
    	if(h>=8) {
    		bitSet(PORTD, PD6);
    		h=h-8;
    	}
    	else 
    		bitClear(PORTD, PD6);
    	
    	if(h>=4) {
    		bitSet(PORTD, PD5);
    		h=h-4;
    	}
    	else 
    		bitClear(PORTD, PD5);
    
    	if(h>=2) {
    		bitSet(PORTD, PD4);
    		h=h-2;
    	}
    	else 
    		bitClear(PORTD, PD4);
    	
    	if(h==1)
    		bitSet(PORTD, PD1);
    	else
    		bitClear(PORTD, PD1);
    }
    
    void showMins(short m) { 
    	// funkce starajici se o rozsveceni jednotlivych LED pro minuty
    	if(m>=32) {
    		bitSet(PORTB, PB6);
    		m=m-32;
    	}
    	else 
    		bitClear(PORTB, PB6);
    	
    	if(m>=16) {
    		bitSet(PORTB, PB5);
    		m=m-16;
    	}
    	else 
    		bitClear(PORTB, PB5);
    
    	if(m>=8) {
    		bitSet(PORTB, PB4);
    		m=m-8;
    	}
    	else 
    		bitClear(PORTB, PB4);
    
    	if(m>=4) {
    		bitSet(PORTB, PB3);
    		m=m-4;
    	}
    	else 
    		bitClear(PORTB, PB3);
    
    	if(m>=2) {
    		bitSet(PORTB, PB2);
    		m=m-2;
    	}
    	else 
    		bitClear(PORTB, PB2);
    	
    	if(m==1)
    		bitSet(PORTB, PB1);
    	else
    		bitClear(PORTB, PB1);
    }
    
    int main() {
    	// Nastaveni pinu jako vystupnich
    
    	bitSet (DDRD, PD0); // vterinovy blikatko
    	
    	bitSet (DDRD, PD1); // hodiny - 1
    	bitSet (DDRD, PD4); // 2
    	bitSet (DDRD, PD5); // 4
    	bitSet (DDRD, PD6); // 8
    	bitSet (DDRB, PB0); // 16
    
    	bitSet (DDRB, PB1); // minuty - 1
    	bitSet (DDRB, PB2); // 2 
    	bitSet (DDRB, PB3); // 4
    	bitSet (DDRB, PB4); // 8
    	bitSet (DDRB, PB5); // 16
    	bitSet (DDRB, PB6); // 32
    
    	// Nastaveni preruseni
    	bitSet (PCMSK, PD2); // minutovy button
    	
    	bitSet (MCUCR, ISC11); // falling edge
    	bitSet (MCUCR, ISC01);
    	
    	bitSet (GIMSK, INT0); // povoleni preruseni 0
    
    	bitSet (PCMSK, PD3); // hodinovy button
    	
    	bitSet (GIMSK, INT1); // povoleni preruseni 1
    
    	bitSet(TCCR0B, CS02); // Clock prescaler (/ 256)
    	bitSet(TIMSK, TOIE0); // povoleni preruseni od casovace
    	sei(); // povoleni preruseni globalne
    	while(1) { }
    	return 0;
    }
    

    Ke zdrojáku snad nemusím nic dodávat, komentáře jsou doufám srozumitelné. Kód zkompilujte a nahrajte do čipu (návody jsou v již zmíněných článcích). Pokud jste se rozhodli nic nepočítat a používat 8MHz, je nutné ještě upravit pojistku (odstranit CKDIV8 bit):
    avrdude -c dapa -p t2313 -U lfuse:w:0xE4:m (pokud používáte jiný programátor, upravte příkaz podle svého).

    Hardware

    Tady přichází ta zajímavější část - součástky pozapojujte podle schématu (POZOR: piny nejsou poporade, ridte se cislovnim - viz datasheet[PDF]).
    Zapojte napájení a mělo by to fungovat. :) Dioda D1 svítí každou sudou vteřinu, diody D2-D7 ukazují hodiny a D8-12 minuty. Tlačítkem T1 nastavujete minuty, T2 hodiny a RESET je reset.

    A to je pro dnešek vše, přátelé. Jen se na ty hodiny raději moc nespoléhejte, pochybuju, že budou přesné :D

    P.S.0: takhle to vypadá u mě:


    Místo jednoho kondenzátoru mám 4 menší a na desce v prvém horním rohu jsou vývody "programátoru" (na paralelní port).
    P.S.1: Nekamenujte me, je to moje prvni ubastlena hracka :)
    P.S.2: Jeste doplnim info o spotrebe, pokud by nekoho zajimala: cca 13mA pri vetsine rozsvicenych diod a napeti 2.7V        

    Hodnocení: 92 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    13.7.2008 23:11 Kevin Mitnick
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    A jeeeje, casy Elektronu su spat...
    =^..^= AmigaPower® avatar 13.7.2008 23:14 =^..^= AmigaPower® | skóre: 30 | blog: BLB | Praha
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    A jak na "tom" poznám kolik je hodin, když to jsou hodiny? ;-)
    13.7.2008 23:33 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Hodiny a minuty jsou ve dvojkove soustave, binarni cislo ukazuji diody (sviti=1, nesviti=0). Takze na fotce je pro hodiny 10011=19, pro minuty 000101=3. Takze vite, ze jsem to fotil v 19:03 :)
    Viz Wikipedie
    Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
    =^..^= AmigaPower® avatar 13.7.2008 23:40 =^..^= AmigaPower® | skóre: 30 | blog: BLB | Praha
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Byl to původně fórek, vím co to jsou binární hodiny...

    ...ale přiznám se, že jak se to počítá, nad tim jsem nikdy nějak neuvažoval a nevěděl jsem ;-)
    13.7.2008 23:49 anicka | blog: ze_zivota
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Popravde, rikat necemu, co 19:03 zakoduje jako 10011 000101 ci tak nejak, binarni hodiny, mi prijde ponekud neromanticke :-)

    Jen pockejte, zajicove, jednou Vam v susi soutezi ukazu, co jsou to opravdove binarni hodiny :-D
    ^D
    14.7.2008 12:10 Ondrej 'SanTiago' Zajicek
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Ukazuji binarne pocet sekund od epochy?
    xxx avatar 14.7.2008 00:38 xxx | skóre: 42 | blog: Na Kafíčko
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Snad v 19:05, ne?
    Please rise for the Futurama theme song.
    13.7.2008 23:37 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    No prece podle diod ... me se teda zda se svitej dost ... rika ti neco binarny soustava ne? ;-)
    =^..^= AmigaPower® avatar 13.7.2008 23:42 =^..^= AmigaPower® | skóre: 30 | blog: BLB | Praha
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    jj, jen už jsem "to" párkrát někde zahlíd, jen mně nikdy nenapadlo přemejšlet jak to funguje ;-)
    14.7.2008 21:57 JZD | skóre: 14 | blog: Na_dvorku
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Příloha:
    V mandrivě mám binární hodiny jako aplet do panelu.
    Víra znamená vyznávat to, o čem člověk dobře ví, že to není pravda. Mlčeti platina, mluviti v gajzu, býti v hajzlu.
    13.7.2008 23:37 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Hezké, já se spíš chystám na to si udělat normální nástěnné hodiny s ručičkou, které se budou synchronizovat přes NTP a budou podporovat IPv6... Pokud někdo víte, kde se dají koupit už hotové, tak budu jen a jen rád... :D
    Jardík avatar 13.7.2008 23:54 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Kup avr32 procesor a dej tam linux a nahraj ntpd :-)
    Věřím v jednoho Boha.
    Grunt avatar 14.7.2008 21:19 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Tak jsem hledal a zjistil, že avr32 není to pravé ořechové. Svůj ideál One chip to rule'Em all jsem bohužel zavrhl a hledal náhradu. Je to sice projekt tak z roku 1999-2000, no ale uznejte&hellipnení to nádhera?Běží na tom realtime verze Linuxu upraveného pro běh bez MMU. A parametry? Microkontrolér s exekučním jádrem vycházejícím ze staré dobré Motoroly 68k, uložiště tak akorát aby neztrácela význam žádná volba v BusyBoxu,…no prostě nádhera. Akorát Orderdesk už neexistuje a nikde jinde se mi ho moc také nedaří najít. Nevíte prosím někdo, kde by se tato nebo podobná hračka dala sehnat? Klidně i lepšími parametry(předevčírem jsem četl, že do SSD se už dávají 16GB NAND čipy).
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    14.7.2008 01:55 Smajchl | skóre: 39 | blog: Drzy_Nazory | Praha
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Proc tak slozite? Nestacilo by WTD?
    My máme všechno co chcem, my máme dobrou náladu!
    14.7.2008 02:46 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Protože mám rád hračky? :-)
    davida avatar 14.7.2008 09:06 davida | skóre: 13 | blog: Blog
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Zkus nejake ktere se synchronizuji radiovym signalem a trosku prebastlit tu elektroniku, mohl by jsi to pak pripojovat pres rs232 nebo jine rozhrani na stroj kde ti bezi ntp.
    14.7.2008 11:04 Kvakor
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Zkusil bych vztit nejake elektromechanicke, tj. ty, kde kotvu (ci co to tam je) pohani elektromagnet (vetsinou takova dlouha valcova civka vinuta jemnym dratem) signalem generovanym elektronikou. Dost casto miva ten signal periodu presne 1 sekunda, takze staci nahradit tu puvodni elektronikou nejakou vlastni a generovat si signal vlastnorucne.
    14.7.2008 13:52 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Jenže takhle nezjistí jaký je čas na těch hodinách a nemůže je později synchronizovat. I kdyby tam cpal z nějakých atomových hodin vteřinové tiky, po nějaké době se mu to rozjede (kvůli ne úplně přesné mechanice).
    Baník pyčo!
    14.7.2008 14:58 Kvakor
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Pokud bude signal presny, hodiny by se rozjet nemely - od kotvy (rizene sekundovymi tiky) dal je to uz jenom velka prevodovka dopomala. A ze by klasicke z ozubenych kolecek slozene prevodovky menily prevodovy pomer jen tak samy od sebe, to se mi moc nezda ...

    BTW: Celkem presnym zdrojem sekundovych tiku jsou nektere GPS moduly, hlavne ty pro embedded zarizeni, co maji vyvedeny vystupy jako TTL. Bohuzel uvnitr domu stoji prijem GPS signalu vetsinou za starou backoru, tedy pokud zrovna nebydlite v celodrevenem srubu s doskouvou strechou :-) .
    xxx avatar 15.7.2008 09:08 xxx | skóre: 42 | blog: Na Kafíčko
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Jenze ten zdroj tiku je v tech GPSkach obsazen proto, aby vubec mozhli prijimany signal zpracovat, takze pro pouzivani jako zdroje tiku ti v tomto pripade absence signalu nevadi.
    Please rise for the Futurama theme song.
    15.7.2008 20:12 PepaSFI
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    nerozjede se to, ty impulsy musí být dost silné aby s tím spolehlivě otočily. Samozřejmě když se to zasekne protože to někdo shodí z kredence tak to je jiný případ. Typicky se používá bipolární krokový motorek a do něj jdou z elektroniky impulsy 0.5 Hz. Tedy v jedné sekundě plusová půlvlna a v druhé mínusová. U hodin řízených z vysílače DCF se kvůli synchronizaci a automatickému nařízení používá ještě snímání většinou optočlenem na kolečkách soukolí.
    Jiří Němec avatar 13.7.2008 23:39 Jiří Němec | skóre: 22 | blog: BluPix | Horní Smrčné
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Aspoň jste to mohl napájet přes stabilizátor, ty 2V navíc by se pak hodily.
    Spock: "Logic, logic, logic. Logic is the beginning of wisdom, not the end.
    13.7.2008 23:44 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Aktualne to napajim z regulovatelneho zdroje. Navic, kdyz by to nekdo napajel 2x nabijecimi AA clanky, tak to tech 2,7V bude. ;)
    Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
    Jiří Němec avatar 13.7.2008 23:50 Jiří Němec | skóre: 22 | blog: BluPix | Horní Smrčné
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    To pak jo.
    Spock: "Logic, logic, logic. Logic is the beginning of wisdom, not the end.
    13.7.2008 23:50 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Ony ty 2V navíc pravděpodobně budou platit jenom dokud se ta nabíječka nezatíží.
    Quando omni flunkus moritati
    Jiří Němec avatar 13.7.2008 23:52 Jiří Němec | skóre: 22 | blog: BluPix | Horní Smrčné
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    V tomhle případě se nezatíží. Na střední to u nás používala hromada lidí a fungovalo to spolehlivě.
    Spock: "Logic, logic, logic. Logic is the beginning of wisdom, not the end.
    Jan Drábek avatar 13.7.2008 23:52 Jan Drábek | skóre: 41 | blog: Tartar | Brno
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Můj počítač nemá paralelní port :(
    01010010 01000101 01010000 01101100 01001001 00110010 01000100 01100101 01010110
    Jardík avatar 13.7.2008 23:57 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Tak použij USB, stačí ti jen přidat malý blok na převod sériových dat na paralelní a je to.
    Věřím v jednoho Boha.
    13.7.2008 23:57 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Tak potom by mohlo teoreticky jit tohle: http://www.ladyada.net/make/usbtinyisp/make.html - jenze zase, nekdo do toho cipu musi nahrat ten software, co to bude prevadet. A nebo koupit redukci USB->LPT (jenze stoji kolem 500Kc a nevim, jak s tim bude fungovat).
    Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
    14.7.2008 00:11 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Sériový jo? avrdude umí programátor dasa. Připojíš piny sériového portu (které - viz /etc/avrdude.conf) k obvodu MAX232 a ten zase k procesoru. Mělo by to fungovat, ale nezkoušel jsem.
    Quando omni flunkus moritati
    14.7.2008 02:00 Smajchl | skóre: 39 | blog: Drzy_Nazory | Praha
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    dokonce se misto MAX232 daj pouzit jen zenerky.
    My máme všechno co chcem, my máme dobrou náladu!
    14.7.2008 02:16 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    To bych osobně neriskoval - napěťové úrovně sériového portu jsou +/- 12V, zenerkou sice půjde ošetřit to kladné napětí, ale to záporné bude pořád záporné.
    Quando omni flunkus moritati
    14.7.2008 16:01 Smajchl | skóre: 39 | blog: Drzy_Nazory | Praha
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Vyrobil jsem si programator co ma v sobe jen 3 zenerky a 3 odpory (na data) a pak na napajeni z datovejch vodicu zas 3 diody, kondenzator, stabilizator a zas kondenzator a samozrejme krystal s kondenzatorama a funguje to skvele. Muzu to vyfotit a nakreslit zapojeni ale vypada to osklive, uz je to velmi davno co jsem to vyrobil.

    Muze se ale objevit seriak co neutahne napajeni pres datovy vodice, neni ale problem napojit externi zdroj...
    My máme všechno co chcem, my máme dobrou náladu!
    14.7.2008 16:28 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Jasně, neříkám, že to nejde, ale osobně bych tam ten MAX dal - dokud se pracuje na nepájivém poli, tak ničemu nevadí a vstupů/výstupů má právě akorát.
    Quando omni flunkus moritati
    14.7.2008 16:03 Smajchl | skóre: 39 | blog: Drzy_Nazory | Praha
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Zrejme tech 0,7V nevadi...
    My máme všechno co chcem, my máme dobrou náladu!
    Vašek Lorenc avatar 14.7.2008 00:03 Vašek Lorenc | skóre: 27
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Bude v budoucích článcích i něco takového? :)
    ...včetně majestátného loosa
    14.7.2008 00:55 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Mozna za par let :D
    Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
    14.7.2008 02:30 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Dyť je to v podstatě jednoduchý, snímáš polohu, vydělíš si dobu otočení, abys mohl vykreslovat jednotlivé paprsky toho obrazce a pak už jenom maluješ ;-)
    Quando omni flunkus moritati
    15.7.2008 20:02 PepaSFI
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    pěkný vrtuláče. Já mám zas už dlouho v plánu digitrony. Ukořistil jsem panel s lampičkama z obráběcího stroje, jen k tomu dodělat časovou základnu a upravit počítání z desítkového na šedesátkové ale nějak není čas.
    16.7.2008 14:41 ondracch | skóre: 19 | blog: Mozková kreč
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Hlavně digitron bude potřebovat kapku jiné napájení, než ty LED:-)
    Proč myslíš, že nemůžeš žít jinak? Pořád Tvořím...
    16.7.2008 15:35 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Tak uz nas ostatni napinejte a vyvsetlete ten tajemny termin 'digitron' ;-)
    hikikomori82 avatar 16.7.2008 16:00 hikikomori82 | skóre: 18 | blog: foobar | Košice
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    16.7.2008 17:00 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Jo takle, no tak to jo ... takovejch elektronek mam doma taky jeste par, akorat maj kraticky nozicky. To ale vopravdu bude potrebovat trochu vic stavy ;-)
    16.7.2008 18:29 PepaSFI
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    není to tak zlý, proud je celkem nepatrný a napětí podle typu asi od 100 voltů nahoru. Vzhledem k odběru to jde snadno získat. Klidně by to utáhl nějaký jednoduchý měnič i z baterie. Digitron je v principu vlastně doutnavka jako kontrolka na sporáku jen má v té baňce elektrody tvarované do tvaru čísel.
    17.7.2008 01:15 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Pro tohle použití se IMHO báječně hodí VFD (nevím, jak se tomu řekne česky, prostě vakuový fluorescenční displej). Požadavky na napětí nejsou tak strašné - cca 2-3V žhavení a 12V na anodu.
    Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
    14.7.2008 00:07 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Ke zdrojáku snad nemusím nic dodávat, komentáře jsou doufám srozumitelné.
    1) SIGNAL je deprecated. V novém kódu se má používat ISR.

    2) Funkce showMins() je krásná ukázka toho, jak se dá naprosto jednoduchá věc udělat zbytečně složitě. Tohle bude fungovat podstatně efektivněji:
    void showMins (unsigned char m) {
        m <<= 1;
        if (PORTB & (1 << PORTB0)) m |= 1;
        m &= 0x7e; //vynuluje bity, které nejsou součástí minut
        PORTB = m;
        }
    (unsigned char je stejně velká, jako short; u short si nejsem jistý, jestli není znaménkové)

    3) Přerušení nastavuješ divně:
    bitSet (PCMSK, PD2); // minutovy button
    bitSet (PCMSK, PD3); // hodinovy button
    jsou přerušení na změnu stavu logické hodnoty na pinu (PCINT). Ty ale používáš (a obsluhuješ) signál vnějšího přerušení (INTx). Tato dvě nastavení jsou tedy zbytečná, protože nemají na nic vliv.
    Quando omni flunkus moritati
    14.7.2008 00:11 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    1) nevedel jsem
    2) Wow :)
    3) Vsak rikam, ze to je muj prvni bastl :)
    Diky moc :) Rad se poucim :)
    Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
    14.7.2008 00:16 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    1) nevedel jsem
    http://www.nongnu.org/avr-libc/user-manual/group__avr__interrupts.html

    Úplně dole.
    Diky moc :) Rad se poucim :)
    Není zač. Rád pomůžu - čím víc lidí bude umět s AVR, tím víc lidí si je bude kupovat a používat a tím budou levnější. ;-)
    Quando omni flunkus moritati
    hikikomori82 avatar 14.7.2008 10:28 hikikomori82 | skóre: 18 | blog: foobar | Košice
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Hodnotenie davam spatne, dovody:
    - pouzitie non-isp jednocipaku v roku 2008
    - pouzitie modrych supersvietivych led (neznasam ich)
    14.7.2008 10:38 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    - pouzitie non-isp jednocipaku v roku 2008
    Co to znamena?
    - pouzitie modrych supersvietivych led (neznasam ich)
    Myslim, ze te nikdo neomezuje v tom, tam dat treba zeleny matny nebo fialovo-zluty polomatny s cervenejma puntikama... ;-)
    14.7.2008 11:59 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    - pouzitie non-isp jednocipaku v roku 2008
    - a proc ne? Doma se mi jich par valelo, tak proc kupovat?
    - pouzitie modrych supersvietivych led (neznasam ich)
    - ale v cerny krabici (pokud to tam nekdy zadrtuju) to bude vypadat skvele!
    Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
    14.7.2008 12:41 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    - pouzitie non-isp jednocipaku v roku 2008
    Tak to v Atmelu museli od doby, co jsem s Attiny2313 pracoval, to ISP vymontovat.
    Quando omni flunkus moritati
    14.7.2008 12:33 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    P.S.3: Mohl by mi nekdo z mistnich zkusenejsich poradit? Pokud se pokusim nastavit LFUSE na 0xFF (ext. krystal 8MHz+) tak se to tvari, ze se to nastavi v poradku, potom AVRdude napise, ze mu nesedi HFUSE (aktualni hodnota je podle nej 0xFF) a pak uz cip vypada mrtve (program nebezi, AVRdude ho nedetekuje). Co delam spatne?
    Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
    14.7.2008 13:06 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Máš dobře připojený ten krystal?

    Jinak zkus tu hodnotu změnit v terminálovém režimu avrdude: avrdude -c dapa -p t2313 -t

    používají se 2 příkazy: write lfuse 0 hodnota a read lfuse 0 1 (hodnota může být v decimálním tvaru nebo v hexa 0x..)

    V tomhle režimu můžeš hodnotu pomocí write zapsat a pomocí read si potom přečíst, co se skutečně zapsalo. Stejným způsobem můžeš číst/psát do hfuse.

    Terminálový režim ukončíš příkazem quit, pokud jsi změnil některou z hodnot, tak se tě bude ptát, jestli to skutečně myslíš vážně.
    Quando omni flunkus moritati
    14.7.2008 13:41 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Máš dobře připojený ten krystal?
    Snad jo. Mezi vyvody XTAL1 a 2 a potom pres kondenzatory na zem (zkousel jsem dva krystaly, pro pripad, ze by jeden byl nefunkcni).
    Jinak zkus tu hodnotu změnit v terminálovém režimu avrdude: avrdude -c dapa -p t2313 -t
    Problem je, ze ten terminalovy rezim uz nespustim. AVRdude skonci, ze nemuze komunikovat s cipem. :( A riskovat dalsi se mi nechce :)
    Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
    14.7.2008 15:21 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Problem je, ze ten terminalovy rezim uz nespustim. AVRdude skonci, ze nemuze komunikovat s cipem.
    Což to je mi jasné, myslel jsem vzít jiný čip. S tímhle bez paralelního programátoru nehneš, protože jestli jsi zapsal 0xff do hfuse, tak jsi zakázal programování přes ISP (tj. přes ty vývody MISO/MOSI/SCK) a s dapa programátorem (ani obdobnými) už si neškrtneš

    Ale i tak je to divný, protože jestli jsi zapsal 0xff do hfuse místo do lfuse, tak by pořád měl fungovat asopň program na vnitřní oscilátor.
    Quando omni flunkus moritati
    14.7.2008 18:30 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Moc se omlouvam! Byl spatny jeden kondenzator. :(
    Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
    Petr Tomášek avatar 15.7.2008 17:46 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Když už jsme u toho, byl by zájem o zapojení hodin napájených/synchronizovaných přes USB? Postaveno na ATmega8... Jen bych se musel dokopat udělat schémátko a pročistit firmware...

    Viz obrázek.
    multicult.fm | monokultura je zlo | welcome refugees!
    15.7.2008 18:02 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Byl, urcite. Ja bych se rad podival na FW pripadne zapojeni kuli USB... ;-)
    15.7.2008 19:31 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Připojení AVR procesoru přes USB najdeš snadno na webu (AVR USB do Google a máš to) Ale AFAIK se s tím moc složité věci dělat nedají, protože ten mikroprocesor v podstatě nedělá nic jiného, než že neustále kouká na to USB, jestli se něco neděje.
    Quando omni flunkus moritati
    16.7.2008 11:02 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Tak je docela blby. Takze reseni pocitac<->USB2serial<->microprocesor je asi porad lepsi coz...
    16.7.2008 14:32 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Ještě jsou AVR mikroprocesory s integrovaným USB (AT90USB, ATmega32U4), ale ještě jsem na ně nenarazil, že by byly v Čechách v nabídce.

    Jinak jo, pokud to zrovna nemá být něco, co rozsvěcuje LEDky, tak je USB2serial převodník jediná možnost.
    Quando omni flunkus moritati
    Petr Tomášek avatar 16.7.2008 16:58 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Není to tak zlý. Třeba tahle knihovna (je pod GPL!) využívá přerušení, takže pro procesor zbývá docela dost času. Dají se i využívat další přerušení, jediný zádrhel je v tom, ž USB musí mít vždy přednost (anebo se člověk holt musí smířit). Už jsem pár udělátek na bázi této knihovny udělal (mimo jiné zmíněné LED hodiny, kde v přerušení multiplexuji 4-místný displej 4x100Hz) a pro moje účely je to naprosto dostatečné. (Samozřejmě na profesionání zařízení bych asi vybral něco úplně jiného)...
    multicult.fm | monokultura je zlo | welcome refugees!
    16.7.2008 20:40 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    Jasně, když člověk dělá něco jednoduchého, tak mu tahle knihovna stačí (btw. přesně na tohle ukazuje Google po dotazu AVR USB), ale pokud vím, tak to musí být opravdu hodně jednoduché.

    Pokud si vzpomínám, v manuálu se psalo něco takového, že maximální doba, kdy může být zakázané přerušení, je 16 (?) tiků, což je dost málo, když člověk chce dělat něco většího. Pro spolehlivý chod toho USB by se pak musel implementovat perušovací systém softwarově - např. globální volatile proměnnou, kterou by HW přerušení nastavilo a hlavní smyčka programu by potom proměnnou periodicky testovala a zajistila skok do obslužné rutiny.
    Quando omni flunkus moritati
    15.7.2008 20:22 PepaSFI
    Rozbalit Rozbalit vše Re: Atmel ATtiny 2313 - binární hodiny
    muzeum hodin snad jsem to napsal dobře tak se pokochejte

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.