Мазмұны:

Өзіңіздің жеке құрыңыз (арзан!) Көп функциялы сымсыз камера контроллері: 22 қадам (суреттермен)
Өзіңіздің жеке құрыңыз (арзан!) Көп функциялы сымсыз камера контроллері: 22 қадам (суреттермен)

Бейне: Өзіңіздің жеке құрыңыз (арзан!) Көп функциялы сымсыз камера контроллері: 22 қадам (суреттермен)

Бейне: Өзіңіздің жеке құрыңыз (арзан!) Көп функциялы сымсыз камера контроллері: 22 қадам (суреттермен)
Бейне: 😔ОСЫ 7 ҚАТЕ ҮШІН АДАМДАР СІЗДІ БАҒАЛАМАЙДЫ! 2024, Шілде
Anonim
Өзіңіздің жеке құрыңыз (арзан!) Көп функциялы сымсыз камера контроллері
Өзіңіздің жеке құрыңыз (арзан!) Көп функциялы сымсыз камера контроллері
Өзіңізді құрыңыз (арзан!) Көп функциялы сымсыз камера контроллері
Өзіңізді құрыңыз (арзан!) Көп функциялы сымсыз камера контроллері
Өзіңіздің жеке құрыңыз (арзан!) Көп функциялы сымсыз камера контроллері
Өзіңіздің жеке құрыңыз (арзан!) Көп функциялы сымсыз камера контроллері

Кіріспе Сіз өзіңіздің жеке камера контроллеріңізді құруды ойладыңыз ба? МАҢЫЗДЫ ЕСКЕРТУ: MAX619 конденсаторлары 470n немесе 0.47u. Схема дұрыс, бірақ компоненттер тізімі қате болды - жаңартылды. Бұл Digital Days байқауына қатысу, сондықтан егер сіз оны пайдалы деп тапсаңыз, жақсы баға беріңіз/дауыс беріңіз/пікір қалдырыңыз! Егер сіз шынымен ұнатсаңыз және сүрінетін болсаңыз, «маған ұнайды!»:) Жаңарту: hackaday -де ұсынылған! hackaday.com/2009/10/13/a-differ-breed-of-camera-controllers/ Жаңарту: лазерлік триггердің жаңа фотосуреттері! Жаңарту: Бірінші сыйлық = D, дауыс беру және/немесе рейтинг үшін рахмет! Бұл нұсқаулық негізінен SLR пайдаланушыларының камераларына сәл жүгіруге тырысады, бірақ егер интерфейсінде нүктелер мен түсірілімдер болса, бұл сізге қызықты болуы мүмкін. Әрине, бұл камералық тректер терминалдарына логикалық шығуды қосуға болатын камера бұзғыштарымен де жұмыс істейді (сәл өзгертілгенде). Бұл толық нұсқаулық ретінде басталды, бірақ мен кейінірек кездестірген кездейсоқ шектеулерге байланысты бұл әр түрлі нәрселерді қалай жасауға болатыны туралы нұсқаулық болуы мүмкін - мен сізге жиі қалай жасауға болатынын таңдауды қалдырамын. Менің ойымша, «сіз мұны істеуіңіз керек» деп соқырлықпен айтудан гөрі, істің жақсы әдісі. Мұны камера контроллерінің дизайнындағы сабақ деп ойлаңыз. Мен схемалар мен толық кодты ұсындым, сондықтан оны әрқашан көшіруге болады. Бұл дизайнды ленталық тақтаға ауыстырудың және көптеген адамдарға СКД қосудың қарапайым жағдайы болады. Мен оны қалай басқаруға болатынын білдім, себебі процесс өте ұқсас және дизайнды тұрақты етпес бұрын қателерді түзетуге мүмкіндік береді! Ерекшеліктер: Бір кадрлық режим Аралық (уақыт аралығы) режимі Айнымалы шарттары бар триггерлік түсірілім (триггер) режимі Датчиктің конструкциялары - жарық, дыбыс (тағы басқалары мүмкін!) Жалпы құны - 25 фунт стерлингтен төмен (құралдарды қоспағанда) Nikon/Canon үйлесімді (кодталған) үйлесімді LCD дисплейі, Olympus/Pentax үшін ықтимал қолдау (тексерілмеген) микробағдарлама жоқ модификация қажет IR қолданады, сымсыз да, камераға да зиян келтірмейді. Мен бұл туралы ойладым, сыртта суықта отырып, пультті бірнеше сағат шертіп. Мен 1000 секундқа жуық 8 секундтық интервал жасадым. Мен ойладым, бұл жай ғана IR светодиод емес пе? Неліктен мен оны қайталай алмаймын және өзімнің қашықтан басқару пультін кешіктіріп жасай алмаймын? Содан кейін мен білдім (біршама ұялшақ, өйткені менде мидың үлкен толқыны болды деп ойладым), бұл жасалды, тіпті тақырып бойынша бірнеше нұсқаулар бар. Менің іске асырудың интервалометрлер мен DIY қашықтан басқару пульттерінен айырмашылығы - бұл көптеген теңшелімдер мен модульділікке мүмкіндік береді, Nikon/Canon -мен (және басқалары кейінірек) үйлесімді және белгілі бір триггерде суретке түсіру мүмкіндігін біріктіреді. Идея қарапайым. Сіз тез нәрсені суретке түсіргіңіз келеді (қазіргі уақытта сіздің жапқышыңыздың артта қалуымен шектелген, мен үшін 6 мс). Мұны істеудің әр түрлі әдістері бар: 1. Сіз суретті дәл сәтте түсіруге тырысатын сынақ пен қателік 2. Жақсартылған сынақ пен қателік, сіз бөлмені қараңғылатасыз, камераны лампочкаға қоясыз (ысырманы ашыңыз) және жарқылды жағыңыз. қажетті уақытта 3. Суретке түсіру үшін дыбыс/жарық сенсоры бар арнайы триггер контроллерін сатып алыңыз. 4. Өзіңіз жасаңыз! Жақсы, 1 және 2 -де шатастыруға болады және олар өте жақсы суреттер бере алады. Бірақ мен сізге көрсететінім - сізге үнемі нәтиже беретін тізбек құру мүмкін. Ең бастысы, дәл осы қиын уақытта шығындар баламалы модельдерге қарағанда төмен (кейбір адамдар мұндай нәрсені жасайтын жиынтықтар шығарды, бірақ олардың бағасына сілтемелерді қараңыз). Дизайнның әмбебаптығы мынада: егер сенсорыңыз 0 мен 5В аралығында шығыс кернеуін тудырса, оны камераны іске қосу үшін пайдалануға болады! Бір қарағанда, бұл скучно мәлімдеме, бірақ сіз оның салдарын түсіне бастағанда, ол өте күшті болады. Кернеу деңгейін бақылау арқылы сіздің триггер жарыққа негізделген (LDR), дыбысқа негізделген (микрофон немесе ультрадыбыстық), температураға негізделген (термистор) немесе тіпті қарапайым потенциометр болуы мүмкін. Шындығында, кез келген нәрсе туралы. Сіз тіпті тізбекті басқа контроллермен байланыстыра аласыз, егер ол сізге логикалық шығыс берсе, сіз оны іске қосуға болады. Дизайндағы жалғыз үлкен шектеу-бұл тек IR интерфейсімен жұмыс істейді, бағдарламалық қамтамасыз ету мен жабдықты мини-USB арқылы шығаруға немесе интерфейстің кез келген түріне өзгерту өте қарапайым болар еді. Ескерту: Бастапқы код: Мен 13 -қадамда кейбір қосымшаларды ұсындым. Қазіргі уақытта менің контроллерімде жұмыс істейтін код он алтылық файлда, негізгі c файлы мен оған тәуелділіктермен бірге. Егер сіз компиляцияға сенімді болмасаңыз, менің кодты іске қосуға болады. Мен сондай -ақ әр түрлі қадамдарда қолдануға болатын кейбір үлгі кодын қостым (олар қашықтан_тест, интервалометрлік тест және adc тесті сияқты анық аталады. Егер мен кодты бір қадамға жүгінсем, онда коэффициент бар). Өңдеу: Бұл туралы жаңарту шарлар ұшады - мен сені шарлардың суретін оңай түсіруге болатынын айтқанымда, менің көзқарасым шамалы болды. Орташа шардың терісі соншалықты тез қозғалады, ол сіздің камераңыз жанған кезде толығымен жарылып кетеді. Бұл көптеген камералармен байланысты мәселе, контроллер емес (ADC 120 кГц жылдамдықта сезеді). Бұл жағдайда қосымша сымды және басқа шағын тізбекті қоссаңыз, іске қосылатын жарқылды қолдану қажет. Сіз теориялық түрде оны шығарып, кідіріспен ойнау үшін (немесе тіпті кешіктіру кодын микросекундқа өзгерту үшін) басқа нәрсені қолдана аласыз деді. 150 мс-1 жылдамдықпен 1 м жүретін әуе түйіршігі шамамен 6-7 м уақытты алады, оны іске қосу мен түсіру үшін жеткілікті уақыт Мылтықты жылжыту бірнеше микросекундтың қарапайым кідірісін қамтамасыз етеді с. Тағы да, бұл үшін кешірім сұраймын, егер мен шарларды ұстай алсам, мен бүгін кешке ойнаймын, бірақ әлі де отшашу сияқты дыбыстық триггерді қолдану көп! Мен төменде тез және лас уақыт аралығын қойдым, бірақ бұл жұмыс істейтінін көрсету үшін:) Оқуды, бағалауды және/немесе дауыс беруді ұмытпаңыз! Қош келдіңіз, JoshDisclaimer Егер бірдеңе дұрыс болмай қалса немесе сіз камераңызды кірпішпен кіргізсеңіз/мысықты қиратсаңыз, мен ештеңе үшін жауап бермеймін. Осы нұсқаулыққа негізделген жобаны бастай отырып, сіз мұны қабылдайсыз және өз тәуекеліңізбен жалғастырасыз. Егер сіз олардың біреуін жасасаңыз немесе сізге көмектесу үшін менің нұсқаулығымды қолдансаңыз - маған сілтемені/фотоны жіберіңіз, сонда мен оны осында қоса аламын! Жауап осы уақытқа дейін болды (кем дегенде менің стандарттарым бойынша), сондықтан адамдардың оны қалай түсіндіретінін көру керемет болар еді. Мен 2 -ші нұсқа бойынша жұмыс жасаймын;)

1 -қадам: Кейбір бастапқы ойлар …

Сонымен, біз бұл затты қалай құрамыз? Микроконтроллер Бұл жобаның жүрегі мен жаны - бұл AVR ATMega8. Бұл негізінен Arduino қолданатын ATMega168 чипінің сәл қиылған нұсқасы. Ол C немесе Ассемблерде бағдарламаланатын және әр түрлі пайдалы мүмкіндіктерге ие, оны біз өз пайдамызға қолдана аламыз. »28 түйреуіш, олардың көпшілігі кіріс/шығыс (i/o)« Борттық аналогты цифрлық түрлендіргішке »Қуатты аз тұтыну «3 борттық таймер» Ішкі немесе сыртқы сағат көзі »Интернетте көптеген код кітапханалары мен үлгілері Көптеген түйреуіштердің болуы жақсы. Біз LCD экранмен интерфейс жасай аламыз, 6 түймені енгіземіз, ал жарық диодты жарықдиодты жарықтандыруға жеткілікті күйде қалады және кейбір статикалық светодиодтар. Atmel AVR процессорлар сериясында интернетте көп қолдау бар және көптеген оқулықтар бар. басталды (мен бұған қысқаша тоқталамын, бірақ жақсы оқулықтар бар) және кодтар мен жинақтар. Анықтама үшін мен бұл жобаны AVR-LibC кітапханасының көмегімен C-де кодтайтын боламын, мен мұны істеу үшін PIC-пен оңай жүретін едім, бірақ AVR жақсы қолдау көрсетеді және мен қашықтан басқару құралдары үшін тапқан барлық мысалдар AVR-ге негізделген! дисплейдің екі негізгі түрі бар, графикалық және әріптік -сандық. Графикалық дисплейлердің ажыратымдылығы бар және пиксельді қалаған жеріңізге қоюға болады. Кемшілігі - оларды кодтау қиын (кітапханалар бар болса да). Әріптік -цифрлық дисплейлер бір немесе бірнеше таңбалар қатарынан тұрады, СКД -де негізгі таңбалар (мысалы, алфавит, кейбір сандар мен таңбалар) бар қойма бар және жолдарды шығаруға салыстырмалы түрде оңай. Кемшілігі - олар икемді емес және графиканы көрсету іс жүзінде мүмкін емес, бірақ бұл біздің мақсатымызға сәйкес келеді. Олар сонымен қатар арзан! Әріптік -цифрлық жолдар мен бағаналар санаты бойынша жіктеледі. 2x16 өте кең таралған, екі жол 16 таңбадан тұрады, олардың әрқайсысы 5х8 матрица. Сіз сондай -ақ 2x20 с ала аласыз, бірақ мен қажеттілікті көрмеймін. Өзіңізге ыңғайлы кез келген нәрсені сатып алыңыз. Мен қызыл жарықтандырылған СКД қолдануды таңдадым (мен мұны астрофотография үшін қолданғым келеді, ал қызыл жарық түнгі көру үшін жақсы). Сіз артқы жарықсыз жүре аласыз - бұл сіздің таңдауыңыз. Егер сіз жарықтандырылмайтын жолды таңдасаңыз, сіз энергия мен ақшаны үнемдейсіз, бірақ қараңғыда алау қажет болуы мүмкін. СКД іздегенде оның HD44780 арқылы басқарылатынына көз жеткізіңіз. Бұл Hitachi әзірлеген салалық стандартты хаттама және бізде деректерді шығару үшін қолдануға болатын көптеген жақсы кітапханалар бар. Мен сатып алған модель eBay -ден JHD162A болды. InputInput батырмалармен орындалады (қарапайым!). Мен 6 режимді таңдадым, жарайды/түсіру және 4 бағыт. Апат болған жағдайда микрофонды қалпына келтіру үшін тағы бір кішкене түймені алуға тұрарлық. Триггердің кірісіне келетін болсақ, кейбір негізгі идеялар - жарыққа тәуелді резистор немесе электрлі микрофон. Бұл жерде сіз өзіңіздің бюджетіңізге байланысты шығармашылық немесе сараң бола аласыз. Ультрадыбыстық датчиктер қымбатқа түседі және қосымша бағдарламалауды қажет етеді, бірақ сіз олармен шынымен ұқыпты нәрселерді жасай аласыз. Көпшілік адамдар микрофонға (мүмкін, ең пайдалы жалпы сенсор) риза болады, ал электриктер өте арзан. Есіңізде болсын, оны күшейту қажет (бірақ мен бұл туралы кейінірек айтамын). Шығу - күй Бізге қажет нақты нәтиже - бұл күй (дисплейден басқа), сондықтан бұл жерде бірнеше жарық диоды жақсы жұмыс істейді. суреттер үшін бізге камерамен интерфейс керек, ол үшін инфрақызыл сәуле шығаратын жарық көзі қажет. Бақытымызға орай, көптеген светодиодтар бар, сондықтан сіз жоғары қуатты шамды алуға тырысуыңыз керек. Мен таңдаған құрылғы 100мА максималды ағымдағы рейтингі бар (жарық диодтардың көпшілігі 30мА шамасында), сонымен қатар толқын ұзындығының шығуын ескеру қажет. Инфрақызыл сәуле EM спектрінің толқын ұзындығында орналасқан және сіз шамамен 850-950нм мәнін іздеуіңіз керек. Көптеген IR светодиодтары 950 соңына қарай ұмтылады және ол қосылған кезде сіз қызыл шамды көре аласыз, бұл проблема емес, бірақ ол спектрді жоғалтқан, мүмкін болса 850 -ге жақындауға тырысыңыз. бұл? Бұл портативті болады, сондықтан батареялар! Мен 2 АА батареясын қолдануды жөн көрдім, содан кейін олар 5 В дейін күшейтіледі. Мен келесі бірнеше тарауларда мұның астарында ой қозғап өтемін. 'Корпус және құрылыс' Бұл жұмысты қалай жасау сізге байланысты. Мен прототиптен кейін тізбек үшін таспаны қолдануды шештім, себебі ол арзан және икемді, сондықтан ПХД -нің дизайнын үнемдейді. Мен схемаларды ұсындым, осылайша сіз өзіңіздің ПХД макетін жасай аласыз - дегенмен, егер сізде болса, мен көшірмеге риза болар едім! Тағы да жағдай сіздің таңдауыңыз, ол экранға, түймелерге сәйкес келуі керек (мүмкіндігінше интуитивті схемада) және батареялар. Электрондық тақталар жұмыс істей бастағанда, бұл күрделі емес, көптеген қосылымдар тек түймелер/СКД сияқты нәрселерге байланысты.

2 -қадам: Қуатты басқару

Қуатты басқару
Қуатты басқару

Қуатты басқару Мұндай жоба үшін портативтілік басты аспект болуы керек екені анық. Батареялар - бұл логикалық таңдау! Енді портативті құрылғылар үшін қайта зарядталатын немесе оңай қол жетімді батарея көзін таңдау өте маңызды. Екі негізгі нұсқа - 9В PP3 батареясы немесе АА батареялары. Мен кейбір адамдар 9В батареясын ең жақсы нұсқа деп ойлайтынына сенімдімін, өйткені 9В 3 -тен жақсы ма? Бұл жағдайда емес. 9В батареялары өте пайдалы болғанымен, олардың кернеуін батареяның қызмет ету мерзімі есебінен шығарады. МАч (миллиамп сағат) өлшенетін бұл рейтинг сізге аккумулятордың 1мА сағатта қанша уақыт жұмыс істейтінін теориялық түрде көрсетеді (оны бір шымшым тұзбен қабылдағанмен, олар көбінесе мінсіз, төмен жүктеме жағдайында болады). Рейтинг неғұрлым жоғары болса, батарея соғұрлым ұзақ қызмет етеді. 9В аккумуляторлар 1000 мАч -қа дейін және айналасында номиналды. Сілтілік АА -ның кернеуі 2900 мАч -қа қарағанда үш есе көп. NiMH зарядталатын батареялары бұл көрсеткішке қол жеткізе алады, бірақ 2500 мАч - бұл жеткілікті мөлшерде (қайта зарядталатын батареялар 1,5 В емес, 1,2 В кернеуінде жұмыс істейтінін ескеріңіз!) СКД экранына 5 В кіріс қажет (10%), ал AVR (микроконтроллер) шамамен бірдей (төмен жиілікті сағат жылдамдығы үшін ол 2,7 -ге дейін төмендеуі мүмкін). Біз сондай -ақ жеткілікті тұрақты кернеуді қажет етеміз, егер ол өзгерсе, микроконтроллерде ақаулар тудыруы мүмкін, бұл үшін кернеу реттегішін қолданамыз, қазір баға мен тиімділікке қатысты таңдау жасау керек. Сізде LM7805 (78 сериялы, +5 вольтты шығыс) немесе шағын интегралды схема сияқты қарапайым 3 істікшелі кернеу реттегішін пайдалану мүмкіндігі бар. назарға бірнеше нүктелер. Біріншіден, үш істікшелі реттегішке әрқашан шығысынан жоғары кіріс қажет. Содан кейін олар кернеуді қажетті мәнге дейін төмендетеді. Кемшілігі-олардың керемет тиімділігі (50-60% жақсы). Артықшылығы - олар арзан және 9В батареямен жұмыс істейді, сіз Ұлыбританияда 20 пенстің негізгі моделін ала аласыз. Сондай -ақ, реттегіштерде кернеу бар екенін есте ұстаған жөн - кіріс пен шығыс арасындағы минималды алшақтық. Сіз 50мВ шамасында (басқа конструкциялармен 1-2В салыстырғанда) шығуы бар арнайы LDO (Low DropOut) реттегіштерін сатып ала аласыз. Басқаша айтқанда, +5В шығысы бар LDO -ны іздеңіз. Интегралды схеманы пайдалану Ең қолайлы жол - коммутациялық реттегіш. Бұл, әдетте, кернеуді қабылдайтын және бізге жоғары тиімділікпен реттелетін шығыс беретін 8 істікшелі пакеттер болады - кейбір жағдайларда шамамен 90%. Сіз енгізгіңіз келетін нәрсеге байланысты түрлендіргіштерді жоғарылатуға немесе төмендетуге болады (сәйкесінше күшейту/кебу), керісінше қалаған шығудан жоғары немесе төмен болатын реттегіштерді сатып алуға болады. MAX619+. Бұл 2 АА қабылдайтын (кіріс диапазоны 2В-3.3В) 5В тұрақты реттегіш және тұрақты 5В шығуын береді. Ол жұмыс істеуі үшін тек төрт конденсатор қажет және кеңістікті үнемдейді. Бағасы - 3.00 қақпақтарды қосқанда. Аккумуляторларыңыздан біршама артық пайдалану үшін босқа кетуге тұрарлық. Жалғыз басты кемшілігі - ол қысқа тұйықталудан қорғалмаған, сондықтан егер ток күшейіп кетсе, ескертіңіз! Бұл схеманы қосу арқылы түзету өте маңызды емес: чиптің тағы бір пайдалы дизайны - бұл LT1307 шешімі емес. Тағы да, 5В реттегіш, бірақ ол әр түрлі кірістерді қабылдай алады және батареяны төмен анықтау сияқты пайдалы нәрселерге ие. Индуктивті, үлкен конденсаторлық және резисторлық қондырғылардың көмегімен шамамен 5 -тен сәл жоғары тұрады. Кернеу рельстері Біз екі негізгі кернеу рельсін (плюс ортақ жерге) қолданатын боламыз. Біріншісі аккумулятордан 3В болады, бұл жарық диодты және басқа салыстырмалы түрде жоғары қуатты компоненттерді қуаттандыру үшін қолданылады. Менің MAX619 тек 60 мА дейін бағаланады (абсолюттік максимум 120 мА), сондықтан кез келген жарықдиодты басқару үшін микроконтроллерді MOSFET -ке қосу оңайырақ. MOSFET токты дерлік алмайды және қақпаға кіру шамасы 3В шамасында болғанда тізбектің үзілуі ретінде әрекет етеді. Микроконтроллер түйреуішке логикалық 1 жібергенде, кернеу 5В болады және FET қосылады, содан кейін қысқа тұйықталу ретінде әрекет етеді (яғни сым бөлігі). 5В релесі СКД, микроконтроллер мен кез келген күшейту тізбектерін қуаттандырады. Қуатты тұтыну Егер біз әр түрлі мәліметтер кестесін қарасақ, AVR максималды жүктемеде 15-20 мА аспайтынын байқаймыз. СКД жұмыс істеуі үшін тек 1 мА қажет (кем дегенде мен тексергенде, бюджет 2). Артқы жарық қосулы кезде, сіз шешесіз. Оны 5В рельске тікелей жалғау жақсы (бірақ мен тырыстым), бірақ оның алдында резисторы бар екеніне көз жеткізіңіз (ПХД іздерін қадағалаңыз). Ол 30 мА осылайша тартты - қорқынышты! 3.3k резисторы бар болса, ол әлі де көрінеді (астрофото үшін өте қолайлы) және тек 1mA тартады. Сіз әлі де 1k немесе басқа жолмен лайықты жарықтық ала аласыз. Мен 2мА -дан аз ғана артқы жарығы бар сурет салуды жақсы көремін! Егер қаласаңыз, 10 к потенциометр көмегімен жарықтылық тұтқасын қосу тривиальды. IR светодиоды максималды 100 мА болуы мүмкін, бірақ менде 60 мА жақсы нәтижеге қол жеткіздім (эксперимент!). Сіз бұл токты екі есе азайта аласыз, себебі сіз 50% жұмыс циклінде тиімді жұмыс жасайсыз (жарық диодты модуляцияланған кезде). Қалай болғанда да, бұл бір секундқа ғана қосылады, сондықтан бұл туралы алаңдамаудың қажеті жоқ. Басқа жарық диодты шамдар сізге жақсы жарықтық беру үшін тек 10 мА ток жеткілікті екенін білесіз. аз қуатты светодиодтар үшін (инфрақызыл светодиодты қоспағанда), сіз алауды жобаламайсыз! Мен электр тізбегіне қуат индикаторын қоспауды шештім, себебі бұл өте көп емес. Қосу/өшіру қосқышын қолданып, оның қосылып тұрғанын тексеріңіз! Жалпы алғанда, сіз бір уақытта 30 мА артық жұмыс істемеуіңіз керек және 2500 мАч шамасында теориялық жеткізіліммен (вариацияға мүмкіндік беретін), бұл сізге 80 сағаттан артық уақыт беруі керек. барлығын қосқанда тікелей. Процессор көп уақыт жұмыс істемей тұрғанда, бұл кем дегенде екі -үш есе артады, сондықтан батареяны жиі ауыстырудың қажеті жоқ. Сіз тиімділік есебінен 9В батареямен және LDO реттегішімен арзан әрі көңілді бола аласыз немесе сәл көбірек төлей аласыз және бұл үшін арнайы IC қолдана аласыз. Менің бюджетім әлі де IC -мен 20 -дан төмен болды, сондықтан қажет болған жағдайда оны одан әрі төмендетуге болады.

3 -қадам: ATmega8 -ге жақынырақ қараңыз

ATmega8 -ге жақынырақ қарау
ATmega8 -ге жақынырақ қарау

PinsImage 1 - ATMega8 -дің түйін диаграммасы (дәл 168/48/88 -ге ұқсас, айырмашылығы борттағы жад көлемі мен үзіліс опцияларында ғана). 1 -түйреуіш - Қалпына келтіру, VCC кернеуінде (немесе кем дегенде логикалық 1) Егер жерге тұйықталса, құрылғы жұмсақ қалпына келтіріледі: 2-6 - D порты, жалпы кіріс/шығыс PIN 7 - VCC, кернеу кернеуі (біз үшін+5В) 8 -түйреуіш - 9 -нүкте, 10 - XTAL, сыртқы сағаттық кірістер (В портының бөлігі)) Pin 11 - 13 порты D, жалпы кіріс/шығыс 14 - 19 порт B, жалпы кіріс/шығыс PIN 20 - AVCC, аналогты кернеу (VCC сияқты) түйреуіш 21 - AREF, аналогтық кернеу сілтемесі PIN 22 - жерге тұйықталу 23-28 порт C Жалпы кіріс/шығыс Қолданылатын енгізу -шығару порттары: D = 8, C = 6, B = 6 Жалпы 20 қолдануға болатын порттар өте жақсы, қарапайымдылық үшін сіз шығысыңызды порттарға (мысалы, D шығыс порты ретінде) немесе тақтадағы топтар - бұл бұрышта сымдарды ұқыпты ұстау үшін СК портынан СК жұмыс істеуін қалауыңыз мүмкін. Бағдарламалау үшін үш қосымша түйреуіш қажет. Бұл MISO (18), MOSI (17) және SCK (19). Қажет болса, олар енгізу/шығару түйреуіштері ретінде қуана әрекет етеді. Сағалау Камераға жіберетін сигнал дәл уақыт бойынша (микросекундқа дейін дәл) болуы керек, сондықтан жақсы сағат көзін таңдау маңызды. Барлық AVR -де чип өз сағатын алатын ішкі осциллятор бар. Мұның кемшілігі - олар температура/қысым/ылғалдылық кезінде шамамен 10% ауытқуы мүмкін. Біз онымен күресу үшін сыртқы кварц кристалын қолдана аламыз. Олар 32768 кГц -тен 20 МГц -ке дейінгі кез келген көлемде қол жетімді. Мен 4 МГц кристалды қолдануды таңдадым, себебі ол жылдамдықтың жеткілікті мөлшерін қамтамасыз етеді, бірақ 8 МГц -ке қарағанда өте консервативті. Борттық қуатты басқару Мен өз кодымда ұйқы режимін қолданғым келді. Іс жүзінде мен уақыт өте келе процессордың бос тұруына сүйенетін бірінші нұсқаны жаздым. Уақыттың шектеулігіне байланысты, мен сағатты сырттай іске қосу мен таймерлерді пайдалануды тоқтату бойынша кейбір мәселелерге тап болдым. Шындығында мен контроллермен ояну үшін кодты қайта жазуым керек еді, мен мұны істей аламын, бірақ уақыт маған қарсы. Осылайша, құрылғы тек 20 мА құрайды, сондықтан сіз одан құтыла аласыз. Егер сіз шынымен де дайын болсаңыз, онда кодпен скрипка жасау керек, тек ішкі сағатты, содан кейін дәлірек кідірістер үшін 4 МГц кристалын қолдана отырып, Таймер 2 -ді асинхронды режимде іске қосу жеткілікті. Бұл қарапайым, бірақ көп уақытты қажет етеді. Оның қалай жұмыс істейтіні сыртынан қарағанда қарапайым. Кернеу түйреуіштен таңдалады (кейбір сенсордан немесе басқа кірістен), кернеу 0 -ден 1024 -ке дейінгі сандық мәнге айналады. Кіріс кернеуі ADC тірек кернеуіне тең болғанда 1024 мәні байқалады. Егер біз сілтемені VCC (+5V) деп орнатсақ, онда әрбір бөлу 5/1024 В немесе шамамен 5 мВ құрайды. Ілмектегі 5мВ -тің артуы ADC мәнін 1 -ге арттырады. Біз ADC шығыс мәнін айнымалы ретінде қабылдай аламыз, содан кейін оны скрипкаға салып, оны заттармен салыстырамыз және т.б. ADC - бұл өте пайдалы функция және AVR -ді осциллографқа айналдыру сияқты көптеген керемет нәрселерді жасауға мүмкіндік береді. Іріктеу жиілігі шамамен 125 кГц құрайды және оны негізгі сағат жиілігіне пропорционалды түрде орнату керек. Регистр - бұл AVR жадындағы мекенжайлардың (орындардың) жиынтығы. Регистрлер олардың разрядына қарай жіктеледі. 7 биттік регистрде 8 орын бар, өйткені біз 0 -ден бастаймыз. Барлығы үшін регистрлер бар, біз оларды кейінірек толығырақ қарастырамыз. Кейбір мысалдарға түйреуіштің жоғары немесе төмен орнатылғанын бақылайтын және кіріс үшін резисторларды орнататын PDRx регистрлері (мұндағы x - В, С немесе D), түйреуіштің шығысы немесе кірісі екенін және т.б. орнататын DDRx регистрлері. Деректер кестесі - салмағы 400 бетті құрайтын әдебиеттің гемогаты; AVR деректер кестелері сіздің процессорға баға жетпес сілтеме болып табылады. Оларда әр регистр, әр түйреуіш, таймерлердің жұмыс тәртібі, сақтандырғыштар не және тағы басқалары туралы мәліметтер бар. Олар тегін және сізге ерте ме, кеш пе қажет болады, сондықтан көшірмені жүктеп алыңыз! Www.atmel.com/dyn/resources/prod_documents/doc2486.pdf

4 -қадам: түйреуіштерді бөлу

Бөлу түйреуіштері
Бөлу түйреуіштері

Мен қажет кірістер мен шығыстарды айтып өттім, сондықтан оларды түйреуіштерді бөлу керек! Енді, PORT D -де 8 түйреуіш бар, ол ыңғайлы, себебі ол біздің шығыс портымыз бола алады. СКД жұмыс істеуі үшін 7 түйреуіш қажет - 4 деректер түйіні мен 3 басқару түйреуі. IR светодиоды тек бір түйреуішті қажет етеді, осылайша біздің 8. PORTB түйме порты болады, оның 6 кірісі бар, бірақ бізге тек 5 қажет. Бұл режимдік және бағытты түймелер болады. арнайы, бұл ADC порты. Бізге триггер кірісі үшін тек бір түйреуіш қажет және оны PC0 -ге қоюдың мағынасы бар (бұл жағдайда порт түйреуіштерінің жалпы қысқартылуы, С порт, түйреуіш 0). Бізде күй светодиоды үшін бірнеше түйреуіш бар (біреуі ADC мәні белгілі бір жағдайдан жоғары болғанда, екіншісі кейбір шарттардан төмен болғанда жанады). Біз бұл жерге ok/shoot батырмасын енгіземіз, бұл кейінірек түсінікті болады. Осының бәрінен кейін біз порттардың көп бөлігін пайдаландық, бірақ егер сіз жобаны кеңейткіңіз келсе, бізде әлі де аз қалды. - Мүмкін бірнеше триггерлер?

5 -қадам: камерамен байланыс

Камерамен байланыс
Камерамен байланыс
Камерамен байланыс
Камерамен байланыс

Сандық күндер фотобайқауының бірінші жүлдесі

Ұсынылған: