Isi kandungan:

Bina Pengawal Kamera Tanpa Wayar Berbilang Fungsi Sendiri (murah!): 22 Langkah (dengan Gambar)
Bina Pengawal Kamera Tanpa Wayar Berbilang Fungsi Sendiri (murah!): 22 Langkah (dengan Gambar)

Video: Bina Pengawal Kamera Tanpa Wayar Berbilang Fungsi Sendiri (murah!): 22 Langkah (dengan Gambar)

Video: Bina Pengawal Kamera Tanpa Wayar Berbilang Fungsi Sendiri (murah!): 22 Langkah (dengan Gambar)
Video: CCTV Tanpa Kabel dgn AI, Mudah Dipasang, Baterai Awet, dan Banyak Fitur Menarik: Review EZVIZ BC1 2024, November
Anonim
Bina Pengawal Kamera Tanpa Wayar Berbilang Fungsi Sendiri (murah!)
Bina Pengawal Kamera Tanpa Wayar Berbilang Fungsi Sendiri (murah!)
Bina Pengawal Kamera Tanpa Wayar Berbilang Fungsi Sendiri (murah!)
Bina Pengawal Kamera Tanpa Wayar Berbilang Fungsi Sendiri (murah!)
Bina Pengawal Kamera Tanpa Wayar pelbagai fungsi anda sendiri (murah!)
Bina Pengawal Kamera Tanpa Wayar pelbagai fungsi anda sendiri (murah!)

Pendahuluan Adakah anda suka membina pengawal kamera anda sendiri? CATATAN PENTING: Kapasitor untuk MAX619 adalah 470n atau 0.47u. Skema betul, tetapi senarai komponen salah - dikemas kini. Ini adalah penyertaan dalam pertandingan Digital Days jadi jika anda menganggapnya berguna, sila beri penilaian / suara / komen dengan baik! Sekiranya anda benar-benar menyukainya dan menjadi penyekat, tekan "Saya suka!":) Kemas kini: dipaparkan di hackaday! hackaday.com/2009/10/13/a-different-breed-of-camera-controllers/ Kemas kini: foto baru pencetus laser dalam tindakan! Kemas kini: Hadiah Pertama = D, terima kasih kerana mengundi dan / atau memberi penilaian! Ini boleh diarahkan terutamanya untuk kepentingan pengguna SLR yang ingin mendapatkan jarak tempuh lebih jauh dari kamera mereka, namun jika ada titik dan pukulan dengan antara muka IR, anda mungkin menganggapnya menarik. Tentunya ini juga akan berfungsi (dengan sedikit pengubahsuaian) dengan penggodaman kamera di mana anda boleh memasukkan output logik ke terminal pencetus kamera. Ini bermula sebagai tutorial penuh, tetapi disebabkan oleh beberapa kekangan yang tidak dijangka yang saya temui di kemudian hari, ini mungkin lebih merupakan panduan bagaimana menyelesaikan pelbagai perkara - saya akan sering memberi anda pilihan bagaimana anda boleh melakukan perkara yang saya fikir adalah cara yang lebih baik untuk melakukan sesuatu daripada sekadar mengatakan "anda mesti melakukan ini" secara membabi buta. Anggaplah ini sebagai pelajaran dalam reka bentuk pengawal kamera. Saya telah memberikan skema dan kod penuh supaya anda selalu menyalinnya. Ini akan menjadi kes mudah untuk memindahkan reka bentuk ke papan jalur dan menambahkan LCD untuk kebanyakan orang. Saya telah melalui cara membuat papan roti kerana prosesnya sangat serupa dan memungkinkan untuk membetulkan kesilapan sebelum anda menjadikan reka bentuk kekal! Ciri-ciri: Mod mod pukulan tunggal Mod selang (selang waktu) Mod pukulan terpicu (pencetus dari sensor luaran) dengan keadaan berubah-ubah Reka bentuk sensor yang disertakan - cahaya, bunyi (lebih mungkin!) Jumlah kos - di bawah £ 25 (tidak termasuk alat) Paparan LCD untuk perubahan tetapan yang mudah Sesuai dengan Nikon / Canon (dikodkan), sokongan berpotensi (belum diuji) untuk Olympus / Pentax Tiada firmware diperlukan pengubahsuaian Menggunakan IR jadi tidak wayarles dan tidak merosakkan kamera anda Saya mempunyai idea untuk ini setelah duduk di luar dalam keadaan sejuk mengklik alat kawalan jauh saya selama berjam-jam. Saya melakukan selang 8 saat untuk sekitar 1000 tangkapan. Saya fikir, hei, itu hanya LED IR bukan? Mengapa saya tidak dapat menirunya dan membuat alat kawalan jauh saya sendiri dengan kelewatan bawaan? Saya kemudian mengetahui (agak memalukan, kerana saya fikir saya mempunyai gelombang otak yang besar) bahawa ini telah dilakukan dan bahkan ada beberapa petunjuk mengenai topik ini. Di mana pelaksanaan saya berbeza dari kebanyakan intervalometer dan alat kawalan jauh adalah bahawa ia memungkinkan banyak penyesuaian dan modulariti, serasi dengan Nikon / Canon (dan mungkin yang lain kemudian) dan menggabungkan kemampuan untuk mengambil gambar pada pemicu tertentu. Idea itu mudah. Anda mahu mengambil gambar sesuatu dengan pantas (saat ini dibatasi oleh kelewatan pengatup anda, untuk saya 6 ms). Terdapat pelbagai kaedah untuk melakukan ini: 1. Percubaan dan kesalahan anda cuba mengambil gambar pada saat yang tepat 2. Percubaan dan kesilapan yang lebih baik apabila anda mengaburkan ruangan, letakkan kamera anda pada lampu (shutter terbuka) dan nyalakan lampu kilat pada masa yang tepat 3. Beli pengawal pencetus khas yang mempunyai semacam sensor audio / cahaya untuk mengambil gambar mengikut arahan anda 4. Bangun sendiri! Ok, 1 dan 2 baik untuk bermain-main dan dapat menghasilkan beberapa gambar yang sangat baik. Tetapi apa yang akan saya tunjukkan adalah mungkin untuk membina litar yang akan memberi anda hasil yang konsisten berulang kali. Yang paling penting, pada masa-masa yang sukar ini, kosnya lebih rendah daripada model alternatif (beberapa orang telah menghasilkan alat untuk melakukan perkara seperti ini, tetapi mereka memerlukan banyak tautan). Fleksibiliti reka bentuk adalah seperti ini: Sekiranya sensor anda menghasilkan voltan output antara 0 dan 5V, anda boleh menggunakannya untuk mencetuskan kamera anda! Ini adalah kenyataan yang membosankan, tetapi apabila anda mula memahami implikasinya, ia menjadi sangat kuat. Dengan hanya memantau tahap voltan, pemicu anda mungkin berdasarkan cahaya (LDR), berdasarkan suara (mikrofon atau ultrasound), berdasarkan suhu (termistor) atau bahkan potensiometer sederhana. Sebenarnya, apa sahaja. Anda bahkan boleh menghubungkan litar ke pengawal lain dan dengan syarat ia dapat memberikan output logik, sehingga anda dapat mencetuskannya. Satu-satunya batasan utama reka bentuk pada masa ini adalah bahawa ia hanya berfungsi dengan antara muka IR, cukup mudah untuk mengubah perisian dan perkakasan ke output melalui mini-USB atau apa sahaja jenis antara muka yang diperlukan. Catatan: Kod Sumber: Saya telah memberikan beberapa aplikasi pada langkah 13. Kod yang saya jalankan pada pengawal saya seperti sekarang terdapat di dalam fail hex bersama dengan fail c utama dan kebergantungannya. Anda hanya boleh menjalankan kod saya jika anda tidak pasti mengenai penyusunan. Saya juga telah memasukkan beberapa contoh kod yang boleh anda gunakan dalam pelbagai langkah (jelas dinamakan seperti ujian jarak jauh, ujian intervalometer dan ujian adc. Sekiranya saya merujuk kod dalam satu langkah, kemungkinan ada di dalamnya. EDIT: Kemas kini mengenai belon muncul - nampaknya saya agak pendek ketika saya mengatakan anda dapat dengan mudah mengambil gambar belon yang muncul. Ternyata kulit pada belon rata-rata bergerak begitu cepat sehingga ia akan muncul sepenuhnya pada saat kamera anda terbakar. Ini adalah masalah dengan kebanyakan kamera, BUKAN pengawal (yang merasakan ADC pada kadar sekitar 120kHz). Cara ini adalah dengan menggunakan lampu kilat yang dicetuskan, yang boleh dilakukan jika anda menambahkan wayar tambahan dan litar kecil yang lain. berkata, secara teori anda boleh menggunakan sesuatu yang lain untuk memasukkannya dan bermain dengan kelewatan (atau bahkan menukar kod penangguhan untuk memasukkan mikrodetik). Pelet udara yang bergerak sejauh 1m pada 150ms-1 mengambil masa sekitar 6-7ms, cukup masa untuk mencetuskan dan menembak Hanya menggerakkan pistol akan memberikan kelewatan dasar beberapa mikrodetik s. Sekali lagi, maaf mengenai perkara ini, saya akan bermain malam ini jika saya dapat menangkap beberapa belon, tetapi masih banyak kegunaan untuk pencetus audio, seperti bunga api! Saya telah meletakkan selang masa yang cepat dan kotor di bawah untuk menunjukkan bahawa ia berfungsi::) Jangan lupa membaca, menilai dan / atau mengundi! Cheers, JoshDisclaimer Sekiranya sesuatu yang tidak diingini berlaku atau anda entah bagaimana membuat kamera anda / menggerogoti kucing anda, saya tidak bertanggungjawab untuk apa-apa. Dengan memulakan projek berdasarkan arahan ini, anda menerimanya dan meneruskan risiko anda sendiri. Sekiranya anda membuat salah satu daripada ini, atau menggunakan arahan saya untuk membantu anda - sila hantarkan pautan / foto kepada saya supaya saya dapat memasukkannya ke sini! Sambutannya begitu luar biasa setakat ini (sekurang-kurangnya mengikut piawaian saya) jadi sangat mengagumkan untuk melihat bagaimana orang menafsirkannya. Saya sedang menjalankan semakan 2 semasa saya menaip;)

Langkah 1: Beberapa Pemikiran Awal …

Jadi, bagaimana kita akan membina perkara ini? Pengawal mikro Hati dan jiwa projek ini adalah AVR ATMega8. Ini pada dasarnya adalah versi cip ATMega168 yang dipangkas sedikit yang digunakan oleh Arduino. Ia dapat diprogram dalam C atau Assembly dan mempunyai berbagai fitur yang sangat berguna yang dapat kita gunakan untuk keuntungan kita. "28 pin, yang kebanyakannya adalah input / output (i / o)" Onboard analog to digital converter "Penggunaan tenaga rendah "3 pemasa onboard" Sumber jam dalaman atau luaran "Banyak perpustakaan kod dan sampel dalam talian Mempunyai banyak pin bagus. Kami dapat berinteraksi dengan layar LCD, mempunyai 6 input butang dan masih ada cukup baki untuk IR IR untuk menembak dan beberapa LED status. Siri pemproses Atmel AVR mempunyai banyak sokongan dalam talian dan terdapat banyak tutorial untuk mendapatkan bermula (saya akan membahas ini sebentar, tetapi ada tutorial khusus yang lebih baik) dan timbunan dan timbunan kod untuk dipertimbangkan. Sebagai rujukan, saya akan mengkodkan projek ini di C menggunakan perpustakaan AVR-LibC. Saya boleh pergi dengan PIC dengan mudah untuk melakukan ini, tetapi AVR disokong dengan baik dan semua contoh yang saya temui untuk alat kawalan jauh telah berasaskan AVR! adalah dua jenis paparan utama, grafik dan alfanumerik. Paparan grafik mempunyai resolusi dan anda boleh meletakkan piksel di mana sahaja anda suka. Kelemahannya adalah bahawa mereka lebih sukar untuk membuat kod (walaupun perpustakaan ada). Paparan alfanumerik hanyalah satu atau lebih baris aksara, LCD mempunyai simpanan watak asas (iaitu abjad, beberapa nombor dan simbol) di dalamnya dan agak mudah untuk mengeluarkan rentetan dan sebagainya. Kelemahannya adalah mereka tidak fleksibel dan memaparkan grafik hampir mustahil, tetapi sesuai dengan tujuan kita. Mereka juga lebih murah! Alphanumerics dikategorikan mengikut bilangan baris dan lajur mereka. 2x16 cukup biasa, dengan dua baris 16 aksara, setiap watak menjadi matriks 5x8. Anda boleh mendapatkan 2x20 s juga, tetapi saya tidak melihat keperluannya. Beli apa sahaja yang anda rasa selesa. Saya memilih untuk menggunakan LCD lampu latar merah (saya mahu menggunakannya untuk astrofotografi dan lampu merah lebih baik untuk penglihatan malam). Anda boleh pergi tanpa lampu latar - ini sepenuhnya pilihan anda. Sekiranya anda memilih laluan tanpa lampu latar, anda akan menjimatkan kuasa dan wang, tetapi anda mungkin memerlukan obor dalam kegelapan. Semasa mencari LCD, anda harus memastikan bahawa ia dikendalikan oleh HD44780. Ini adalah protokol standard industri yang dikembangkan oleh Hitachi dan ada banyak perpustakaan bagus yang dapat kita gunakan untuk mengeluarkan data. Model yang saya beli adalah JHD162A dari eBay. InputInput akan dilakukan dengan butang (sederhana!). Saya memilih 6 - mod pilih, ok / tembak dan 4 arah. Ia juga bernilai mendapatkan butang kecil lain untuk menetapkan semula mikro sekiranya berlaku kemalangan. Adapun input pencetus, beberapa idea asas adalah perintang bergantung cahaya atau mikrofon electret. Di sinilah anda boleh menjadi kreatif atau pelik bergantung pada anggaran anda. Sensor ultrabunyi akan memerlukan kos yang lebih tinggi dan memerlukan beberapa pengaturcaraan tambahan tetapi anda boleh melakukan beberapa perkara yang sangat kemas dengannya. Kebanyakan orang akan berpuas hati dengan mikrofon (mungkin sensor umum yang paling berguna) dan elektrik sangat murah. Ketahuilah bahawa ia juga perlu diperkuat (tetapi saya akan membincangkannya kemudian). Output - Status Satu-satunya output sebenar yang kita perlukan adalah status (selain paparan), jadi beberapa LED akan berfungsi dengan baik di sini. gambar, kita perlu berinteraksi dengan kamera dan untuk itu kita memerlukan sumber cahaya yang dapat menghasilkan sinaran infra merah. Syukurlah, terdapat banyak LED yang melakukan ini dan anda harus mencuba menggunakan satu kuasa yang cukup tinggi. Unit yang saya pilih mempunyai nilai maksimum 100mA semasa (kebanyakan LED sekitar 30mA). Anda juga harus berhati-hati untuk mengetahui output panjang gelombang. Cahaya inframerah berada di bahagian panjang gelombang spektrum EM yang lebih panjang dan anda semestinya mencari nilai sekitar 850-950nm. Sebilangan besar LED IR cenderung ke hujung 950 dan anda mungkin melihat sedikit cahaya merah ketika dihidupkan, ini tidak menjadi masalah, tetapi spektrum terbuang jadi cubalah mendekati 850 jika mungkin. Kuasa Bagaimana kita akan mengaktifkan semua ini? Baiklah, ia boleh dibawa jadi bateri! Saya memilih untuk menggunakan 2 bateri AA yang kemudian dinaikkan hingga 5V. Saya akan mengulas alasan di sebalik ini dalam beberapa bahagian seterusnya. 'Sarung dan Pembinaan' Bagaimana anda melakukan ini sepenuhnya bergantung kepada anda. Saya memutuskan untuk menggunakan papan jalur untuk litar setelah membuat prototaip kerana ia murah dan fleksibel dan menjimatkan merancang PCB tersuai. Saya telah memberikan skema supaya anda bebas membuat susun atur PCB anda sendiri - walaupun jika anda melakukannya, saya akan berterima kasih kerana mempunyai salinannya! Sekali lagi kes ini adalah pilihan anda, ia mesti sesuai dengan skrin, butang (dalam susun atur yang cukup intuitif jika boleh) dan baterinya. Semasa papan litar berjalan, yang satu ini tidak terlalu rumit, banyak sambungan hanya untuk perkara seperti butang / LCD.

Langkah 2: Pengurusan Kuasa

Pengurusan tenaga
Pengurusan tenaga

Pengurusan KuasaUntuk projek seperti ini, jelas bahawa kemudahan mudah alih harus menjadi aspek utama. Oleh itu, bateri adalah pilihan yang logik! Sekarang, untuk peranti mudah alih adalah sangat penting anda memilih sumber bateri yang boleh dicas semula atau mudah didapati. Dua pilihan utama ialah bateri 9V PP3 atau bateri AA. Saya pasti beberapa orang akan menganggap bahawa bateri 9V adalah pilihan terbaik kerana hei, 9V lebih baik daripada 3 kan? Baiklah, tidak dalam kes ini. Bateri 9V walaupun sangat berguna, menghasilkan voltan dengan mengorbankan jangka hayat bateri. Diukur dalam mAh (jam miliamp), penarafan ini memberitahu anda secara teori berapa lama bateri akan beroperasi pada 1mA dalam beberapa jam (walaupun mengambilnya dengan sedikit garam, ini biasanya berada dalam keadaan beban rendah dan ideal). Semakin tinggi penarafan, semakin lama bateri akan tahan. Bateri 9V dinilai hingga dan sekitar 1000mAh. AA alkali di sisi lain mempunyai hampir tiga kali lebih banyak pada 2900mAh. Boleh dicas semula NiMH boleh mencapai ini, walaupun 2500mAh adalah jumlah yang berpatutan (perhatikan bahawa bateri boleh dicas semula beroperasi pada 1.2V bukan 1.5!). Skrin LCD memerlukan input 5V (10%) dan AVR (mikrokontroler) memerlukan kira-kira sama (walaupun boleh turun serendah 2.7 untuk kelajuan jam frekuensi rendah). Kami juga memerlukan voltan yang cukup stabil, jika turun naik ia boleh menyebabkan masalah dengan pengawal mikro. Untuk melakukan ini, kami akan menggunakan pengatur voltan, anda perlu membuat pilihan berbanding harga berbanding kecekapan sekarang. Anda mempunyai pilihan untuk menggunakan pengatur voltan 3-pin sederhana seperti LM7805 (siri 78, output +5 volt) atau litar bersepadu kecil. Menggunakan pengatur mudah Sekiranya anda memilih untuk menggunakan pilihan ini, anda perlu menanggung beberapa perkara dalam fikiran. Pertama, pengatur tiga pin hampir selalu memerlukan input yang lebih tinggi daripada outputnya. Mereka kemudian menurunkan voltan ke nilai yang diinginkan. Kelemahannya adalah bahawa mereka mempunyai kecekapan yang luar biasa (50-60% berjalan lancar). Keuntungannya adalah bahawa mereka murah dan akan digunakan dengan bateri 9V, anda boleh memilih model asas untuk 20 pence di UK. Anda juga harus ingat bahawa pengatur mempunyai voltan putus - jurang minimum antara input dan output. Anda boleh membeli pengatur khas LDO (Low DropOut) yang mempunyai putus pada sekitar 50mV (berbanding 1-2V dengan reka bentuk lain). Dengan kata lain, cari LDO dengan output + 5V. Menggunakan litar bersepadu Cara yang sesuai untuk pergi adalah pengatur beralih. Ini, untuk tujuan kami, biasanya pakej 8-pin yang mengambil voltan dan memberi kita output yang diatur pada kecekapan tinggi - hampir 90% dalam beberapa kes. Anda boleh mendapatkan penukar naik atau turun (naik / turun masing-masing) bergantung pada apa yang anda mahu masukkan, sebagai alternatif anda boleh membeli pengatur yang akan mengambil di atas atau di bawah output yang diinginkan. Cip yang saya gunakan untuk projek ini adalah MAX619 +. Ini adalah pengatur langkah 5V yang mengambil 2 AA (julat input adalah 2V-3.3V) dan memberikan keluar 5V yang stabil. Ia hanya memerlukan empat kapasitor untuk beroperasi dan sangat cekap ruang. Kos - 3.00 termasuk had. Boleh dikatakan berbaloi untuk mendapatkan penggunaan bateri anda dengan lebih banyak. Satu-satunya kelemahan utama adalah bahawa ia tidak dilindungi litar pintas, jadi jika terdapat lonjakan semasa, berhati-hatilah! Ini agak remeh untuk diperbaiki dengan rangkaian litar tambahan: Reka bentuk cip lain yang berguna - walaupun penyelesaiannya tidak semudah itu adalah LT1307. Sekali lagi, pengatur 5V, tetapi dapat mengambil pelbagai input dan mempunyai perkara berguna seperti pengesanan bateri rendah. Harganya sedikit lebih tinggi pada hampir 5 dengan induktor, kapasitor besar dan perintang. Rel Voltan Kami akan menggunakan dua rel voltan utama (ditambah landasan bersama). Yang pertama adalah 3V dari bateri, ini akan digunakan untuk mengaktifkan LED dan komponen kuasa yang agak tinggi. MAX619 saya hanya dinilai hingga 60mA (walaupun maksimum mutlak adalah 120mA) jadi lebih mudah untuk menyambungkan mikrokontroler ke MOSFET untuk mengawal sebarang LED. MOSFET menarik hampir tidak ada arus dan bertindak sebagai penembusan dalam litar ketika input gerbang berada di bawah sekitar 3V. Apabila mikrokontroler menghantar logik 1 pada pin, voltan 5V dan FET dihidupkan, kemudian hanya bertindak sebagai litar pintas (iaitu sekeping wayar). Rel 5V akan memberi kuasa pada LCD, Mikrokontroler dan litar penguat untuk sensor input. Penggunaan KuasaJika kita melihat pelbagai lembar data, kita perhatikan bahawa AVR mengambil masa tidak lebih dari 15-20mA pada beban maksimum. LCD hanya memerlukan 1mA untuk beroperasi (sekurang-kurangnya ketika saya diuji, anggaran untuk 2). Dengan lampu latar menyala, anda boleh membuat keputusan. Menyambungkannya terus ke rel 5V (saya cuba) baik-baik saja, tetapi pastikan ia mempunyai perintang onboard (ikuti jejak pada PCB) sebelum anda melakukannya. Ia menghasilkan 30mA dengan cara itu - mengerikan! Dengan perintang 3.3k ia masih dapat dilihat (sesuai untuk fotografi astro) dan hanya menarik 1mA. Anda masih boleh mendapat kecerahan yang baik menggunakan 1k atau sebaliknya. Saya baik dengan lukisan saya di bawah 2mA dengan lampu latar menyala! Sekiranya anda mahu, adalah mustahak untuk menambahkan tombol kecerahan menggunakan potensiometer 10k. LED IR mungkin mengambil maksimum 100mA, tetapi saya mempunyai hasil yang baik dengan 60mA di seluruh lombong (percubaan!). Anda kemudian boleh mengurangkan separuh arus kerana anda berjalan dengan berkesan pada kitaran tugas 50% (semasa LED dimodulasi). Bagaimanapun, hanya menyala sekejap sahaja jadi kita tidak perlu bimbang tentang ini. LED lain yang harus anda mainkan, anda mungkin mendapati bahawa hanya arus 10mA yang cukup untuk memberi anda kecerahan yang baik - pastinya kelihatan untuk LED kuasa rendah (tidak termasuk yang IR), anda tidak merancang obor! Saya memilih untuk tidak menambahkan penunjuk kuasa di litar saya, hanya kerana banyak arus semasa untuk penggunaan yang tidak banyak. Gunakan suis hidup / mati untuk memeriksa apakah itu menyala! Secara keseluruhan, anda tidak boleh menggunakan lebih dari 30mA dalam satu masa dan dengan bekalan teoretikal sekitar 2500 (memungkinkan untuk variasi) mAh yang seharusnya memberi anda lebih dari 80 jam terus dengan semua yang dihidupkan. Dengan pemproses yang terbengkalai hampir sepanjang masa, ini sekurang-kurangnya dua kali ganda / tiga kali ganda, jadi anda tidak perlu menukar bateri anda dengan kerap. Kesimpulan Di sana kita pergi, itu mudah bukan! Anda boleh menjadi murah dan ceria dengan bateri 9V dan pengatur LDO dengan perbelanjaan kecekapan atau membayar lebih banyak dan menggunakan IC khusus untuk melakukannya. Belanjawan saya masih di bawah 20 walaupun DENGAN IC, jadi anda boleh menjatuhkannya lebih jauh jika anda perlu.

Langkah 3: Pandangan Lebih Dekat pada ATmega8

Pandangan Lebih Dekat pada ATmega8
Pandangan Lebih Dekat pada ATmega8

PinImage 1 adalah gambarajah pinout untuk ATMega8 (persis sama dengan 168/48/88, satu-satunya perbezaan adalah jumlah memori onboard dan pilihan gangguan). Pin 1 - Tetapkan semula, harus dipegang pada voltan VCC (atau sekurang-kurangnya logik 1). Sekiranya dibumikan, peranti akan diset semula lembut Pin 2-6 - Port D, input / output umum Pin 7 - VCC, voltan bekalan (+ 5V untuk kita) Pin 8 - GroundPin 9, 10 - XTAL, input jam luaran (bahagian Port B) Pin 11 - 13 Port D, input / output umum Pin 14 - 19 Port B, input / output umum Pin 20 - AVCC, voltan bekalan analog (sama dengan VCC) Pin 21 - AREF, rujukan voltan analog Pin 22 - GroundPin 23-28 Port C, input / output umum Port i / o yang tidak dapat digunakan: D = 8, C = 6, B = 6 Sebanyak 20 port yang boleh digunakan sangat bagus, untuk kesederhanaan anda harus mengumpulkan output anda ke dalam port (katakan, D sebagai port output) atau ke kumpulan di papan - anda mungkin mahu LCD berjalan dari Port C hanya untuk memastikan kabelnya kemas di sudut itu. Terdapat tiga pin tambahan yang diperlukan untuk pengaturcaraan. Itulah MISO (18), MOSI (17) dan SCK (19). Ini dengan senang hati akan berfungsi sebagai pin i / o jika diperlukan. Penutup Isyarat yang kami hantar ke kamera perlu tepat waktu (tepat hingga sekitar satu mikrodetik) jadi penting untuk kita memilih sumber jam yang baik. Semua AVR mempunyai pengayun dalaman dari mana cip boleh mendapatkan jamnya. Kelemahan ini adalah bahawa mereka boleh berfluktuasi sekitar 10% dengan suhu / tekanan / kelembapan. Apa yang boleh kita lakukan untuk memerangi ini adalah menggunakan kristal kuarza luaran. Ini boleh didapati dari 32768kHz (jam tangan) hingga 20MHz. Saya telah memilih untuk menggunakan kristal 4Mhz kerana ia memberikan kelajuan yang cukup baik tetapi cukup konservatif berbanding dengan 8Mhz +. Pengurusan Kuasa Di Atas Saya benar-benar mahu menggunakan rutin tidur dalam kod saya. Sebenarnya saya menulis versi pertama yang sangat bergantung pada pemalasan pemalas sementara masa berlalu. Malangnya, kerana kekangan masa, saya menghadapi beberapa masalah dengan menjalankan jam secara luaran dan mengganggu penggunaan pemasa. Pada dasarnya saya harus menulis semula kod untuk berurusan dengan pengawal hanya tidak bangun - yang boleh saya lakukan, tetapi masa bertentangan dengan saya. Oleh itu, peranti hanya menarik 20mA ish sehingga anda dapat melepaskannya. Sekiranya anda benar-benar menginginkannya, maka tentu saja bermain dengan kod, yang perlu anda lakukan ialah membuat jam secara dalaman dan kemudian menjalankan Pemasa 2 dalam mod tidak segerak menggunakan kristal 4MHz untuk kelewatan yang lebih tepat. Ia mudah dilakukan, tetapi memakan masa. ADC Pisau tentera swiss dalam set alat AVR, ADC bermaksud Analog to Digital Converter. Cara kerjanya agak mudah dari luar. Voltan diambil sampel pada pin (dari beberapa sensor atau input lain), voltan akan ditukar menjadi nilai digital antara 0 dan 1024. Nilai 1024 akan diperhatikan apabila voltan input sama dengan voltan rujukan ADC. Sekiranya kita menetapkan rujukan kita menjadi VCC (+ 5V) maka setiap bahagian adalah 5/1024 V atau sekitar 5mV. Oleh itu, peningkatan 5mV pada pin akan meningkatkan nilai ADC sebanyak 1. Kita dapat mengambil nilai output ADC sebagai pemboleh ubah dan kemudian bermain-main dengannya, membandingkannya dengan perkara, dll dalam kod. ADC adalah fungsi yang sangat berguna dan membolehkan anda melakukan banyak perkara menarik seperti mengubah AVR anda menjadi osiloskop. Frekuensi pensampelan adalah sekitar 125kHz dan mesti ditetapkan berkadaran dengan frekuensi jam utama. PendaftarAnda mungkin pernah mendengar daftar sebelumnya, tetapi jangan takut! Daftar hanyalah sekumpulan alamat (lokasi) dalam memori AVR. Pendaftar dikelaskan mengikut ukuran bitnya. Daftar 7 bit mempunyai 8 lokasi, kerana kami bermula dari 0. Terdapat daftar untuk hampir semua perkara dan kami akan melihatnya dengan lebih terperinci kemudian. Beberapa contoh termasuk register PORTx (di mana x adalah B, C atau D) yang mengawal sama ada pin ditetapkan tinggi atau rendah dan menetapkan resistor tarik untuk input, daftar DDRx yang menetapkan sama ada pin adalah output atau input dan sebagainya. The DatasheetA raksasa sastera, dengan berat sekitar 400 halaman; lembaran data AVR adalah rujukan yang tidak ternilai untuk pemproses anda. Mereka mengandungi perincian setiap daftar, setiap pin, bagaimana pemasa berfungsi, sekering apa yang harus ditetapkan untuk apa dan banyak lagi. Mereka percuma dan anda memerlukannya cepat atau lambat, jadi muat turun salinannya! Www.atmel.com/dyn/resources/prod_documents/doc2486.pdf

Langkah 4: Memperuntukkan Pin

Peruntukkan Pin
Peruntukkan Pin

Saya sudah menyebutkan input dan output yang kami perlukan, jadi kami harus memperuntukkannya pin! Sekarang, PORT D mempunyai 8 pin yang mudah kerana dapat berfungsi sebagai port output kami. LCD memerlukan 7 pin untuk beroperasi - 4 pin data dan 3 pin kawalan. LED IR hanya memerlukan satu pin, sehingga membentuk 8. PORTB kami akan menjadi port butang kami, ia mempunyai 6 input, tetapi kami hanya memerlukan 5. Ini akan menjadi butang mod dan arah. PORTC adalah istimewa, ia adalah port ADC. Kami hanya memerlukan satu pin untuk input pencetus dan masuk akal untuk meletakkannya di PC0 (singkatan biasa untuk pin port dalam kes ini Port C, Pin 0). Kami kemudian mempunyai beberapa pin untuk LED status (satu menyala apabila nilai ADC berada di atas beberapa keadaan, yang lain menyala ketika berada di bawah keadaan tertentu). Kami juga akan memasukkan input butang ok / tembak kami di sini, dengan alasan yang akan menjadi jelas kemudian. Selepas semua ini, kami telah menggunakan sebahagian besar port tetapi masih ada beberapa yang tersisa jika anda ingin mengembangkan projek ini - mungkin pelbagai pencetus?

Langkah 5: Berkomunikasi dengan Kamera

Berkomunikasi dengan Kamera
Berkomunikasi dengan Kamera
Berkomunikasi dengan Kamera
Berkomunikasi dengan Kamera

Hadiah Pertama dalam Peraduan Foto Hari Digital

Disyorkan: