Saya harus mengakui bahwa saya agak tidak tahu tentang semua hal yang bersifat listrik, jadi saya mendapatkan Arduino dengan tujuan untuk mengisi kesenjangan ini dalam pendidikan saya, dan juga belajar lebih banyak tentang fisika di balik pemrograman dan melakukan hal-hal tingkat rendah, tetapi saya belum menemukan pengantar teori yang tepat untuk persis apa yang terjadi di dalam perangkat. Saya hanya dapat menemukan tutorial jenis plug-things-like-this .
Jadi, misalnya, berikut adalah diagram papan tempat tidur dari tutorial LED yang berkedip-kedip (pdf)
Sepertinya saya seperti kawat yang terhubung ke pin 5v terhubung ke +
pin papan tempat memotong roti ... yang terhubung dengan apa pun. Tidak ada yang lain di +
kolom.
Jadi bukankah ini sirkuit terbuka? Apa sebenarnya yang + -- 5v
dilakukan koneksi itu?
Koneksi itu tidak digambarkan dalam diagram skematik.
Juga tidak jelas bagi saya bagaimana pin terhubung dalam Arduino itu sendiri.
Saya tahu ini adalah pertanyaan dasar "google it", tetapi mungkin karena fakta bahwa saya tidak memiliki kosakata untuk melakukannya sehingga saya tidak dapat menemukan deskripsi aliran saat ini di Arduino.
sumber
Jawaban:
Untuk mengetahui bagaimana segala sesuatu terhubung pada Arduino itu sendiri, Anda harus melihat pada skema. Yang ini adalah Arduino Uno. Di kanan bawah Anda dapat melihat bagaimana papan I / O terhubung ke mikrokontroler:
Jadi, ikuti garis dari pin 13 Anda pergi ke PB5 dari mikrokontroler. Itu berarti bit 5 port B. Jika Anda mengatur pin ke output dan membuatnya tinggi Anda memasok 5 V ke sirkuit LED. Resistor seri akan membatasi arus sekitar 5 mA, yang merupakan nilai OK untuk mikrokontroler.
Jadi, karena 5 V berasal dari pin I / O Arduino, maka kabel 5 V di papan tempat memotong roti tidak diperlukan.
sumber
Anda benar, kabel 5V tidak terhubung ke sirkuit.
Mungkin dibiarkan di sana hanya karena eksperimen lain untuk rangkaian tutorial tersebut memerlukannya, tetapi tidak diperlukan agar sirkuit ini berfungsi.
sumber
Secara umum, skema yang Anda berikan pada dasarnya menggunakan jenis skema "blok-diagram", karena hal-hal tersebut diabstraksi untuk memudahkan implementasi. Dalam hal ini, Arduino digambarkan sebagai blok, dan diasumsikan bahwa semua fungsinya berfungsi seperti yang didokumentasikan.
Arduino adalah papan pengembangan berbasis mikroprosesor Atmel AVR. Secara umum, mikroprosesor bukan "kabel" secara internal, ia dirancang untuk menangani banyak tugas yang berbeda. Untuk mengimplementasikan begitu banyak hal yang berbeda, "kabel" internal berubah secara konstan di dalam MCU sesuai dengan tugas apa yang sedang diproses (terima kasih, transistor!).
Bandingkan ini dengan implementasi logika perangkat keras (FPGA), di mana mereka "diprogram" sekali untuk mengimplementasikan satu fungsi spesifik, dan kemudian "kabel" di dalam tetap konstan.
Saya mengatakan "kabel" dalam tanda kutip karena bahkan diagram level logika (AND dan OR, dll) masih disarikan dari apa yang secara fisik berada di dalam prosesor. Gerbang logika dapat dibuat dari berbagai desain rangkaian transistor.
Alasan untuk semua abstraksi adalah bahwa itu sepenuhnya asinine (dan sejauh ini mustahil, saya tidak bisa menggambarkannya dengan kata-kata) untuk berurusan dengan level rendah. Jadi begitu level terendah dirancang dan diabstraksi, level berikutnya dapat digunakan dengan pasti akan melakukan apa yang dikatakan. Ulangi siklus ini, dan kita beralih dari transistor dan gerbang logika ke pemrograman tingkat tinggi dan antarmuka grafis!
Saya agak bingung dengan pertanyaan Anda, terutama karena saya tidak bisa memberi tahu Anda bagaimana arus mengalir melalui Arduino. Untuk alasan yang lebih solid mengapa, lihatlah Sirkuit Terpadu, VLSI (Integrasi Skala Sangat Besar) dan topik terkait yang pasti akan muncul dalam pencarian Anda.
sumber