More...

DNA - this is the Nature's way to serialize life

Категория: Hardware


Хардуерен случаен генератор

Задобрявам с електрониката :) Вече като ми текне да си скова нещо, ей така, за кефа, докарвам 6 часа време от-до. Уикенда бях нещо болен и реших да си направя един случаен генератор.

И то не какъв да е, ами яко аркаден. С големи цифри, голям бутон, ярък, мигащ, светещ :) За употреба в игри, които се играят с две зарчета, чиито числа се сумират - като например Заселниците на Катан. Всъщност, генераторът просто "хвърля две зарчета", а какво се прави с резултатите им се настройва с един джъмпер.

Хардуерен рандом генератор

В компютрите обикновено ползват LCPRNG алгоритми (или по-сложни), което води до това, че когато някакво "уж случайно" теглене (например, за лотария) се прави от компютър, никога не можеш да убедиш баба си, че тегленето не е манипулирано :) За щастие, когато човек има по-директен достъп до хардуера, може да направи нещо като това:

	while not keypressed() {
		counter++;
	}
	return (counter MOD 36);


Какво имаме тук? Един брояч се увеличава бясно (хиляди, милиони пъти в секунда). В момента, в който човекът натисне бутон, броячът замръзва на последната си стойност, която се използва за да се определи какво се е "паднало" от "заровете".

Представете си, че се движите с кола по магистралата. И магистралата не е само с табелки на всеки километър - ами е разграфена на метри и сантиметри. На съседните сантиметрова деленийца се изреждат числата 0, 1, 2, ..., 34, 35, 0, 1, ... и така до безкрайБургас. Както си върви колата, хвърляте от нея едно метално топче. На което сантиметрово деление се спре топчето, вземате числото от оттам. Е точно нещо такова прави горният код - числото е практически случайно. Остава само на всяка възможна комбинация от две зарчета да й се даде чисълце от 0 до 35 и така имаме 1:1 съпоставка между генерираните числа и "двойка зарчета".

Дизайн

Пробвах няколко подредби на елементите върху платката. Огромният бутон е от SparkFun - друг не успях да си харесам, макар че този пък идва възголемичък, ама карай.
Image Image

Разработка

Няма как да не се мине през бредборд:
Image

И умалена версия на червения бутон - докато си тествам софтуера:
Image

Платка

Нали се бях заклел - повече никога перфборд! Но за този проект щеше да е overkill печатна платка (макар, че вече се научих горе-долу как стават и чакам едни от Сириус PCB, за едно друго проектче, за което ще пиша скоро). Та тук ползвам stripboard (още известна като Veroboard). Това е монтажна платка, на която има хоризонтални пътечки. Елементите се монтират перпендикулярно на пътечките, което води до една характерна подреденост в дизайна - всички пътища са прави (което е в пълно съзвучие с вътрешната душевност на човек, расъл в Стара Загора или Манхатън!).

Първата работа беше да пробия 4 дупки с новата си придобивка:
Image

Не знам как съм живял преди без дремел :)

После споих малко рейки:
Image Image

Ключова особеност на стрипборда е, че пистите са много дълги, но позволяват лесно да се прекъсват с едно инструментче и така един хоризонтал може да се ползва да свързва няколко отделни групи компоненти. В случая: наложително е да изолираме двете страни на микроконтролера, както и двете - на индикаторите, една от друга:

Image

Като плюсове на стрипборда е: по-малко поене, много по-малко custom свързване, толерантност към грешки. Ако нещо объркате, често не се налага да се разпоява - с "шилото" изолирате дефектната част и си я прекарвате от другаде. Като недостатък: внимателно с поенето, да не някое "мустаче" да свърже две писти. Два такива хардуерни бъга имах и ги търсех сума време...

Нещата взеха да се позапълват с резистори...:
Image

...и елементи:
Image

Please, install software:
Image

Полека-лека заприличва:
Image Image

Реших индикаторите също да са върху рейки. Могат да се запоят и директно, обаче тогава обширното пространство под тях щеше да е неизползваемо.

Довършителни работи


Тестов блинк върху сегментите:
Image

... както и тестови цифри. Всичко е 6:
Image

Ето как си го представях да изглежда финално:
Image

Обаче не се накефих на ключето за включване. Голямо е, и ако исках да го изведа на удобно, щеше да трябва да правя редизайн и да дупча голяма дупка. Но пък ми се намираха едни ЦК ключета...

Включих в действие другата нова играчка:
Image

На вид върти свредлото много мързеливо, ама как я дупчи тая пластмаса - все едно е масло...
Image

Културна работа:
Image Image

Готово

Таймерът е на 6 часа и половина от първата снимка. Ето как изглежда вече опаковано:

Please, press the button:
Image

Here, you're lucky:
Image

И един безсмислен надпис:
Image
нещо като жичкаджийския еквивалент на кода i++; /* увеличаваме i с единица */

Ето го в действие: YouTube

В крайна сметка, исках да си направя рандом генератор, а финалното изделие подозрително прилича на бомба със закъснител (може би по-скоро от вида, който Холивуд ни е формирал като представа за такава бомба). Малко като вица за бабата в соца, дето работила в завод и цял живот правила "бързовари", та като си откраднала малко части да си направи вкъщи един бързовар за себе си, взела, че сглобила Калашник. И така три пъти подред :D

Заключение

Предимства:



Недостатъци:



Сорс-кода на нещото можете да изтеглите оттук.

По празниците предстои доста Катан, нямам търпение да го пробвам :)


Публикувано в категория Hardware -- clock 9 Dec 2012, 16:09, 3 коментара -- English View in English


thought

Коледна звезда 2012

По случай първия учебен ден, моята коледна звезда тръгна пак "на училище":

Image

Светилото получи леки ъпгрейди, както бях споменал на последния dorkbot:



А дали ще си имам червена отличница по Коледа - предстои да видим :)


Публикувано в категория Hardware -- clock 19 Sep 2012, 19:46, 0 коментара -- English View in English


thought

Battery Level Meter

Поредното нещо, което завършвам. 6+ месеца.
Този път е малко и почти компактно уредче. Не от най-полезните на земята (дотук нищо ново).
Стараех се да документирам всичко по пътя, за да мога да презентирам развитието му, от етап "чертожната дъска" до Завършен Продукт™.

Предисторията

Всичко започна от един малък фотоапарат с глупава батерия и още по-глупав софтуер. Индикацията за оставаща батерия има четири чертички, чието реално тълкувание ще да е нещо подобно:

4 чертички: супер си, снимай на воля
2 чертички: ще мра след минутка и нещо (да си знаеш)
1 чертичка: ДОВИЖДА—....(изключва се)

Та се замислих колко удобно би било да си имам миниатюрно уредче с два проводника - вързваш го към батерията и ти показва напрежение и реални оставащи проценти живот. Нищо работа!

На чертожната дъска

Планът беше за малка платчица с един PIC, един 7-сегментен дисплей, един регулатор от всякакво напрежение->3.3V, и един резисторен делител, за да мога да чета входното напрежение. Демек, уред, който мери напрежението на батерия, като се захранва от самата батерия. После се прекарва през една Lookup табличка и се показва оставащ капацитет. Планът беше да се поддържат всякакви батерии и комплекти батерии над 3.3V, като обхвата в последствие разширих до 1.8-9.3V (демек - от 2 до 7 АА/ААА, Li-Ion (едно- или дву-клетъчни) и евентуално други).

Прототип

Последва реализацията на тази основна идея върху бредборд. 3.3V регулатора не го намерих в не-SMD вариант, така че се наложи да му запоя крачета (както бях писал преди):

Image

В началото си мислех, че двуцифрен дисплей ще е достатъчно:

Image

Но се оказа, че този конкретно няма дори десетична точка. А е гадно да печаташ, примерно, 3_6 вместо 3.6 (първото на всичко отгоре иска скролиране). Накратко - минах на четирицифрен дисплей. Той почти не оцеля върху бредборда, а го хвърлих бързо на отделна "breakout" платка:

Image.Image

Получи се доволно зловеща :) на мен поне ми навява асоциации с tripod-ите от "Война на Световете", само че моето е с много повече крака и далеч по-кръвожадно (ò_ó)

Някъде покрай хаоса с поенето реших най-сетне да зарежа добрия стар кашон с 10000 найлонови пликчета с елементи в него, и си взех по-удобно класьорче:

Image

"Стоножката" ми вече е монтирана върху бредборда:

Image.Image

Тук допълних базовата идея за уредчето, като му добавих функция за разреждане на батерии (с цел контриране на memory ефект, а в последствие и още благинки):

Image

Отдясно наляво: голям резистор, през който да се разрежда батерията, голям ключов транзистор (можеше и по-скромно, но TO-220-ките ми действат приповдигащо), и потенциометър за задаване на целево крайно напрежение и разряден ток. Т.е., имаме "интелигентно" разреждане (вместо тъп резистор), което предпазва от прекален разряд, и източва батерията с подходяща за химията й скорост.

След като (погрешно) си мислех, че съм приключил с хардуерния дизайн, пристъпих към финализация. Двете филии от сандвича, готови да бъдат слепени:

Image

Ето го и него:

Image.Image.Image

Кълна се, никога повече перфборд:
Image

Опаковката

Следваше подбиране на някаква приблизително подходяща кутийка от Комет и натъпкването на сандвича вътре:

Image.Image

Тази опаковка можеше да спечели всяко състезание по дизайн. Oтзад напред. Не бях виждал друго толкова апатично, неугледно, недодялано и скучновато изпълнение. Гаден цвят пластмаса, с гадна текстура, остри, гадни ръбове и ужасна миризма при топене с горещ кламер :) (ползвах същия метод за пробиване като в предходния пост).

Това не можеше да остане така, тъй че се намеси първо една пила:

Image

А после малко шкурка и писалка (за пробата):
Image

Потготовка за боядисване:
Image

Първи слой:
Image

Втори слой:
Image

Well... you get the drill:
Image

Между всеки два има по едно двучасово съхнене, между впрочем :)

Още три слоя по-нататък, реших все пак да видя как ще се получи надписването. Уви, единствената бяла писалка, която успях да намеря и да пише адекватно върху тази повърхност, беше ужасно дебела:

Image

От лицевата страна донякъде се ядваше:
Image

От другата, обаче, беше трагично:
Image

Аз исках отзад да има по-подробни инструкции, красива табличка и т.н.
Ясно беше, че с ръчно надписване няма да стане, беше време да се обърна към специалистите (и да връча работата на машина).

Разширение

Докато мислех какво да правя с кутийката, поработих върху софтуера. Тъй като имах функция за разреждане на батерия, си казах, защо да не добавя и логване на напрежението по време на разряда? И после преточването му на компютър (чрез PICKit2-ката, тя може да работи и като UART tool)... така имах и разрядната крива, и измерване на капацитета на батерията в mAh (е, поне приблизително...). Всъщност, накрая си стана един доста функционален уред за анализ на батерии - ето, примерно, няколко разрядни криви:

Nokia BL-5C:
Image

Четворка АА Eneloop-ки (надписани като 1800 mAh guaranteed / 2000 mAh typical):
Image

Ето и сравнение на кривите на Nokia-та от по-горе и една Canon-ска батерия за dSLR (последната е двуклетъчна, така че в графиката, напрежението й е делено на две):
Image

С това софтуерът набъбна значително, и в крайна сметка не се събираше в паметта, та се наложи да сменя модела на процесора (от 16F690 -> 16F1829).

Финализация

Да се върнем на опаковката. Начини да се боядиса малка, тъмна пластмасова кутийка има поне няколко: ситопечат, лазерно гравиране, фолио.... Тук на помощ се притече Любо (LUBO_1) от HWBG форума, като той направи професионална кутийка със ситопечат. Аз, обаче, бях любопитен, и докато чаках да стане, пробвах услугите на едно студио за лазерно гравиране, с още два броя кутийки: боядисаната в червено от предните снимки (след шкурене и ново боядисване), и една чисто нова.

Таях надежди от боядисаната да стане нещо. Уви, лазерът само надува боята, и е зверски чувствителен към дебелината на слоя - по-тънките части не ги надува, а прегаря. Все пак, от едната страна се получи горе-долу готино:

Image

Не може да се каже същото, обаче, за другата:
Image

Чистата кутийка се получи доста по-добре, при това на много ниска мощност на лазера:
Image.Image.Image

Има какво да се желае като контраст, но фините детайли са страхотни.

Другата кутийка беше тази на Любо:
Image.Image

Претендентите за финала (преди лакиране):
Image

И след лакирането:
Image

Не се бъзикам. Просто гравюрата от лазера се спомина (бързо, тихо и завинаги :)) още при първото пръскане с лакa.
Нали сте драскали поне веднъж на Paint/Photoshop/Gimp и сте пробвали инструмента "гумичка"? Е, усещането е точно същото.

Ето как изглежда страната с табличката, под ъгъл:
Image

Ето и импровизираната "станция за лакиране":
Image.Image

Краен резултат: две опропастени кутийки, и една добра, пипната от професионалист. Кутийкофицирането смуче :)

Последни промени по сандвича:
Image

Прилича много на отгризано, но всъщност е отчупено с клещите - този ръб опираше в канала на едното болтче, та си отиде, и трябваше да заменя пътечката с мостче. Замених и бутончето с по-високо.

Време да го вкараме в кутийката - вече за последно:
Image.Image

Готовият продукт

Image.Image.Image
Image.Image

Имам си:



Ето и едно клипче (демо):
Image
Алтернативно: локално копие (H.264)

Оттук насетне

Следващата седмица отивам до някой голям магазин (LIDL/Billa/Technopolis) и купувам голям брой батерии (4xAA, 9V) от различни марки - да ги проверя как са като характеристики и да изтествам, аджеба, коя марка дава най-много mAh на лев :)

А ако се сетите още какво да проверя с уреда - пишете в коментарите!


Публикувано в категория Hardware -- clock 17 Apr 2012, 13:06, 9 коментара -- English View in English


thought

Гайгеров брояч + iPad

Известно време умувах как да си вържа гайгеровия брояч от предходния пост, към устройство от "по-високо ниво" - Андроид телефон или подобно - за да мога да изкарвам точни стойности за радиацията, да мога да акумулирам стойности за повече време (за да се види дали дадено място е мааалко по-радиоактивно от друго - това на ухо не се хваща). В началото мислех да запоя един bluetooth модул на свободните пинове на контролерчето.

В интернет, обаче, попаднах на едно готино приложение, което ме засили в друга посока - да взимам директно пулсовете, които уредчето издава на PULSE пина и да ги прехвърля по аудио кабел към микрофонния вход на другото устройство. Приложението се нарича Geiger bot и е само за iOS (за съжаление). Цялата работа е, че "изходът за слушалки" на iPhone/iPad всъщност е 4-конекторен TRRS - кабелът, който може да влезне в него прилича на стандартен 3.5мм стерео жак, но си има и четвърта лента:

Image

Реших кабелът от другата страна да завършва с обикновен чинч, тъй като не ми трябва нещо повече (само един сигнал се предава). Показал съм какви трябва да са връзките.

След което разкарах PULSE хедъра от оригиналния кит и запоих две кабелчета, водещи към женския чинч:

Image

Гледани от ляво на дясно на снимката, PULSE хедъра дава: V+ (3 V); сигнален канал (с пулсовете); и земя.

Пулсовете от гайгеровия брояч трябва да се разделят до нива от около 0.1V - в случая 30:1 делител, схемата е следната:

Image
(Взето от коментар из страницата на Geiger bot)

Самият чинч го внедрих върху прозрачната пластмаса, като за целта си пробих още една дупка в нея. Понеже нямам дремел, дупката пробих по следният начин: взима се един кламер и се разгъва до "Г"-образна форма. Късата му страна се нагрява в пламъка на свещ, до червено. После бързо, докато не е изстинало, с горещата част се пробива дупка в пластмасата. Така имаме малка дупчица с размер към 2мм. След което се взима малка отвертка и се пъха в дупката, и с въртеливи движения постепенно се вкарва навътре, разширявайки я. Когато тази отвертка мине, взимате по-голяма и процедурата се повтаря. Така накрая си имате идеална като размер и форма кръгла дупка, и никой даже не може да ви заподозре, че сте използвали такива средновековни методи :)

Та както и да е - чинча се стяга за кутията, запоява му се резисторния делител и "аудио интерфейсът" е вече готов:

Image

Image

Специален кабел между устройствата няма нужда да си правите сами, има си купешки - TRRS-към-3-чинча, продават ги във фото магазините, повечето фотоапарати им е такъв изхода за TV.

Остава да вържем устройствата, да подпалим Geiger bot-а и вече си имаме high-level Гайгеров брояч, с множество logging/gps tagging/graphing и т.н. възможности!
Ето го в действие:


Image
Youtube


Тук го тествам със същия камък като от предходното видео.

Само една малка забележка - това приложение (Geiger bot) не се справя много добре, когато CPS стане голямo. Трябва да изберете от настройките Custom GM tube... и да си поиграете с Audio IO настройките (намалете на минимум RMS window/delay window) - иначе измерваните разпади ще са ограничени до около 50-60 в секунда, което е повече от достатъчно за ежедневна употреба, но не стигаха за този камък, който правеше по около 250 в секунда (самият брояч би трябвало да няма проблеми да подава и до 10 000 в секунда)

Макар и това да е доста добре засега, силно ме влече идеята да пренапиша приложението за Андроид (доста поопростеничко, разбира се). И след което, радиокартографирането на България може да започне!


Публикувано в категория Hardware -- clock 23 Mar 2012, 13:03, 0 коментара -- English View in English


thought

Гайгеров брояч

С цел да си начеша два гъдела едновременно - да си имам Гайгер-Мюлеров брояч, и да позапоя нещо по-голямо, върху готов PCB (поенето на DIY неща върху перфборд си е мъчение, както и да го въртиш), си поръчах този kit за сглабяне.

Нещото пристигна за 3 дена от САЩ и след разходка до митницата (наложи се, няма как), асемблирането можеше да започне :)

Печатната платка заедно с основните неща:
Image

Всичко без тръбата и IC-тата:
Image

Вече и с гайгер-мюлеровата тръба - СБМ-20:
Image
имаме си: тръба от Русия, елементи от Китай/Тайван, дизайн от американец, сглобено от българин. Остава само да си внесем и малко радиация от Украйна/Япония :)

Готовият продукт:
Image

Даже и работи (е, в началото не тръгна, ама се оказа, че съм сложил 555-цата на обратно, но за радост, нищо не изпуши). Радиационният фон е нормален, най-радиоактивното нещо вкъщи е мивката.

Аз съм си набелязал няколко неща за тестване, ама ако имате идеи какво да "премеря" - пишете в коментарите :)

P.S.: Добавих и едно клипче в Youtube - как тестваме брояча с един радиоактивен камък, намерен из Стара Планина от един мил колега: http://www.youtube.com/watch?v=SwZQmJ-vHJc


Публикувано в категория Hardware -- clock 27 Feb 2012, 01:42, 10 коментара


thought

Цветарство по програмистски, v. 2.0

След като предходният опит да накараме коледната звезда да цъфне (с груба сила) завърши с неуспех, този път ще опитаме по-нежничко.

Самото цвете бе обект на непрекъснат тормоз (както се вижда), но не само от мен, а и от майка ми, която де що види, че гадинката малко от малко е пуснала листенце/филизче над 20 сантиметра височина от дъното на саксията, го минаваше набързо с ножицата. Така де, бунтовете трябва да се потушават в зародиш.
Това лято, обаче, оставих цветето да си расте без ограничения, то се разлисти, разхубави, набъбна, с една дума - красавица :)
Респективно, за Нещото тази година щеше да е необходим значително по-голям кашон. Сменях и квартири, а в новата нямаше къде да закача кранчето.

Последва реализация на една друга идея: да държим цветето на тъмно, и да му светим по 10 часа на денонощие.

1. Първо изследвах как е най-подходящо да се осветява фотосинтезираща гад. НАСА са правили подробни изследвания за това (примерно), като тяхната идея да ползват LED-ове е основно откъм ефективност и ресурси. LED-овете не греят, респективно растението не изпарява много вода така, отдено са с високо КПД.
В този патент пък хората са изследвали, и препоръчват да се ползват червени, оранжеви и сини диоди, в отношение 12:6:1.

2. Накупих си голямо количесто ultra-bright LED-ове. Сметката колко диода ми трябват се оказа учудващо тежка и е удоволствие да си изпържиш мозъка със всичките фотометрични единици: лумени, луксове, кандели, ватове на стерадиан. В крайна сметка на платката разположих 17 червени, 8 жълти и два сини. Целта беше да докарам около 2000 лукса пиково осветление, което се получи (за фотоизмервател ползвах dSLR :D)

3. Задължителният breadboard, по време на прототипирането:
Image.Image

4. И вече прехвърлено върху реална платка:
Image

5. От различни графики с измерена яркост на слънцето по денонощие се ориентирах, че светлината по време на изгрев се увеличава над 1000 пъти (по-скоро към 10000). Чрез ШИМ докарах гладко "изгряване" на светилото ми (вижте клипчето долу). В крайна сметка, докарвам контраст 1000:1, като началото на изгрева е малко бъгаво. Освен това, жълтите диоди ги паля 20 минути след червените, сините - час по-късно, уж там да се симулира различния цвят на слънцето по изгрев/залез.

6. Канибализирах една стара лампа:
Image

малко болтчета и пластинки от Meccano:
Image

И така имаме тестов блинк върху моята странна "лампа"
Image.Image

7. Отчитането на времето се прави с един часовникарски чип - DS1302 - и кварцов резонатор. Времената на изгрев и залез са коректни за цялата година, и отговарят на истинските изгрев/залез в Сан Антонио, Тексас (ето един целогодишен калкулатор). Тъй като PIC-а малко трудно се оправя с floating point, синуси, косинуси и т.н., времената просто съм ги забил в статичен масив, в делта-компресиран вид.
DS1302 поддържа времето даже и след изгасване на тока, като поддържането на CMOS-а в тея случаи принципно се прави с батерия, но аз избрах просто да ръгна един голям електролитен кондензатор, който DS1302-то да пълни при наличие на ток:
Image

Учудващо, оказва се, че с 4700µF държи точно време повече от денонощие.

8. Сложих коледната звезда на относително тъмничко място, "лампата" на 30 сантиметра отгоре й (за да имаме достатъчно разпръскване на снопа светлина - тези диоди са доста тесен лъч). Ръгаме в контакта и си имаме целодневно зарево в стаята :)

Image.Image
Image.Image

Ето го и на клипче: Youtube.

Цялото нещо харчи около ват. Диодите не греят въобще (тествано с пръстомер).

Това вече върви около месец и половина. Коледната звезда все още не почервенява.
Ако растенията можеха да се самоубиват, това отдавна да си е направило харакири :)

Някои неща, които научих:

Цял embedded проект на C. За този проект не написах нито ред асемблер, всичко на C, ползвайки Hi-tech компилатора. Вече не мога да кажа за какво е отишъл всеки отделен байт от паметта, но след като паметта стига - проблем няма¹.
Комуникация с външен хардуер, в случая DS1302-ката. Може да се каже, че за пръв път съм написал собствен драйвер. Нищо особено, но доста неща, свързани с комуникацията между чипове, ми се изясниха.
Всичко, свързано с осветлението: луксове, лумени, кандели и имат ли те почва у нас.
Постоянна памет (EEPROM) в такива проекти. Благодарение на нея реализирах 0-бутонен потребителски интерфейс. Исках уредът да има два режима - стандартен и тестов, като в последния да мига със всичките диоди, малко като коледни лампички. Това, обаче, би изисквало или DIP switch, или някакъв бутон на платката. Е, има и по-хитър начин да предадем нашето желание на уреда, боравейки с ключа On/Off:

1. Уредът се включва (On)
2. Веднага се изключва обратно (Off)
3. Включва се наново. Ако времето между 1) и 2) е под секунда, влизаме в тестов режим, иначе - в нормален. Тук ни върши работа постоянната памет. Първата работа на софтуера, при пускане, е да вдигне един флаг (в EEPROM-а), а секунда по-късно (ако все още не са ни изключили), флагът се сваля обратно. При следващото пускане можем да видим какво е състоянието на флага, и така да определим в кой режим да работим.

Компилаторът е там, за да се ползва. Преди бях голям фен на пълненето на сорс-файловете със симпатични масивчета от магически числа, хитроумно пресметнати отвънка с някакво скриптче. Hardcoding на макс. Постепенно се преориентирах към вкарване на повече от работата вътре в C/C++ кода, когато е възможно, тъй като компилаторът все пак може да сметне доста неща сам. И вместо магически числа - код, макроси или подобни, които стигат до същите магически числа. Например: DS1302-ката се нуждае от ток, за да си помни датата и часа. При първоначално пускане, или след преместване между платките, тя е "неинициализирана" и си мисли, че е първи Януари, 2000г. Е, бих могъл просто да си направя отделен билд за тези случаи, и да въведа в C кода текущата дата и час, и след като ги налея веднъж в DS1302, да си продължа, разчитайки на нея. Е, вместо хардкоднати дата/час, тези неща могат да се вземат от "променливите" __DATE__ и __TIME__, които компилаторът любезно ни предоставя.
MPLabX под Linux. Не е най-великото IDE на земята, но върши работа.

---
¹ Това мислене, разбира се, е много, много, *много* грешно. Като нищо утре ще пропиша на C#


Публикувано в категория Hardware -- clock 30 Jan 2012, 03:53, 1 коментар -- English View in English

По-стари статии >>

Language:

bgБългарски
enEnglish


Категории:

Мета
Hardware
Технологии
Забава
Open source
Интересно
Наляво-надясно
Простотии
Програмиране
Музика
Картинки
Фотография
Всички


Архив:

+ 2008 (21)
Март '08 (3)
Април '08 (5)
Май '08 (5)
Юли '08 (2)
Септември '08 (1)
Октомври '08 (2)
Декември '08 (3)
+ 2009 (15)
Януари '09 (2)
Февруари '09 (1)
Март '09 (1)
Юни '09 (1)
Юли '09 (1)
Август '09 (3)
Септември '09 (1)
Октомври '09 (2)
Ноември '09 (1)
Декември '09 (2)
+ 2010 (11)
Януари '10 (1)
Април '10 (2)
Юни '10 (2)
Юли '10 (1)
Септември '10 (1)
Ноември '10 (2)
Декември '10 (2)
+ 2011 (12)
Януари '11 (3)
Февруари '11 (1)
Юли '11 (1)
Август '11 (2)
Септември '11 (2)
Октомври '11 (3)
+ 2012 (19)
Януари '12 (3)
Февруари '12 (1)
Март '12 (1)
Април '12 (2)
Май '12 (3)
Юни '12 (1)
Август '12 (2)
Септември '12 (1)
Ноември '12 (3)
Декември '12 (2)
+ 2013 (6)
Март '13 (3)
Юни '13 (1)
Август '13 (1)
Октомври '13 (1)
+ 2014 (7)
Март '14 (1)
Април '14 (1)
Юни '14 (1)
Септември '14 (3)
Декември '14 (1)
+ 2015 (5)
Януари '15 (1)
Март '15 (3)
Май '15 (1)
+ 2016 (5)
Юни '16 (1)
Юли '16 (1)
Септември '16 (1)
Ноември '16 (1)
Декември '16 (1)
+ 2017 (1)
Август '17 (1)


Последни коментари:

30 May 2017, 02:02 от anrieff
26 May 2017, 01:00 от Mathew
30 Mar 2017, 13:59 от antfarmer
26 Dec 2016, 17:52 от Private
19 Dec 2016, 23:01 от ицаци
16 Dec 2016, 19:50 от Антон


Valid XHTML 1.0 Strict

Blogroll:

linkТимур и неговите командоси
linkivanatora
linkБезброй математици...
linkJoel on Software
linkRidiculous Fish
linkXKCD blag