Სარჩევი:

შექმენით საკუთარი (იაფი!) მრავალფუნქციური უკაბელო კამერის კონტროლერი .: 22 ნაბიჯი (სურათებით)
შექმენით საკუთარი (იაფი!) მრავალფუნქციური უკაბელო კამერის კონტროლერი .: 22 ნაბიჯი (სურათებით)

ვიდეო: შექმენით საკუთარი (იაფი!) მრავალფუნქციური უკაბელო კამერის კონტროლერი .: 22 ნაბიჯი (სურათებით)

ვიდეო: შექმენით საკუთარი (იაფი!) მრავალფუნქციური უკაბელო კამერის კონტროლერი .: 22 ნაბიჯი (სურათებით)
ვიდეო: რატომ ასე იაფად? 2024, ივლისი
Anonim
შექმენით საკუთარი (იაფი!) მრავალფუნქციური უკაბელო კამერის კონტროლერი
შექმენით საკუთარი (იაფი!) მრავალფუნქციური უკაბელო კამერის კონტროლერი
შექმენით საკუთარი (იაფი!) მრავალფუნქციური უკაბელო კამერის კონტროლერი
შექმენით საკუთარი (იაფი!) მრავალფუნქციური უკაბელო კამერის კონტროლერი
შექმენით საკუთარი (იაფი!) მრავალფუნქციური უკაბელო კამერის კონტროლერი
შექმენით საკუთარი (იაფი!) მრავალფუნქციური უკაბელო კამერის კონტროლერი

შესავალი ოდესმე გიფიქრიათ საკუთარი კამერის კონტროლერის მშენებლობაზე? მნიშვნელოვანი შენიშვნა: MAX619– ის კონდენსატორები არის 470n ან 0.47u. სქემა სწორია, მაგრამ კომპონენტების სია არასწორია - განახლებულია. ეს არის ციფრული დღეების კონკურსის ჩანაწერი, ასე რომ, თუკი ეს თქვენთვის სასარგებლოა, გთხოვთ შეაფასოთ/ხმა მისცეთ/კომენტარი დადებითად! თუ ნამდვილად მოგწონთ და დაბრკოლდებით, დააჭირეთ "მე მომწონს!":) განახლება: გამოჩნდა ჰაკადაიზე! hackaday.com/2009/10/13/a-different-breed-of-camera-controllers/ განახლება: ახალი ფოტოები ლაზერული გამომწვევის მოქმედებაში! განახლება: პირველი პრიზი = D, მადლობა ხმის მიცემისათვის და/ან შეფასებისთვის! ეს ინსტრუქცია ძირითადად განკუთვნილია SLR მომხმარებლების სასარგებლოდ, რომლებიც ეძებენ კამერისგან გარბენიდან უფრო მეტ გარბენს, მაგრამ თუკი არსებობს რაიმე წერტილი და გადაღება IR ინტერფეისებით, შეიძლება ეს თქვენთვის საინტერესო აღმოჩნდეს. რა თქმა უნდა, ეს ასევე იმუშავებს (ცოტაოდენი მოდიფიკაციით) კამერის გარჩევაში, სადაც შეგიძლიათ დააკავშიროთ ლოგიკური შედეგები კამერის გამომწვევი ტერმინალებზე. ეს დაიწყო როგორც სრული გაკვეთილი, მაგრამ ზოგიერთი მოულოდნელი შეზღუდვის გამო, რომელიც შემდგომში შემხვდა, ეს შეიძლება იყოს უფრო სახელმძღვანელო, თუ როგორ უნდა მივაღწიო სხვადასხვა საქმეს - მე ხშირად დაგტოვებთ არჩევანს, თუ როგორ შეძლებთ რამის გაკეთებას მე ვფიქრობ, რომ საქმეების კეთების უკეთესი გზაა, ვიდრე ბრმად თქმა: "შენ ეს უნდა გააკეთო". განიხილეთ ეს, როგორც გაკვეთილი კამერის კონტროლერის დიზაინში. მე მოგაწოდეთ სქემა და სრული კოდი, ასე რომ თქვენ ყოველთვის შეგიძლიათ მისი კოპირება. ეს იქნება უბრალო შემთხვევა დიზაინის გადატანა სტრიპტბორდზე და LCD– ის დამატება ადამიანების უმეტესობისთვის. მე გავარკვიე, თუ როგორ უნდა გამოვიყენო ის, რადგან პროცესი ძალიან ჰგავს და საშუალებას იძლევა შეცდომების გამოსწორება, სანამ დიზაინს გახდი მუდმივი! მახასიათებლები: ერთი გასროლის რეჟიმი ინტერვალით (დროის გასვლა) რეჟიმი გააქტიურებული გასროლა (გამომწვევი გარე სენსორიდან) რეჟიმი ცვლადი პირობებით მოყვება სენსორული დიზაინი - სინათლე, ხმა (სხვა მრავალი შესაძლებელია!) საერთო ღირებულება - 25 ფუნტამდე (ინსტრუმენტების გარეშე) LCD ეკრანი პარამეტრების ადვილად შეცვლისთვის თავსებადია Nikon/Canon– თან (კოდირებული), პოტენციური მხარდაჭერა (დატესტილი) Olympus/Pentax– ისთვის საჭიროა მოდიფიკაცია იყენებს IR ისე უკაბელო და არ აზიანებს თქვენს კამერას მე ამის იდეა მას შემდეგ მივიღე, რაც ცივში ვიჯექი საათობით ჩემს დისტანციური მართვის ღილაკზე დაჭერით. მე ვაკეთებდი 8 წამის ინტერვალს დაახლოებით 1000 გასროლისთვის. ვიფიქრე, აი, ეს მხოლოდ IR LED არის, არა? რატომ არ შემიძლია მისი გამეორება და საკუთარი დისტანციური მართვა ჩამონტაჟებული დაგვიანებით? შემდეგ აღმოვაჩინე (გარკვეულწილად უხერხულად, რადგან მეგონა, რომ ტვინის მასიური ტალღა მქონდა), რომ ეს გაკეთდა და ამ თემაზე რამდენიმე ინსტრუქციაც კი არსებობს. იქ, სადაც ჩემი განხორციელება განსხვავდება ინტერვალომეტრებისა და წვრილმანი დისტანციებისაგან, არის ის, რომ ის იძლევა ბევრ პერსონალიზაციას და მოდულურობას, თავსებადია როგორც Nikon/Canon– თან (და სხვა მოგვიანებით), ასევე აერთიანებს სურათის გადაღების შესაძლებლობას კონკრეტულ ტრიგერზე. იდეა მარტივია. გსურთ რაღაც საკმაოდ სწრაფად გადაიღოთ სურათი (ამჟამად შეზღუდულია ჩამკეტის ჩამორჩენით, ჩემთვის 6 წმ). ამის გასაკეთებლად სხვადასხვა მეთოდი არსებობს: 1. ცდა და შეცდომა თქვენ ცდილობთ სურათის გადაღებას საჭირო მომენტში 2. გაუმჯობესებული საცდელი და შეცდომა თქვენ შავდებათ ოთახი, აყენებთ კამერას ნათურაზე (გახსენით ჩამკეტი) და აანთებთ ფლეშს საჭირო დროს 3. იყიდეთ გამოსაშვები გამშვები კონტროლერი, რომელსაც აქვს რაიმე სახის აუდიო/სინათლის სენსორი სურათის გადასაღებად თქვენივე ბრძანებით 4. შექმენით ერთი თქვენ თვითონ! კარგი, 1 და 2 კარგია არეულობისთვის და შეუძლიათ კარგი სურათების მოტანა. მაგრამ ის, რასაც მე გაჩვენებთ არის ის, რომ შესაძლებელია ისეთი სქემის აგება, რომელიც თანმიმდევრულ შედეგს მოგცემთ დროდადრო. რაც მთავარია, ამ დაძაბულ დროს, ღირებულება უფრო დაბალია, ვიდრე ალტერნატიული მოდელები (ზოგიერთმა ადამიანმა წარმოადგინა ნაკრები, რომლებიც აკეთებენ ამგვარ რამეს, მაგრამ მათ ძვირი დაუჯდათ იხილეთ ბმულები). დიზაინის მრავალფეროვნება ასეთია: თუ თქვენი სენსორი გამოიმუშავებს გამომავალ ძაბვას 0 -დან 5V- მდე, შეგიძლიათ გამოიყენოთ იგი კამერის გასააქტიურებლად! გარეგნულად ეს არის მოსაწყენი განცხადება, მაგრამ მას შემდეგ რაც დაიწყებთ შედეგების გააზრებას, ის გახდება ძალიან ძლიერი. მხოლოდ ძაბვის დონის მონიტორინგით, თქვენი გამომწვევი შეიძლება იყოს სინათლეზე დაფუძნებული (LDR), ხმის საფუძველზე (მიკროფონი ან ულტრაბგერა), ტემპერატურაზე დაფუძნებული (თერმისტორი) ან თუნდაც უბრალო პოტენომეტრი. სინამდვილეში, თითქმის არაფერზე. თქვენ შეგიძლიათ ჩართოთ წრე სხვა კონტროლერთან და იმ პირობით, რომ მას შეუძლია მოგცეთ ლოგიკური გამომუშავება, ამრიგად, თქვენ შეგიძლიათ გამოიწვიოთ იგი. დიზაინის ერთადერთი მთავარი შეზღუდვა ის არის, რომ ის მუშაობს მხოლოდ IR ინტერფეისებით, საკმაოდ მარტივი იქნება პროგრამული უზრუნველყოფის და აპარატურის შეცვლა მინი USB- ის საშუალებით ან ნებისმიერი სახის ინტერფეისით. შენიშვნა: წყაროს კოდი: მე მივაწოდე რამდენიმე პროგრამა 13 -ე საფეხურზე. კოდი, რომელსაც ახლა ვუშვებ ჩემს კონტროლერზე, არის იქ hex ფაილში, მთავარ c ფაილთან და მის დამოკიდებულებებთან ერთად. თქვენ შეგიძლიათ უბრალოდ გაუშვათ ჩემი კოდი, თუ არ ხართ დარწმუნებული შედგენაში. მე ასევე შევიტანე კოდის ნიმუში, რომელიც შეგიძლიათ გამოიყენოთ სხვადასხვა საფეხურებში (მათ აშკარად ჰქვია დისტანციური_ტესტი, ინტერვალომეტრის ტესტი და ადკ ტესტი. თუ კოდს მივმართავ ეტაპობრივად, შანსები ის არის იქ. რედაქტირება: განახლება ბუშტები იფრქვევა - როგორც ჩანს, მე ცოტა მხედველობა მქონდა, როდესაც მე ვთქვი, რომ თქვენ შეგიძლიათ მარტივად გადაიღოთ ამომავალი ბუშტების ფოტოები. გამოდის, რომ საშუალო ბუშტის კანი ისე სწრაფად მოძრაობს, რომ თქვენი კამერის გაშეშებისთანავე სრულად გამოჩნდება. ეს არის პრობლემა უმეტეს კამერებთან, არა კონტროლერთან (რომელიც ADC- ს იგრძნობს დაახლოებით 120 კჰც სიხშირით). რა თქმა უნდა, ეს არის გამომწვევი ფლეშის გამოყენება, რაც შესაძლებელია თუ დაამატებთ დამატებით მავთულს და სხვა მცირე წრეს. თქვა, რომ თქვენ თეორიულად შეგიძლიათ გამოიყენოთ სხვა რამ მისი გასანათებლად და დაგვიანებით თამაშით (ან თუნდაც შეცვალოთ შეფერხების კოდი მიკროწამებში). ჰაერის გრანულს 1 მ 150ms-1 მანძილზე დაახლოებით 6-7 წმ სჭირდება, საკმარისი დრო რომ გამოიწვიოს და გადაიღოს იარაღის მხოლოდ გადაადგილება უზრუნველყოფს რამოდენიმე მიკროწამით ელემენტარულ შეფერხებას ს კიდევ ერთხელ, ბოდიშს გიხდით ამის შესახებ, მე ვითამაშებ ამაღამ, თუკი შემიძლია ხელში ავიღო რამდენიმე ბუშტი, მაგრამ აუდიო ჩამხშობი ჯერ კიდევ ბევრია, მაგალითად ფეიერვერკი! ქვემოთ დავწერე სწრაფი და ბინძური დროის ვადა იმის საჩვენებლად, რომ ის მუშაობს:) თუმცა არ დაგავიწყდეთ წაკითხვა, შეფასება და/ან ხმის მიცემა! გაიხარე, JoshDisclaimer იმ მოულოდნელ შემთხვევაში, როდესაც რაღაც საშინლად არასწორედ წავა ან თქვენ როგორღაც აგურით კამერას/დაათვალიერებთ თქვენს კატას, მე არაფერზე პასუხისმგებელი არ ვარ. ამ ინსტრუქციებზე დაფუძნებული პროექტის დაწყებით, თქვენ აღიარებთ ამას და განაგრძობთ საკუთარ რისკზე. თუ თქვენ გააკეთებთ ერთ -ერთ მათგანს, ან გამოიყენებთ ჩემს მითითებებს, რომ დაგეხმაროთ - გთხოვთ გამომიგზავნოთ ბმული/ფოტო, რომ შემიძლია ჩავრთო აქ! პასუხი ჯერჯერობით აბსოლუტური იყო (ყოველ შემთხვევაში ჩემი სტანდარტებით), ასე რომ გასაოცარი იქნებოდა იმის დანახვა, თუ როგორ განმარტავს ხალხი ამას. მე ვმუშაობ რედაქცია 2 -ზე, როგორც ვწერ;)

ნაბიჯი 1: რამდენიმე საწყისი აზრი…

მაშ, როგორ ვაპირებთ ავაშენოთ ეს? მიკროკონტროლერი ამ პროექტის გული და სული არის AVR ATMega8. ეს არსებითად არის ATMega168 ჩიპის ოდნავ დამსხვრეული ვერსია, რომელსაც Arduino იყენებს. ის არის პროგრამირებადი C ან ასამბლეაზე და აქვს მართლაც ბევრი სასარგებლო თვისება, რომელიც ჩვენ შეგვიძლია გამოვიყენოთ ჩვენს სასარგებლოდ. " "3 საბრძოლო ქრონომეტრი" შიდა ან გარე საათის წყარო "ბევრი კოდის ბიბლიოთეკა და ნიმუში ინტერნეტში ბევრი ქინძისთავის ქონა კარგია. ჩვენ შეგვიძლია შევუერთდეთ LCD ეკრანს, გვქონდეს 6 ღილაკი და ჯერ კიდევ გვაქვს საკმარისი შუქდიოდური შუქდიოდური სხივების გადასაღებად და ზოგიერთი სტატუსის LED- ით. Atmel AVR სერიის პროცესორებს გააჩნიათ ბევრი მხარდაჭერა ინტერნეტში და არსებობს უამრავი გაკვეთილი დაიწყო (მე ამას მოკლედ განვიხილავ, მაგრამ არის უკეთესი გამოყოფილი გაკვეთილები) და კოდების კვანძები და გროვები განსახილველად. ცნობისთვის, მე ვიმოწმებ ამ პროექტს C– ში AVR-LibC ბიბლიოთეკის გამოყენებით. მე შემეძლო ამის გაკეთება PIC– ით, მაგრამ AVR კარგად არის მხარდაჭერილი და ყველა მაგალითი, რაც მე ვიპოვე დისტანციური მართვისთვის, დაფუძნებულია AVR– ზე! LCD ჩვენება არის ჩვენების ორი ძირითადი ტიპი, გრაფიკული და ალფანუმერული. გრაფიკულ ეკრანს აქვს გარჩევადობა და შეგიძლიათ განათავსოთ პიქსელი სადაც გსურთ. მინუსი ის არის, რომ მათი კოდირება უფრო რთულია (თუმცა ბიბლიოთეკები არსებობს). ალფანუმერული ჩვენება არის სიმბოლოების ერთი ან მეტი რიგი, LCD– ს აქვს ძირითადი სიმბოლოების საბაზო მაღაზია (ანუ ანბანი, რიცხვები და სიმბოლოები) და შედარებით ადვილია სტრიქონების გამოტანა და სხვა. უარყოფითი მხარე ის არის, რომ ისინი არ არიან ისეთი მოქნილი და გრაფიკული სურათების ჩვენება პრაქტიკულად შეუძლებელია, მაგრამ ეს შეესაბამება ჩვენს მიზანს. ისინი ასევე უფრო იაფია! 2x16 საკმაოდ გავრცელებულია, ორი რიგი 16 სიმბოლოთი, თითოეული პერსონაჟი არის 5x8 მატრიცა. თქვენ ასევე შეგიძლიათ მიიღოთ 2x20 წამი, მაგრამ მე საჭიროებას ვერ ვხედავ. იყიდეთ ის, რასაც კომფორტულად გრძნობთ. მე ავირჩიე წითელი შუქდიოდური LCD– ის გამოყენება (მე მინდა გამოვიყენო ეს ასტროფოტოგრაფიისთვის და წითელი შუქი უკეთესია ღამის ხედვისთვის). შეგიძლიათ განათების გარეშე დარჩენა - ეს მთლიანად თქვენი არჩევანია. თუ აირჩევთ არა განათებულ მარშრუტს, თქვენ დაზოგავთ ენერგიას და ფულს, მაგრამ შეიძლება დაგჭირდეთ ჩირაღდანი სიბნელეში. LCD– ის ძებნისას უნდა დარწმუნდეთ, რომ ის კონტროლდება HD44780– ით. ეს არის ინდუსტრიის სტანდარტული პროტოკოლი, რომელიც შემუშავებულია ჰიტაჩის მიერ და არის ბევრი კარგი ბიბლიოთეკა, რომლითაც შეგვიძლია გამოვიყენოთ მონაცემები. მოდელი, რომელიც შევიძინე, იყო JHD162A eBay– დან. InputInput გაკეთდება ღილაკებით (მარტივი!). მე ავირჩიე 6 - რეჟიმის არჩევა, კარგი/გადაღება და 4 მიმართულება. ასევე ღირს კიდევ ერთი პატარა ღილაკის მიღება მიკრო ავარიის შემთხვევაში მიკრო გადატვირთვისთვის. რაც შეეხება ტრიგერის შეყვანას, ზოგიერთი ძირითადი იდეა არის სინათლეზე დამოკიდებული რეზისტორი ან ელექტრო მიკროფონი. ეს არის ადგილი, სადაც შეგიძლიათ გახდეთ შემოქმედებითი ან ძუნწი თქვენი ბიუჯეტის მიხედვით. ულტრაბგერითი სენსორები ცოტათი დაგიჯდებათ და დამატებით პროგრამირებას მოითხოვთ, მაგრამ თქვენ შეგიძლიათ მათთან მართლაც სუფთა საქმე გააკეთოთ. ადამიანების უმეტესობა კმაყოფილი იქნება მიკროფონით (ალბათ ყველაზე სასარგებლო ზოგადი სენსორით) და ელექტროები ძალიან იაფია. იცოდეთ, რომ ის ასევე უნდა გაძლიერდეს (მაგრამ ამას მოგვიანებით გავაგრძელებ). გამომავალი - სტატუსი ერთადერთი რეალური გამომავალი, რომელიც ჩვენ გვჭირდება არის სტატუსი (ეკრანის გარდა), ასე რომ, რამოდენიმე LED- ები კარგად იმუშავებს აქ. გამომავალი - სროლა სურათები, ჩვენ გვჭირდება კამერასთან დაკავშირება და ამისათვის ჩვენ გვჭირდება სინათლის წყარო, რომელსაც შეუძლია წარმოქმნას ინფრაწითელი გამოსხივება. საბედნიეროდ, არსებობს მრავალი LED, რომლებიც ამას აკეთებენ და თქვენ უნდა შეეცადოთ აიღოთ გონივრულად მაღალი სიმძლავრის. ჩემს მიერ არჩეულ ერთეულს აქვს 100mA max– ის ამჟამინდელი რეიტინგი (LED– ების უმეტესობა დაახლოებით 30 mA). თქვენ ასევე უნდა გაუფრთხილდეთ ტალღის სიგრძის გამომუშავებას. ინფრაწითელი შუქი არის EM სპექტრის უფრო გრძელი ტალღის ნაწილი და თქვენ უნდა ეძებოთ მნიშვნელობა დაახლოებით 850-950nm. უმეტესობა IR LED- ები მიემართება 950 დასასრულისკენ და თქვენ შეგიძლიათ ნახოთ ცოტა წითელი შუქი, როდესაც ის ჩართულია, ეს არ არის პრობლემა, მაგრამ გაფუჭებული სპექტრია, ასე რომ შეეცადეთ მიუახლოვდეთ 850 -ს, თუ ეს შესაძლებელია. ენერგია ეს? ისე, ეს იქნება პორტატული ასე ბატარეები! მე ავირჩიე გამოვიყენო 2 AA ბატარეა, რომლებიც შემდეგ გაძლიერდა 5 ვ -მდე. მე განვიხილავ ამის მიზეზს მომდევნო რამდენიმე მონაკვეთში. "გარსაცმები და მშენებლობა" როგორ გააკეთებთ ამას ცოტა თქვენზეა დამოკიდებული. მე გადავწყვიტე გამოვიყენო სტრიპტბორდი მიკროსქემისათვის პროტოტიპირების შემდეგ, რადგან ის იაფი და მოქნილია და ზოგავს პერსონალური PCB- ის დიზაინს. მე მოგაწოდეთ სქემები, ასე რომ თქვენ თავისუფლად შეგიძლიათ გააკეთოთ თქვენი საკუთარი PCB განლაგება - თუმცა თუ ასეა, მადლობელი ვიქნები ასლის ქონა! ისევ საქმე მთლიანად თქვენი არჩევანია, მას უნდა შეეძლოს ეკრანის, ღილაკების მორგება (საკმაოდ ინტუიციური განლაგებით თუ შესაძლებელია) და ბატარეები. როგორც მიკროსქემის დაფები მიდის, ეს არც ისე რთულია, ბევრი კავშირი უბრალოდ დაკავშირებულია ღილაკებთან/LCD- თან.

ნაბიჯი 2: ენერგიის მართვა

ენერგიის მენეჯმენტი
ენერგიის მენეჯმენტი

ენერგიის მენეჯმენტი მსგავსი პროექტისთვის აშკარაა, რომ პორტაბელურობა უნდა იყოს მთავარი ასპექტი. ამრიგად, ბატარეები არის ლოგიკური არჩევანი! ახლა, პორტატული მოწყობილობებისთვის, საკმაოდ მნიშვნელოვანია აირჩიოთ ბატარეის წყარო, რომელიც არის დატენვის ან ადვილად ხელმისაწვდომი. ორი ძირითადი ვარიანტია 9V PP3 ბატარეა ან AA ბატარეები. დარწმუნებული ვარ, ზოგიერთი ადამიანი ჩათვლის, რომ 9 ვ ბატარეა არის საუკეთესო ვარიანტი, რადგან ჰეი, 9 ვ უკეთესია ვიდრე 3 არა? ისე, არა ამ შემთხვევაში. 9 ვ ბატარეები, ძალიან სასარგებლო, წარმოქმნის მათ ძაბვას ბატარეის ხარჯზე. გაზომულია mAh (მილიამპერ საათში), ეს რეიტინგი გეუბნებათ თეორიულად რამდენ ხანს გაძლებს ბატარეა 1mA– ზე საათში (თუმცა მიიღეთ იგი მარილით, ეს ხშირად იდეალურ, დაბალ დატვირთვის პირობებშია). რაც უფრო მაღალია რეიტინგი, მით უფრო დიდხანს ძლებს ბატარეა. 9 ვ ბატარეები შეფასებულია 1000 mAh– მდე და დაახლოებით. ტუტე AA- ს მეორეს მხრივ აქვს თითქმის სამჯერ მეტი 2900mAh. NiMH გადატენვის საშუალებებს შეუძლიათ მიაღწიონ ამას, თუმცა 2500 mAh არის გონივრული თანხა (გაითვალისწინეთ, რომ დატენვის ბატარეები მუშაობენ 1.2 ვ -ზე და არა 1.5!). LCD ეკრანს სჭირდება 5V შეყვანა (10%) და AVR (მიკროკონტროლერს) სჭირდება დაახლოებით იგივე (თუმცა ის დაბალი სიხშირის საათის სიჩქარით შეიძლება შემცირდეს 2.7 -მდე). ჩვენ ასევე გვჭირდება საკმაოდ სტაბილური ძაბვა, თუ ის ცვალებადია, შეიძლება გამოიწვიოს პრობლემები მიკროკონტროლერთან. ამისათვის ჩვენ გამოვიყენებთ ძაბვის რეგულატორს, თქვენ უნდა გააკეთოთ არჩევანი ფასზე და ეფექტურობაზე ახლა. თქვენ გაქვთ შესაძლებლობა გამოიყენოთ მარტივი 3 პინიანი ძაბვის რეგულატორი, როგორიცაა LM7805 (78 სერია, +5 ვოლტი გამომავალი) ან მცირე ინტეგრირებული წრე. მარტივი მარეგულირებლის გამოყენებით რამდენიმე პუნქტის გათვალისწინებით. პირველ რიგში, სამ პინ -რეგულატორს თითქმის ყოველთვის სჭირდება შეყვანა, რომელიც უფრო მაღალია ვიდრე მათი გამომუშავება. შემდეგ ისინი ამცირებენ ძაბვას სასურველ მნიშვნელობამდე. მინუსი ის არის, რომ მათ აქვთ საშინელი ეფექტურობა (50-60% კარგია). მთავარი ის არის, რომ ისინი იაფია და იმუშავებს 9 ვ ბატარეით, თქვენ შეგიძლიათ აიღოთ ძირითადი მოდელი 20 პენსიანი ღირებულებით დიდ ბრიტანეთში. თქვენ ასევე უნდა გაითვალისწინოთ, რომ რეგულატორებს აქვთ ვარდნის ძაბვა - მინიმალური უფსკრული შეყვანისა და გამომავალს შორის. თქვენ შეგიძლიათ შეიძინოთ სპეციალური LDO (Low DropOut) რეგულატორები, რომლებსაც აქვთ მიტოვება 50 მვ-ზე (სხვა დიზაინებთან შედარებით 1-2 ვ-თან შედარებით). სხვა სიტყვებით რომ ვთქვათ, გადახედეთ LDO– ს +5V გამომავალი. ინტეგრირებული წრის გამოყენება იდეალური გზაა გადართვის მარეგულირებელი. ეს იქნება, ჩვენი მიზნისთვის, ჩვეულებრივ 8 პინიანი პაკეტები, რომლებიც იღებენ ძაბვას და გვაძლევენ რეგულირებად გამომუშავებას მაღალი ეფექტურობით - ზოგიერთ შემთხვევაში თითქმის 90%. თქვენ შეგიძლიათ გააძლიეროთ ან დაიწიოთ გადამყვანები (შესაბამისად გაზარდეთ/დაათვალიერეთ) იმისდა მიხედვით, თუ რისი ჩადება გსურთ, ალტერნატიულად შეგიძლიათ შეიძინოთ რეგულატორები, რომლებიც მიიღებენ სასურველ გამომუშავებას ზემოთ ან ქვემოთ. ჩიპი, რომელსაც მე ვიყენებ ამ პროექტისთვის არის MAX619+. ეს არის 5 ვ-ის შემდგომი რეგულატორი, რომელიც იღებს 2 AA- ს (შეყვანის დიაპაზონი არის 2V-3.3V) და იძლევა სტაბილურ 5V გამოსვლას. მას მხოლოდ ოთხი კონდენსატორი სჭირდება და ძალიან ეფექტურია სივრცეში. ღირებულება -.00 3.00 the თავსახურის ჩათვლით. სავარაუდოდ, ღირს გაფრქვევა მხოლოდ იმისათვის, რომ ცოტა მეტი გამოვიყენოთ თქვენი ბატარეებიდან. ერთადერთი მნიშვნელოვანი მინუსი ის არის, რომ ის არ არის დაცული მოკლე ჩართვისგან, ასე რომ, თუკი არსებობს მიმდინარე ტალღა, გაფრთხილდით! ეს არის გონივრულად უმნიშვნელო დაფიქსირება დამატებით ჩართვაზე: კიდევ ერთი სასარგებლო ჩიპის დიზაინი - თუმცა არც ისე სუფთა გამოსავალია LT1307. ისევ და ისევ, 5V რეგულატორი, მაგრამ მას შეუძლია მიიღოს სხვადასხვა სახის შეყვანა და აქვს სასარგებლო რამ, როგორიცაა დაბალი ბატარეის გამოვლენა. ეს საკმაოდ costs5 ღირს ინდუქტორებით, დიდი კონდენსატორებითა და რეზისტენტებით. ძაბვის რელსები ჩვენ ვიყენებთ ორ ძირითად ძაბვის რელსებს (პლიუს საერთო საფუძველი). პირველი იქნება 3V ბატარეიდან, ის გამოყენებული იქნება LED- ების და სხვა შედარებით მაღალი სიმძლავრის კომპონენტების დასაყენებლად. ჩემი MAX619 შეფასებულია მხოლოდ 60mA– მდე (თუმცა აბსოლუტური მაქსიმალური არის 120mA), ასე რომ უფრო ადვილია მიკროკონტროლერის დაკავშირება MOSFET– თან, ნებისმიერი LED- ების გასაკონტროლებლად. MOSFET თითქმის არ ახორციელებს მიმდინარეობას და მოქმედებს როგორც წრეში შესვენება, როდესაც კარიბჭის შესასვლელი არის დაახლოებით 3 ვ. როდესაც მიკროკონტროლერი აგზავნის ლოგიკურ 1 -ს პინზე, ძაბვა არის 5V და FET ჩართულია, შემდეგ კი მოქმედებს როგორც მოკლე ჩართვა (ანუ მავთულის ნაჭერი). 5V სარკინიგზო ძაბვა უზრუნველყოფს LCD- ს, მიკროკონტროლერს და ნებისმიერი გამაძლიერებელი სქემას შეყვანის სენსორები. ენერგიის მოხმარება LCD– ს მხოლოდ 1 mA სჭირდება მუშაობისთვის (ყოველ შემთხვევაში, როდესაც გავტესტე, ბიუჯეტი 2 – ია). შუქის განათებით, თქვენ გადასაწყვეტია. 5V სარკინიგზო ხაზთან პირდაპირ დაკავშირება (მე შევეცადე) კარგია, მაგრამ სანამ დარწმუნდებით დარწმუნდით, რომ მას აქვს საბორტო რეზისტორი (მიჰყევით PCB– ს კვალს). ამ გზით 30 mA გაიყვანა - საშინელი! 3.3k რეზისტორით ის ჯერ კიდევ შესამჩნევია (იდეალურია ასტრო ფოტოგრაფიისთვის) და მხოლოდ 1 mA- ს ამახვილებს. თქვენ კვლავ შეგიძლიათ მიიღოთ ღირსეული სიკაშკაშე 1k ან სხვა გზით. მე კარგად ვარ ჩემი ნახატით მხოლოდ 2 mA– ით, განათების შუქზე ჩართული! თუ გსურთ, უმნიშვნელოა დაამატოთ სიკაშკაშის ღილაკი 10k პოტენომეტრის გამოყენებით. IR LED- ს შესაძლოა 100mA მაქსიმუმი დასჭირდეს, მაგრამ 60mA- სთან ერთად კარგი შედეგები მაქვს (ექსპერიმენტი!). ამის შემდეგ შეგიძლიათ განახევროთ ის დენი, რადგან თქვენ ეფექტურად მუშაობთ 50% –იანი ციკლის დროს (როდესაც LED მოდულირდება). ყოველ შემთხვევაში, ის მხოლოდ წამია, ასე რომ ჩვენ არ გვჭირდება ამაზე ფიქრი. სხვა LED- ები, რომლებთანაც უნდა ითამაშო, შეიძლება აღმოაჩინო, რომ მხოლოდ 10 mA დენი საკმარისია იმისათვის, რომ მოგაწოდოს კარგი სიკაშკაშე - რა თქმა უნდა გამოიყურება დაბალი სიმძლავრის LED- ებისთვის (IR- ის გამოკლებით), თქვენ არ შექმნით ლამპარს! მე ავირჩიე არ დავამატო სიმძლავრის მაჩვენებელი ჩემს წრედში, უბრალოდ იმიტომ, რომ ეს არის ბევრი მიმდინარე გათამაშება არასაკმარისი გამოყენებისთვის. გამოიყენეთ ჩართვის/გამორთვის გადამრთველი, რომ შეამოწმოთ ჩართულია თუ არა! საერთო ჯამში, თქვენ არ უნდა მუშაობდეთ 30 mA- ზე მეტს ნებისმიერ დროს და თეორიული მარაგით დაახლოებით 2500 (ვარიაციის საშუალებას იძლევა) mAh, რომელიც უნდა მოგცეთ 80 საათზე მეტხანს პირდაპირ ყველაფერთან ერთად. პროცესორის უმეტესი დროის განმავლობაში ეს მინიმუმ გაორმაგდება/სამჯერ, ასე რომ თქვენ არ უნდა შეცვალოთ თქვენი ბატარეები ძალიან ხშირად. დასკვნა ჩვენ მივდივართ, ადვილი იყო არა შეგიძლიათ ან იაფად და ხალისიანად იმოძრაოთ 9 ვ ბატარეით და LDO რეგულატორით ეფექტურობის ხარჯზე, ან გადაიხადოთ ცოტა მეტი და ამისთვის გამოიყენოთ სპეციალური IC. ჩემი ბიუჯეტი ჯერ კიდევ 20 -ზე ნაკლები იყო თუნდაც IC– ით, ასე რომ თქვენ შეგიძლიათ კიდევ უფრო მეტად ჩამოაგდოთ იგი საჭიროების შემთხვევაში.

ნაბიჯი 3: უფრო ახლოს შეხედეთ ATmega8

უფრო ახლოს შევხედოთ ATmega8
უფრო ახლოს შევხედოთ ATmega8

PinsImage 1 არის ATMega8– ის pinout დიაგრამა (ზუსტად იგივე, რაც 168/48/88, ერთადერთი განსხვავება არის ბორტ მეხსიერებისა და შეწყვეტის ვარიანტების რაოდენობა). PIN 1 - გადატვირთვა, უნდა ჩატარდეს VCC ძაბვაზე (ან მინიმუმ ლოგიკური 1). დამიწების შემთხვევაში, მოწყობილობა რბილად გადატვირთავს პინ 2-6 - პორტი D, ზოგადი შეყვანა/გამომავალი პინი 7 - VCC, მიწოდების ძაბვა (ჩვენთვის+5V) Pin 8 - GroundPin 9, 10 - XTAL, გარე საათის შეყვანა (პორტის B ნაწილი) პინი 11 - 13 პორტი D, ზოგადი შეყვანა/გამომავალი პინი 14 - 19 პორტი B, ზოგადი შეყვანა/გამომავალი პინი 20 - AVCC, ანალოგური მიწოდების ძაბვა (იგივე VCC) პინი 21 - AREF, ანალოგური ძაბვის ცნობა პინი 22 - გრუნტი პინი 23-28 პორტი C ზოგადი შეყვანა/გამომავალი გამოსაყენებელი i/o პორტები: D = 8, C = 6, B = 6 სულ 20 გამოსაყენებელი პორტი შესანიშნავია, სიმარტივისთვის თქვენ უნდა დააჯგუფოთ თქვენი შედეგები პორტებში (ვთქვათ, D როგორც გამომავალი პორტი) ან ჯგუფები დაფაზე - თქვენ შეიძლება გინდათ რომ LCD გაუშვას პორტი C– დან მხოლოდ იმისათვის, რომ ამ კუთხეში მავთულები მოწესრიგებული იყოს. პროგრამირებისთვის საჭიროა სამი დამატებითი ქინძისთავი. ესენია MISO (18), MOSI (17) და SCK (19).ეს სიხარულით იმოქმედებს, როგორც i/o ქინძისთავები, თუმცა საჭიროების შემთხვევაში. დაბლოკვა სიგნალი, რომელსაც ჩვენ კამერას ვუგზავნით, უნდა იყოს ზუსტად დროული (ზუსტი მიკროწამში), ამიტომ მნიშვნელოვანია, რომ შევარჩიოთ კარგი საათის წყარო. ყველა AVR– ს აქვს შიდა ოსცილატორი, საიდანაც ჩიპს შეუძლია საათის ამოღება. ამის მინუსი ის არის, რომ მათ შეუძლიათ ტემპერატურის/წნევის/ტენიანობის 10% –მდე მერყეობა. რისი გაკეთებაც შეგვიძლია ამის წინააღმდეგ საბრძოლველად არის გარე კვარცის კრისტალის გამოყენება. ესენი ხელმისაწვდომია 32768kHz– დან (საათი) და 20 MHz– მდე. მე ავირჩიე 4Mhz ბროლის გამოყენება, რადგან ის უზრუნველყოფს საკმარის სიჩქარეს, მაგრამ საკმაოდ კონსერვატიულია, ვიდრე ალბათ 8Mhz+. ფაქტობრივად, მე დავწერე პირველი ვერსია, რომელიც დიდწილად ეყრდნობოდა პროცესორის მუშაობას დროის გასვლის დროს. სამწუხაროდ, დროის შეზღუდვის გამო, მე შევეჯახე ზოგიერთ საკითხს საათის გარედან გაშვებისა და ტაიმერების გამოყენების შეწყვეტისას. არსებითად, მე უნდა გადამეწერა კოდი იმისთვის, რომ კონტროლერთან გამეღვიძა უბრალოდ არ ვიღვიძებ - რისი გაკეთებაც შემეძლო, მაგრამ დრო ჩემს წინააღმდეგაა. როგორც ასეთი, მოწყობილობა მხოლოდ 20mA იშებს, ასე რომ თქვენ შეგიძლიათ თავი დააღწიოთ მას. თუ თქვენ ნამდვილად მხარს უჭერთ მას, მაშინ ყველანაირად გაუმკლავდეთ კოდს, ყველაფერი რაც თქვენ გჭირდებათ არის შინაგანი საათის დაყენება და შემდეგ ტაიმერი 2 ასინქრონული რეჟიმში გაშვება 4 მჰც ბროლის გამოყენებით უფრო ზუსტი შეფერხებებისათვის. ამის გაკეთება მარტივია, მაგრამ შრომატევადი. ADCT ის შვეიცარიული ჯარის დანა AVR ინსტრუმენტთა ნაკრებში, ADC დგას ციფრული ანალოგური გადამყვანის მნიშვნელობით. როგორ მუშაობს ეს გარედან შედარებით მარტივია. ძაბვის აღება ხდება პინზე (ზოგიერთი სენსორისგან ან სხვა შეყვანისგან), ძაბვა გარდაიქმნება ციფრულ მნიშვნელობად 0 -დან 1024 -მდე. 1024 -ის მნიშვნელობა დაფიქსირდება, როდესაც შეყვანის ძაბვა უდრის ADC საცნობარო ძაბვას. თუ ჩვენ დავაყენებთ ჩვენს მითითებას VCC (+5V), მაშინ თითოეული განყოფილება არის 5/1024 V ან დაახლოებით 5mV. ამრიგად, პინზე 5mV- ის ზრდა გაზრდის ADC მნიშვნელობას 1 -ით. ჩვენ შეგვიძლია მივიღოთ ADC გამომავალი მნიშვნელობა, როგორც ცვლადი და შემდეგ ვიჩხუბოთ მასთან, შევადაროთ ის ნივთებთან და ა.შ. კოდში. ADC არის წარმოუდგენლად სასარგებლო ფუნქცია და გაძლევთ საშუალებას გააკეთოთ ბევრი მაგარი რამ, როგორიცაა თქვენი AVR ოსცილოსკოპად გადაქცევა. შერჩევის სიხშირეა დაახლოებით 125kHz და უნდა იყოს დადგენილი ძირითადი საათის სიხშირის პროპორციულად. რეგისტრატორები თქვენ შეიძლება გსმენიათ ადრე რეგისტრების შესახებ, მაგრამ ნუ გეშინიათ! რეგისტრი არის უბრალოდ AVR მეხსიერებაში არსებული მისამართების (ადგილების) კრებული. რეგისტრები კლასიფიცირდება მათი ბიტის ზომით. 7 ბიტიან რეგისტრს აქვს 8 მდებარეობა, ჩვენ ვიწყებთ 0 -დან. არსებობს რეესტრები თითქმის ყველაფრისთვის და ჩვენ მათ უფრო დეტალურად შევხედავთ მოგვიანებით. ზოგიერთი მაგალითი მოიცავს PORTx რეგისტრებს (სადაც x არის B, C ან D), რომელიც აკონტროლებს ქინძისთავის დაყენებას მაღალია თუ დაბალი და ადგენს რეზისტორებს შეყვანისთვის, DDRx რეგისტრირებს, რომელიც ადგენს არის თუ არა pin გამომავალი თუ შემავალი და ა. ლიტერატურის მონაცემთა ბაზა, რომლის წონაა 400 გვერდი; AVR მონაცემთა ცხრილები ფასდაუდებელი მითითებაა თქვენი პროცესორისთვის. ისინი შეიცავს დეტალებს ყველა რეგისტრის, თითოეული პინის, როგორ მუშაობს ქრონომეტრები, რა დაუკრავენ რა და ბევრად უფრო. ისინი უფასოა და თქვენ დაგჭირდებათ ადრე თუ გვიან, ასე რომ გადმოწერეთ ასლი! Www.atmel.com/dyn/resources/prod_documents/doc2486.pdf

ნაბიჯი 4: ქინძისთავების გამოყოფა

ქინძისთავების გამოყოფა
ქინძისთავების გამოყოფა

მე უკვე აღვნიშნე ჩვენთვის საჭირო შეყვანა და გამოსავალი, ამიტომ ჩვენ უნდა გამოვყოთ ისინი ქინძისთავები! ახლა, PORT D– ს აქვს 8 პინი, რაც მოსახერხებელია, რადგან მას შეუძლია იმოქმედოს როგორც ჩვენი გამომავალი პორტი. LCD– ს მუშაობისთვის სჭირდება 7 ქინძი - 4 მონაცემთა პინი და 3 საკონტროლო პინი. IR LED მოითხოვს მხოლოდ ერთ პინს, ასე რომ ჩვენი 8. პორტი იქნება ჩვენი ღილაკის პორტი, მას აქვს 6 შესასვლელი, მაგრამ ჩვენ დაგვჭირდება მხოლოდ 5. ეს იქნება რეჟიმი და მიმართულების ღილაკები. PORTC არის განსაკუთრებული, ეს არის ADC პორტი. ჩვენ გვჭირდება მხოლოდ ერთი პინგერი ტრიგერის შეყვანისთვის და აზრი აქვს მას PC0- ზე (საერთო აბრევიატურა პორტის ქინძისთავებისთვის ამ შემთხვევაში Port C, Pin 0). შემდეგ ჩვენ გვაქვს რამოდენიმე ქინძისთავი სტატუსის LED- ებისთვის (ერთი ანათებს, როდესაც ADC მნიშვნელობა აღემატება ზოგიერთ მდგომარეობას, მეორე ანათებს, როდესაც ის გარკვეულ მდგომარეობაზე დაბალია). ჩვენ ასევე ვაპირებთ ჩვენი ok/shoot ღილაკის შეყვანას აქ, იმ მიზეზების გამო, რომელიც მოგვიანებით გახდება ნათელი. ყოველივე ამის შემდეგ, ჩვენ გამოვიყენეთ პორტების უმრავლესობა, მაგრამ ჩვენ გვრჩება რამდენიმე, თუ გსურთ პროექტის გაფართოება - ალბათ მრავალი გამომწვევი?

ნაბიჯი 5: კამერასთან ურთიერთობა

კამერასთან ურთიერთობა
კამერასთან ურთიერთობა
კამერასთან ურთიერთობა
კამერასთან ურთიერთობა

პირველი პრიზი ციფრული დღეების ფოტოკონკურსში

გირჩევთ: