Tinjauan Kursus - Membangun Robot dan Perangkat Arduino Lainnya (Minggu 1)


"Kekuatan tidak ada dalam besi, tetapi dalam pengetahuan" - kita dapat mengatakan hari ini.


Sekarang elektronik dan robotika telah menjadi jauh lebih mudah diakses dari sebelumnya - ada pilihan, ambang untuk masuk telah berkurang. Tetapi tanpa sepengetahuan bagaimana cara kerjanya, dan bagaimana cara bekerja dengannya, elektronik ini hanya akan menjadi "perangkat keras" (dan bagaimana hal itu terjadi - perangkat terkadang tidak digunakan). Pengetahuan jauh lebih sulit diperoleh berdasarkan pengalaman dan praktik pribadi.


Karena itu, kursus untuk pemula sangat dihargai. Ada kursus berbayar dan gratis - tetapi untuk memastikan relevansi, dukungan kursus, kompatibilitas perangkat keras, dan umpan balik - ini bukan hanya masalah, terlebih lagi dalam bahasa Rusia.


Kami ingin memberi tahu Anda tentang salah satu kursus online ini - " Kami membuat robot dan perangkat lain di Arduino. Dari lampu lalu lintas hingga printer 3D ." Kursus ini dikembangkan bersama oleh Cyberphysics dan MIPT (Institut Fisika dan Teknologi Moskow). Materi pelatihan dan teks video tersedia gratis di Coursera. Kursus ini dibagi menjadi 6 bagian (setiap minggu), dan untuk setiap bagian - setrika yang sesuai dikirim.


Itu selalu lebih baik untuk mengatakan berdasarkan pengalaman kami, oleh karena itu kami akan berbicara tentang kursus dan kesan "secara real time" saat kami maju. Berbagi tayangan akan menjadi salah satu peserta di ruang hack kami.



Minggu 1


Halo semuanya! Nama saya Anton, dan saya ingin memberi tahu Anda dalam serangkaian publikasi enam minggu tentang pengalaman berpartisipasi dalam kursus online dari MIPT.


Pengantar kecil. Pendidikan dan pekerjaan saya yang berkelanjutan terkait dengan IT. Pengetahuan dalam elektronik dan sirkuit berakhir dengan kursus universitas di bidang elektronik. Kadang-kadang saya menggunakan besi solder, saya bisa membuat perhitungan sederhana untuk sirkuit apa pun.


Tidak ada pengalaman pemrograman untuk Arduino. Saya menulis skrip terutama dalam Python dan Bash, dengan sintaks mirip C yang akrab dalam bahasa PHP dan JavaScript. C sendiri tidak memiliki pengalaman pemrograman.


Setelah kakak saya dan saya menulis tinjauan tiga set elektronik untuk anak-anak , seorang perwakilan dari proyek Cyberphysics menyarankan untuk mengambil kursus online “Membuat robot dan perangkat lain di Arduino” di situs web Coursera. Karena saya sebelumnya mengambil beberapa kursus (tidak terkait dengan IT) pada platform, saya berasumsi bahwa materi akan sepele dan sederhana, seperti pada sebagian besar kursus pengantar pada platform Coursera, atau pada tingkat tugas dari manual set elektronik serupa. Tetapi, ternyata, ini adalah kekeliruan. Pencipta sendiri memposisikan kursus sebagai pengantar robotika untuk siswa dan siswa sekolah menengah, di mana siswa belajar apa robot dan "pintar" perangkat apa, bagaimana mereka berinteraksi dengan dunia luar, bagaimana mereka berinteraksi dengan manusia dan, yang paling penting, cara belajar bagaimana membuat perangkat seperti itu sendiri.


Sangat menarik untuk dicatat bahwa menurut penulis kursus, dua pertiga dari penonton, yaitu 13,5 ribu orang, orang berusia 25 hingga 45 tahun! Dan Anda dapat memahami alasannya: daftar topik cukup luas - dari sensor paling sederhana dan "lampu berkedip" ke perangkat printer 3D, dan semua ini didukung oleh teori yang diperlukan, misalnya, perangkat dan parameter sirkuit listrik, jenis dan parameter sinyal, dll ... Pada saat yang sama Materi disajikan dalam bahasa yang sederhana dan mudah diakses. Setelah melewati minggu pertama, bukan berita baik bagi saya bahwa rata-rata kursus adalah 4,9 dari 5 poin.


Karena pelatihan terutama ditujukan untuk solusi praktis masalah, untuk minggu-minggu pertama penulis kursus memberi saya satu set Robot dan perangkat “Cyberphysics” . Mulai + .




Di dalam kami disambut dengan buku kecil yang menggambarkan kit dan papan Neutrino.





Segera setelah buklet terletak papan Neutrino itu sendiri, yang merupakan analog dari Arduino Uno, tetapi satu hal segera menarik perhatian - ada 20 pin tiga pin di papan untuk menghubungkan berbagai sensor. Ini dengan tulus membuat saya senang, karena untuk papan lain yang saya lihat sebelumnya, perlu untuk memasang pelindung tambahan untuk menghubungkan periferal.




Di dalam, semuanya diatur dalam kotak-kotak kecil. Semua kantong konten ditandatangani.





Perangkat aneh dengan tabung juga dimasukkan ke dalam kit. Setelah pencarian cepat di Internet, ternyata menjadi pompa submersible, yang, tampaknya, akan digunakan dalam minggu-minggu berikutnya di kelas.


Juga, seperti yang disarankan oleh penulis kursus kepada saya (dan apa yang tertulis dalam buklet :)), Anda juga dapat menggunakan baki dari bawah papan - kumpulkan skema di dalamnya dan simpan "longgar" sehingga detailnya tidak hilang di antara kelas. Saya mengetahui hal ini setelah akhir minggu pertama, tetapi saya berharap bahwa di masa depan saya akan menghargai manfaat dari nampan.




Sekarang mari kita bicara tentang kursus itu sendiri. Itu berlangsung enam minggu. Tiga minggu pertama dievaluasi menggunakan tes, dan pada minggu keempat dan selanjutnya, Anda dapat menyelesaikan tugas tambahan dan mengirim sesama siswa untuk evaluasi.


Dalam pelajaran minggu pertama, guru pertama-tama memberi tahu dasar-dasar sirkuit, kemudian secara bertahap merakit dan memodifikasi model lampu lalu lintas, baik di lingkungan grafis Fritzing dan di papan nyata. Pada awalnya, lampu lalu lintas manual dipasang dan secara bertahap berubah menjadi otomatis menggunakan Arduino. Sepanjang jalan, dasar-dasar bahasa pemrograman untuk lingkungan Arduino diberitahu.


Perlu dicatat bahwa, meskipun ukurannya kecil, ceramah video sangat informatif, yang tentu saja menyenangkan. Berikut adalah daftar kasar topik minggu pertama yang saya catat untuk diri saya sendiri:


  • Prinsip operasi dan papan tempat memotong roti perangkat
  • Perangkat ini adalah rangkaian listrik paling sederhana. Arus listrik. LED
  • Cara menyajikan sirkuit elektronik. Diagram skematik, sirkuit grafis di lingkungan Fritzing
  • Pengukuran parameter rangkaian listrik. Arus, tegangan, resistansi
  • Papan dan varietas Arduino. IDE Arduino
  • Dasar-dasar pemrograman dalam Arduino IDE. Variabel, Makro, Loop

Pada akhir minggu pertama, saya jujur ​​lulus tes pertama kali dengan 80% jawaban yang benar, membuat 4 kesalahan, salah satunya adalah karena ketidaktahuan material (output LED dan aturan menghubungkannya ke sirkuit), sisanya dibuat karena kurang perhatian. Pada upaya kedua, saya berhasil lulus tes dengan hanya satu kesalahan :)




Sebagai latihan, saya juga memutuskan untuk mencoba mengumpulkan lampu lalu lintas. Karena mengulang latihan satu ke satu tampak sedikit membosankan bagi saya, saya segera memutuskan untuk mengumpulkan dua lampu lalu lintas yang mensimulasikan persimpangan.




Saya menulis program secara kasar dan "di dahi", tetapi ia bekerja persis seperti yang saya maksudkan. Saya jujur ​​mencoba menulis ulang kode dan melakukannya dengan indah - dengan array dan fungsi, tetapi saya langsung terpengaruh oleh ketidaktahuan saya tentang bahasa C - misalnya, saya tidak bisa mencari tahu selama beberapa menit bagaimana membuat array multidimensi dan mengisinya dengan nilai-nilai dalam C. Dilihat oleh kurikulum, topik-topik ini akan dibahas pada minggu ketiga, jadi saya memutuskan untuk tidak maju sendiri dan dengan tenang melanjutkan belajar pada kurikulum.


Kode program
#define PIN_1_G 1 #define PIN_1_Y 2 #define PIN_1_R 3 #define PIN_2_G 4 #define PIN_2_Y 5 #define PIN_2_R 6 int green_on = 5000; int red_on = 5000; void setup() { pinMode(PIN_1_G, OUTPUT); pinMode(PIN_1_Y, OUTPUT); pinMode(PIN_1_R, OUTPUT); pinMode(PIN_2_G, OUTPUT); pinMode(PIN_2_Y, OUTPUT); pinMode(PIN_2_R, OUTPUT); digitalWrite(PIN_1_G, LOW); digitalWrite(PIN_1_Y, LOW); digitalWrite(PIN_1_R, HIGH); digitalWrite(PIN_2_G, HIGH); digitalWrite(PIN_2_Y, LOW); digitalWrite(PIN_2_R, LOW); } void loop() { delay(green_on); for (int i = 0; i < 3; i++) { digitalWrite(PIN_2_G, LOW); delay(500); digitalWrite(PIN_2_G, HIGH); delay(500); } digitalWrite(PIN_2_G, LOW); digitalWrite(PIN_2_Y, HIGH); delay(2000); digitalWrite(PIN_2_Y, LOW); digitalWrite(PIN_2_R, HIGH); delay(1500); digitalWrite(PIN_1_Y, HIGH); delay(2000); digitalWrite(PIN_1_Y, LOW); digitalWrite(PIN_1_R, LOW); digitalWrite(PIN_1_G, HIGH); delay(green_on); for (int i = 0; i < 3; i++) { digitalWrite(PIN_1_G, LOW); delay(500); digitalWrite(PIN_1_G, HIGH); delay(500); } digitalWrite(PIN_1_G, LOW); digitalWrite(PIN_1_Y, HIGH); delay(2000); digitalWrite(PIN_1_Y, LOW); digitalWrite(PIN_1_R, HIGH); delay(1500); digitalWrite(PIN_2_Y, HIGH); delay(2000); digitalWrite(PIN_2_Y, LOW); digitalWrite(PIN_2_R, LOW); digitalWrite(PIN_2_G, HIGH); } 

Pendaftaran kursus


Mulai 27 Maret, entri kursus terbuka: Membangun robot dan perangkat lain di Arduino. Dari lampu lalu lintas ke printer 3D

Source: https://habr.com/ru/post/id402677/


All Articles