Arduino dimaksudkan untuk menjadi cara yang mudah bagi orang-orang non-teknis dan menyembunyikan sebanyak mungkin dari tampilan sederhana menjadi sederhana.
Untuk proyek sederhana ini bekerja dengan biaya menyalin perpustakaan di sana-sini dan menggunakan "IDE" Arduino. Memanggil program "sketsa" dan memanipulasinya untuk menyembunyikan, bahwa program itu ada di C ++. Dan seterusnya dan seterusnya.
Jika Anda ingin membuat proyek yang lebih rumit, kontrol versi, lingkungan yang baik dan semacamnya, Anda harus meninggalkan "cara Arduino" dan mulai menggunakan alat yang lebih kuat dan rumit.
Saya pribadi menggunakan
https://github.com/sudar/Arduino-Makefile
https://github.com/ladislas/Bare-Arduino-Project
dan memilikinya di repositori GIT.
Dengan cara ini saya dapat membagikan pustaka antar proyek dalam grup, juga tautan ke pustaka di luar karya pohon, serta git submodula, keduanya memungkinkan Anda untuk memiliki pustaka yang diperbarui dari pihak ke-3 yang dapat ditiru untuk semua proyek, juga yang lama.
Saya masih menggunakan banyak Arduino (seperti setup / loop, digitalRead dan semacamnya), tetapi saya juga menggunakan konstruksi "normal" g ++. Nanti saya akan menyimpang lebih ke kode biasa C / g ++ / .. kode mungkin, menggunakan beberapa RTOS atau lebih, tapi sekarang kebutuhan saya belum begitu jauh. (google "arduino rtos" Saat ini saya sedang membaca https://github.com/greiman/NilRTOS-Arduino )
Arduino tidak dimaksudkan sebagai "praktik terbaik". Ini dimaksudkan sebagai "cara cepat dan mudah untuk melakukan sesuatu, ketika Anda tidak tahu apa-apa". Dan itu bekerja, karena siapa pun dan anjingnya dapat mulai dengan Arduino dan jika tertarik, dia bisa melangkah lebih jauh sendiri, atau dia bisa bertahan dengan mudah dan bersenang-senang pula.