Saya seorang pengembang perangkat lunak yang praktis tidak memiliki latar belakang elektronik, tetapi saya ingin membahasnya karena ini relevan dengan pekerjaan yang saya lakukan (pengembangan sistem infotainment). Saya seorang insinyur perangkat lunak, bukan seorang insinyur elektronik, jadi latar belakang / pengalaman saya lebih berkaitan dengan pemrograman tingkat aplikasi, dan mungkin sedikit pemrograman sistem / jaringan.
Saya pernah mendengar tentang Arduino sebagai platform proyek yang fleksibel dan saya bertanya-tanya jenis proyek apa yang dapat membantu seseorang dengan latar belakang saya menggali jalan mereka ke teknik elektronik ... dimulai dengan pemrograman mikrokontroler dan mungkin mengacaukan jenis periferal lain, seperti bluetooth , zigbee, wifi, audio, video, saya tidak tahu ... mungkin semacam proyek yang khas untuk insinyur elektronik selama kursus mereka.
Singkatnya, apa yang saya cari adalah jenis proyek yang umum / populer (akademik atau lainnya) yang dapat membantu insinyur perangkat lunak mengembangkan keterampilan rekayasa elektronik yang ditetapkan pada tingkat perangkat lunak.
sumber
Jawaban:
Berikut adalah beberapa saran untuk proyek yang tidak akan sulit bagi pengembang perangkat lunak. Mereka semua mungkin terlihat agak sulit, tapi saya penggemar proyek yang jauh dari keahlian saya. Jika itu menyenangkan, proyek yang menarik, mereka akan menyeret Anda dengan gembira melalui proses pembelajaran. Dan ingat, kita semua di sini untuk membantu.
Matriks LED
Ini adalah proyek yang sepenuhnya digital, dan tetapi sangat menyenangkan (yang tidak suka LED). Anda akan memerlukan beberapa driver seperti ULN2803, dan mikrokontroler. Dapatkan matriks untuk memberi tahu waktu, atau perlihatkan gambar. Saya baru saja bisa menunjukkan gambar Bjork pada matriks hijau 16x16.
Gyro bidang busa yang distabilkan
Dapatkan bidang busa dan beberapa aileron mikro :
Anda juga membutuhkan gyro MEMS dengan output analog dan beberapa OpAmps kecil. Campurkan semuanya untuk membuat bidang busa karet gelang yang distabilkan gyro.
Robot
Semua orang suka robot. Hal yang hebat tentang robot kecil seperti ini adalah Anda dapat mulai dengan sesuatu yang sangat sederhana (hanya drive ke depan), dan perlahan-lahan tambahkan lebih banyak fungsi (Sensor dan pengambilan keputusan), sambil belajar.
sumber
Jika Anda sudah menjadi pengembang perangkat lunak maka pemrograman mikrokontroler itu sendiri seharusnya tidak benar-benar menjadi tantangan, dan ada sedikit elektronik tentang hal itu. Setidaknya tidak dengan cara yang Anda harus berurusan dengan berbagai jenis komponen, dan harus membuat perhitungan pada voltase dan arus untuk membuat sesuatu berfungsi.
Kit mikrokontroler dapat membantu Anda mendapatkan kontrol. Anda dapat bekerja dengan semua jenis input, digital dan analog, dan output.
Coba termostat di mana-mana misalnya.
Input
Anda harus memahami sensor suhu (apa pun jenisnya), amplifier, opamp, dan mungkin transistor, selain kapasitor dan resistor. Opamps dan terutama transistor adalah dasar, mereka digunakan di setiap rangkaian.
Output
Untuk menggerakkan relay, Anda harus tahu cara kerja transistor sebagai saklar (itulah aplikasi termudah untuk dipahami).
Papan pengembangan mikrokontroler sering memiliki layar , LCD atau LED, atau dapat terhubung ke modul display. Meskipun ini berguna (misalnya untuk debugging) dan kesenangan, itu tidak membantu Anda memahami elektronik. Anda harus membuat tampilan sendiri, seperti matriks LED, dan mempelajari cara menggerakkan tampilan multipleks, baik dari sudut pandang perangkat lunak maupun perangkat keras.
Terlepas dari papan mikrokontroler, dapatkan kit starter elektronik , yang berisi sebagian besar komponen dasar untuk membuat sirkuit sederhana. Dan buku pegangan yang bagus , tentu saja. Seni Elektronik sangat populer di sini, meskipun terakhir kali saya melihatnya itu karena pembaruan.
sumber
Dapatkan kit pengembangan PSoC . The PSoC adalah mikrokontroler yang berisi blok digital dan analog dikonfigurasi ulang. Anda pada dasarnya dapat menghubungkan skema digital dan analog dengan IDE. Skema tersebut kemudian diimplementasikan di dalam chip PSoC.
Anda dapat bermain dengan desain sirkuit digital dan analog sesuai keinginan Anda, dan menggabungkan semuanya dengan perangkat lunak yang ditulis dalam IDE yang sama.
sumber
Proteus adalah platform proptyping berbasis perangkat lunak yang unggul. Anda dapat membuat papan PCB dan skema menggunakan sebagian besar, jika tidak semua MCU yang disebutkan di sini; Dan yang terbaik, Anda dapat mensimulasikan kode sumber Anda seolah-olah itu berjalan pada perangkat keras asli itu sendiri!
Hal terbaik tentang perangkat lunak ini adalah bahwa Anda dapat mengubah variabel seperti kristal, kapasitor, resistor tanpa harus menyolder, desolder, memesan dan menunggu untuk akhirnya bercampur dengan papan proto atau perisai. Ini sempurna sempurna.
Juga; Anda mendapatkan alat virtual seperti Osciliscopes .. Anda tahu berapa banyak biaya osiloskop yang baik? Keberuntungan! Itu semua disertakan dengan banyak fitur dan alat virtual lainnya.
Ini tidak gratis tetapi harganya benar-benar masuk akal untuk jumlah waktu dan frustrasi yang dapat menyelamatkan Anda, alih-alih mengacaukan perangkat keras yang sebenarnya.
sumber
Saya pikir bahwa mencoba mempelajari semuanya hanya akan menghasilkan banyak kebingungan dan kehilangan waktu. IMHO Anda harus mencoba memusatkan minat Anda: Anda mengatakan bahwa Anda membutuhkannya untuk sistem infotainmen, bukan?
Suatu pendekatan bisa untuk mendapatkan ide tentang apa salah satu dari sistem itu adalah:
Unit pemrosesan (mungkin mikrokontroler atau komputer sederhana);
Beberapa driver untuk tampilan;
I / O interface untuk interaksi pengguna;
Antarmuka komunikasi (jaringan, interfacing ke perangkat lain ...)
Sub-domain ini adalah sistem lengkap yang dapat dipelajari dan dirancang sebagai proyek. Beberapa dari mereka juga dapat dibagi dalam lebih banyak sub-domain pada tingkat abstraksi yang lebih rendah, dan turun ke tingkat komponen.
Jadi saran saya adalah memecah arsitektur kompleks ini dalam beberapa blok , dan mencoba membuat sirkuit sederhana (mungkin dimulai dari driver LED), tetapi itu dapat kemudian dimasukkan ke dalam rencana yang lebih besar. Anda akan memiliki motivasi untuk melakukan itu, karena itu akan menjadi bagian dari pekerjaan akhir, dan dengan cara itu Anda akan belajar tentang elektronik.
Berhati-hatilah dalam belajar dan memahami apa yang Anda lakukan, alih-alih mengandalkan skema yang sudah dibuat sebelumnya dan aturan umum yang praktis.
sumber
Saya berada di masalah yang sama. Dan akhirnya saya belajar bahwa tidak ada jalan pintas untuk belajar elektronik. Gelar sarjana dapat membantu Anda.
Kalau tidak, Anda dapat mencoba buku-buku berikut:
Langkah 1.
Langkah 2.
Seiring dengan perangkat lunak NI Multisim .
sumber
Baik sebagai pengembang perangkat lunak Anda berada di dua platform utama yang tersedia.
PHP atau .NET?
Jika Anda. NET maka saya sangat menyarankan Anda . NET MicroFramework IDE dan NetDuino
Ada banyak perangkat keras lain yang tersedia tetapi saya menyarankan yang ini karena harganya masuk akal dan sangat mirip dalam desain dengan Arduino dan banyak brews lain dari papan prototyping yang akan membantu mengembangkan keakraban di beberapa kit.
Baik .NET atau PHP tidak memiliki koneksi nyata ke pemrograman tertanam tetapi sintaks PHP sangat dekat dengan
C
yang baik untuk diketahui. .NET, bagus untuk tetap berada dalam lingkungan yang akrab dan Anda juga bisa mendapatkan sertifikasi untuk ini dengan Microsoft Learning.Platform lain yang saya sarankan adalah Atmels AVR XMega yang pada dasarnya adalah Arduino tetapi jauh lebih baru dan lebih mampu.
Bagian penting tentang kedua orang ini adalah bahwa Lingkungan Pengembangan GRATIS! Ya, Microsoft memberi Anda Visual Studio Gratis untuk Kerangka Mikro dan Atmel memiliki AVR Studio 5 (yang didasarkan pada Visual Studio pada Versi 5)
Anda juga perlu menyadari capabiliteis dari setiap kit dev.
Ini didasarkan pada chip Atmega tetapi mereka menggunakan yang kecepatan clock rendah (8mhz, 16mhz) tetapi cukup mampu melakukan berbagai bit dan bops. Ini adalah titik awal yang bagus dalam mempelajari teknik listrik karena memiliki IDE gratis dan komunitas besar dengan banyak kode dan perpustakaan. Jika Anda belajar dari sini, akan lebih mudah untuk beralih ke chip berbasis AVR lain dalam hal sintaks dan porting kode.
Ini sangat terbatas pada apa yang dapat dilakukannya, misalnya jangan berharap untuk menyampaikan data video melalui server web mikro internal ke internet .. MCU ini hanya tidak bisa menangani data dan jumlah hal yang harus dilakukan pada saat yang sama tetapi begitu Anda sampai ke tingkat itu maka akan lebih baik untuk melangkah ke .NET atau 32Bit AVR's.
Orang-orang ini dapat menangani LCD, video, server web, Nirkabel dan banyak hal di dalamnya. Mereka juga mulai bergerak lebih cepat dalam kecepatan pemrosesan. Tetapi sebelum Anda mulai melihat ini, Anda perlu menyadari ada beberapa produk yang melakukan fungsi tertentu juga .. Seperti rasa sentuh, komunikasi nirkabel, daya sangat rendah, ada yang dicampur dan dicocokkan dan ini membutuhkan penelitian dan pengembangan proses yang tepat di belakang menggunakan anak-anak nakal ini.
Berhati-hatilah dengan mereka,
Mereka menawarkan chip pasar terkemuka yang luar biasa ketika Anda membaca tentang mereka. Sayangnya tidak ada IDE gratis dan harganya ribuan dolar dalam biaya lisensi. Meskipun, beberapa produk seperti MSP430 memiliki IDE gratis tetapi banyak hal yang berbatasan dengan mereka dan tidak jelas. Juga, mempelajari perpustakaan untuk beberapa chip TI adalah mimpi buruk absolut .. Tapi itu adalah ceruk pasar dan Anda bisa mendapatkan gaji yang bagus di sini ..
Ada banyak devkits di luar sana, saya hanya memberitahu Anda tentang beberapa pengalaman saya sendiri datang dari. Sertifikasi NET. Saya memulai dengan Arduino Mega256.
Hari ini saya sedang membuat PCB saya sendiri sekecil 1.5cmx1.5cm yang berjalan sel koin hingga 2 tahun menggunakan SystemOnChips menakjubkan TI. Tapi butuh waktu dan kesabaran untuk sampai ke sana dan saya masih merasa seperti tidak tahu apa-apa tentang embedded system ...
Semoga berhasil :-)
sumber
Pertanyaan Anda agak luas, dan akan ada banyak kemungkinan bagus. Jika Anda lebih fokus pada level yang lebih tinggi tentang bagaimana membuat komputer kecil berinteraksi dengan hal-hal fisik, boleh saya sarankan Anda melihat sesuatu seperti kit Lego Mindstorms . Dengan ini, Anda dapat membuat dan memprogram robot. Ini akan berada pada level tinggi plug and play berbagai sensor dll.
Ada juga tingkat teknik elektro yang lebih mendasar di mana EE "sejati" akan merancang dan membangun sensor. Menggunakan komputer papan tunggal seperti Arduino atau Netduino dan papan tempat memotong roti di mana Anda memasukkan berbagai komponen seperti resistor, LED dll ke papan tempat memotong roti untuk membangun sirkuit akan lebih dekat ke tingkat yang lebih mendasar ini. Pada titik ini Anda akan berhadapan dengan pertanyaan seperti "nilai resistor apa yang harus saya masukkan secara seri dengan LED untuk membatasi arus sehingga led dan mikrokontroler saya tidak naik dalam asap?".
Dengan kit Lego, Anda cukup menyambungkan komponen-komponennya dan mereka telah membuatnya menjadi bukti idiot.
sumber
Saya akan menyarankan fokus pada perbedaan antara perangkat lunak yang ditulis untuk PC vs firmware yang ditulis untuk aplikasi tertanam. Memoles C. Dengan embeddd linux menjadi begitu populer, perbedaan antara insinyur firmware dan pengembang perangkat lunak menyusut dengan cepat. Luangkan waktu untuk melihat driver tertanam sumber terbuka.
Saya akan mempertanyakan keinginan untuk menjadi lebih seperti EE karena dua disiplin ilmu cukup berbeda. Ya ada satu ton tumpang tindih, tetapi fokus pada sisi pengemudi dan jangan terjebak dalam detail elektronik.
sumber
pertama-tama benar-benar baik-baik saja jika Anda bukan dari latar belakang elektronik, Anda benar-benar tidak akan mendesain Chips bukan?
tetapi jika Anda akan belajar elektronik saya akan menyarankan Anda untuk mendapatkan dasar-dasar pertama seperti Resistance, Diode, Transistor dll .. kit hobi elektronik dari radioshack atau vendor lain akan melakukan .. selanjutnya beralih ke Microcontrollers, Arduino akan membuat itu sangat sederhana, tetapi saya akan menyarankan Anda pergi dengan sesuatu yang belum dibuat sudah mudah, Arduino sangat mudah dan tidak menempatkan banyak tantangan di hadapan penggunanya .. Mulailah dengan AVR, PIC atau 8051 Pengontrol mikro, Beli Mikrokontroler, sebuah pengkodean buku dan srart dimulai dengan Program LED Berkedip ("Hello World" di Departemen Elektronik) dan seperti yang akan Anda lihat, dalam waktu singkat Anda akan menggunakan papan tombol matriks dan Layar Tujuh Segmen untuk mempelajari beberapa dasar lagi, setelah itu muncullah yang sebenarnya bekerja, menghubungkan perangkat Anda dengan IC lain dan jaringan sensor, yang terkait dengan pekerjaan Anda ..papan Pengembangan Anda sudah memiliki beberapa fitur ini dan jika tidak, Anda selalu dapat membeli sheild atau breakout borad yang tersedia dengan mudah, maka semuanya terserah Anda ...
saya juga akan menyarankan Anda untuk memeriksa dengan Perusahaan Anda tentang Platform yang mereka gunakan ini akan memberi Anda arahan pada Micro-controller untuk belajar dan karena Anda sudah menjadi programmer ini harus membuktikan sangat mudah bagi Anda dan selalu melakukan proyek hobi seperti Robot dan matriks LED antara lain, ini akan membuat Anda tetap berpikir tentang Subjek Anda tidak akan bosan !!
sumber