Para programmer Python kini bisa mengembangkan sayap keahliannya ke bidang hardware programming karena dengan Python sekarang kita sudah bisa memprogram mikrokontroller. Adalah Micro Python, varian dari bahasa pemrograman Python 3 yang dapat berjalan di mikrokontroller. Python selama ini dikenal sebagai bahasa pemrograman populer yang mudah dipelajari dengan penulisan sintaks yang sederhana. Dengan Micro Python Kamu bisa bikin proyek robotika Kamu dengan lebih mudah dan cepat. Damien George pembuat Micro Python membuat varian Python tersebut dengan menulis ulang dari nol menggunakan bahasa C dengan mengimplementasikan sintaks gramatikal Python, mencakup parser, compiler, vitrual machine, runtime system, garbage collector, dan support library agar dapat berjalan pada mikroprosessor. Micro Python berjalan di atas Python board yang sudah dia rancang seminimal mungkin dengan mengintegrasikan processor ARM 32 bit, tepatnya ARM STM32F405 dengan clock 168MHz, flash memori 1MiB, dan 192KiB RAM. Python board tersebut sudah dilengkapi dengan slot kartu micro SD, dua buah tombol, 4 buah LED, dan 30 pin input/output, real-time clock, dan built-in accelerometer. Selain itu fitur USBnya memungkinkan kita untuk memprogram Python board sebagai perangkat antarmuka komputer kita seperti mouse, keyboard, game-pad dan lain-lain. Kelebihan Micro Python ini, selain fiturnya yang beragam dengan ukuran yang kecil 4 cm x 3,3 cm, kode program ditulis dalam file berekstensi .py dan dapat langsung disimpan di dalam flash memory pada Python board. Proses compiling dilakukan langsung di dalam microprocessor sehingga tidak diperlukan software downloader pada PC. Hal ini sangat memudahkan proses pembuatan dan uji coba program. Selain itu, Micro Python juga dilengkapi dengan REPL Read Evaluate Print Loop atau interactive prompt yang memungkinkan kita untuk mengakses langsung Python board, mencoba-coba kode program dan melihat hasilnya saat itu juga. Micro Python adalah proyek yang mendapat pendanaan melalui Kickstarter dan sudah melampaui inisiasi pendanaan sejak bulan Desember 2013. Damien menjadikan Micro Python dan Micro Python board sebagai open source software dan open source hardware di bawah lisensi MIT sehingga siapapun dapat menggunakan, memodifikasi dan memproduksi baik untuk tujuan komersial maupun non-komersial. Semua resource baik itu kode maupun skema board dapat diakses di Micro Python juga memiliki forum komunitas yang aktif dengan para programmer yang antusias mengembangkan dan melengkapi library yang ada untuk berbagai keperluan hardware. Satu board dihargai 24 British Pounds atau sekitar 42 Dollars. Bagi Kamu yang tertarik atau udah lama ngebet pengen ngulik robot-robotan, Kamu dapat langsung sign up pemesanan board di websitenya untuk produksi manufaktur periode kedua. Sumber
LEDjuga dapat memancarkan sinar inframerah yang tidak tampak oleh mata seperti yang sering kita jumpai pada Remote Control TV ataupun Remote Control perangkat elektronik lainnya. Konfigurasi yang ada dipasaran adalah: (a).Sirip roller yang bisa diatur, (b) plunger, (c) Sirip roller standar, (d) sirip wobbler, (e) sirip rod yang bisa diatur Python MicroPython Microcontroller LumpyMicrocontroller terdiri dari dua kata Micro’ dan Controller’. Kalau kita terjemahkan bisa jadi pengendali mikro/ menurut WikipediaPengendali mikro bahasa Inggris microcontroller adalah sistem mikroprosesor lengkap yang terkandung di dalam sebuah chip. Mikrokontroler berbeda dari mikroprosesor serba guna yang digunakan dalam sebuah PC, karena di dalam sebuah mikrokontroler umumnya juga telah berisi komponen pendukung sistem minimal mikroprosesor, yakni memori dan antarmuka I/O, sedangkan di dalam mikroprosesor umumnya hanya berisi CPU intinya seperti itu ya…Microcontroller itu bukan CPU, tapi sebuah mikroprosesor yang dilengkapi dengan memori dan antarmuka IO untuk menghubungkan benda-benda yang akan tutorial ini, kita akan menggunakan LumpyBoard sebagai papan microcontoller……dan kita akan mencoba mengendalikan atau membuat program untuk menyalakan lampu LED bawaan dari kita muali… Teminologi yang Harus dipahamiSebelum memulai, ada baiknya memahami beberapa terminologi berikut1. PythonPython adalah bahasa pemrograman tingkat tinggi yang akan kita gunakan untuk memrogram kamu yang belum paham bahasa pemrograman Python, kamu dapat mengikuti tutorial pemrograman Python di MicroPythonMicroPython adalah impelemntasi dari python, atau dengan kata lain Python yang sudah dioptimasi untuk LumpyBoardLumpyBoard adalah sebuah papan microcontroller yang dilengkapi dengan WiFi, Bluetooth, dan sudah terpasang custom firmware MicroPython sehingga bisa diprogram menggunakan bahasa pemrograman PicocomPicocom adalah terminal emulator minimalis yang akan kita gunakan untuk mengakses MucroPython yang berada di dan InstalasiKita membutuhkan picocom untuk masuk ke shell MicroPython yang ada di dalam picocom kita juga bisa pakai screen dan pada tutorial ini, kita akan menggunakan picocom instal picocom dengan perintah berikutTunggulah sampai prosesnya selesai…Setelah itu, coba ketik perintah picocom -help untuk memastikan apakah picocom sudah terinstal dengan benar atau tampil seperti ini……berarti picocom sudah terinstal dengan benar dan siap Lampu LED LumpyBoardEksperimen pertama yang harus kita coba adalah menyalakan lampu LED. Lampu LED bisanya digunakan sebagai dulu!Apakah gak ada yang lebih seru lagi, misal mengendalikan robot gitu?Menyalakan lampu LED adalah eksperimen yang paling sederhana dalam harus paham ini dulu, baru bisa membuat eksperimen yang lebih kompleks seperti mengendalikan akan butuh beberapa pengetahuan lagi seperti elektronika, mekanika, kecerdasan buatan, dan mari kita mulai eksperimen hubungkan LumpyBoard dengan laptop menggunakan kabel yang terhubung dengan kabel data dapat kita akases melalui port /dev/ttyUSB0 di Linux dan di Mac melalui port /dev/ di Windows, bagaimana?Maaf saat ini saya belum coba di windows, mungkin nanti saya akan update tutorial ini setelah lanjut…Setelah itu, buka terminal dan ketiksudo picocom -b 115200 /dev/ttyUSB0Parameter -b untuk menentukan baudrate dan /dev/ttyUSB0 adalah port LumpyBoard yang sedang terhubung melalui kabel data atau akan tampil seperti iniPada tahapan ini, kita belum bisa melakukan silahkan tekan Ctrl+a lalu Ctrl+p untuk mereset LumpyBoard, sehingga akan tampil seperti iniSekarang kita berada di dalam shell MicroPython yang ada di sini kita bisa melakukan apapun yang kita inginkan, tentunya dengan bahasa pemrograman percobaan pertama, kita akan menyalakan lampu LED bawaan dari LED ini berada pada pin 23. Berarti nanti saat pembuatan objek Pin, kita harus memberikan parameter untuk mengetik kode berikut>>> from machine import Pin >>> led = Pin23, >>> ledTrue hidupkan LEDSehingga shell akan menjadi seperti iniCobalah perhatikan LumpyBoard, apakah lampu LED-nya menyala?Jika berhasil menyala seperti iniSelamat! 🎉Kamu berhasil…Oke, waktunya saya jelaskan arti kode di kita mengimpor class Pin dari modul machine. Modul machine adalah modul yang berisi fungsi-fungsi untuk mengakses kita membuat objek Pin bernama led dengan parameter 23 dan 23 adalah nomer pin yang digunakan lampu LED pada adalah konstanta yang menyatakan pin tersebut adalah pin untuk juga untuk menyatakan pin input, misal pin untuk saklar, sensor, dan terakhir kita nyalakan lampu LED dengan kode perintahSebenarnya bisa juga seperti iniMau pakai True atau 1 artinya mematikan lampu led, kita bisa lakukan dengan printah iniMari kita coba…Hasilnya, lampu led sekali kan…Membuat Lampu Led BerkedipNah untuk membuat lampu led berkedip, kita membutuhkan satu lagi modul untuk melakukan yang kita butuhkan adalah modul modul ini, terdapat fungsi sleep untuk menunda atau untuk membuat lampunya berkedip terus menerus, kita bisa gunakan seperti inifrom machine import Pin from utime import sleep led = Pin23, loop untuk membuat lampu berkedip whileTrue lednot sleep1 delay 1 detikSehingga pada shell akan menjadi seperti ini…dan hasilnyaNyobain LumpyBoard...MicroPython Python PythonProgramming Petani Kode petanikode January 18, 2019Baik… waktunya saya kita membutuhkan class Pin dari modul machine untuk mengakses lampu LED dan fungsi sleep dari modul utime untuk melakukan machine import Pin from utime import sleepSetelah itu kita membuat objek led yang mewakili lampu kita membuat sebuah while loop yang tak akan pernah berhenti infinity.Di dalamnya kita melakukan toggle lampu lednot toggle sleep1 delay 1 detikJadi di sana kita mengambil nilai led dengan method method ini akan mengembalikan True dan kita gunakan operator not untuk nilai dalam keadaan True menyala, maka setelah kita beri not maka akan menjadi False mati.Apa Selanjutnya?Kita sudah berhasil membuat kode program untuk menyalakan lampu LED yang ada di kamu bisa melakukan beberapa eksperimen berikutMenyalakan lampu LED eksternal;Menyalakan lampu bertegangan tinggi;Menghubunkan LumpyBoard ke internet, lalu menyalakan lampu dari internet;Menggunakan LumpyBoard untuk kendali Mekanik;Membuat Eraly Warning System;dan bereksperimen…Javaadalah bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun Microsystems sejak tahun 1991. Bahasa ini dikembangkan dengan model yang mirip dengan bahasa C++ dan Smalltalk, namun dirancang agar lebih mudah dipakai dan Âplatform independent, yaitu dapat dijalankan di berbagai jenis sistem operasi dan arsitektur komputerÂÂ.
Pemrograman menggunakan bahasa assembly bahasa tingkat rendah memerlukan pemahaman register, termasuk didalamnya nama setiap register dari chip kontroler yang digunakan dan struktur register itu sendiri. Secara fisik, kerja dari sebuah mikrokontroler dapat dijelaskan sebagai siklus pembacaan instruksi yang tersimpan di dalam memori. Mikrokontroler menentukan alamat dari memori program yang akan dibaca, dan melakukan proses baca data di memori. Data yang dibaca diinterprestasikan sebagai instruksi disimpan oleh mikrokontroler di register, yang dikenal sebagai program counter. Instruksi ini misalnya program aritmatika yang melibatkan 2 register. Sarana yang ada dalam program assembly sangat minim, tidak seperti dalam bahasa pemrograman tingkat atas high level language programming semuanya sudah siap pakai. Penulis program assembly harus menentukan segalanya, menentukan letak program yang ditulisnya dalam memori-program, membuat data konstan dan tablel konstan dalam memori-program, membuat variabel yang dipakai kerja dalam memori-data dan lain sebagainya. Program-sumber assembly assembly source program merupakan kumpulan dari baris-baris perintah yang ditulis dengan program penyunting-teks text editor sederhana, misalnya program dalam DOS, atau program NOTEPAD dalam Windows atau MIDE-51. Kumpulan baris-printah tersebut biasanya disimpan ke dalam file dengan nama ekstensi *. ASM dan lain sebagainya, tergantung pada program Assembler yang akan dipakai untuk mengolah program-sumber assembly tersebut. Setiap baris-perintah merupakan sebuah perintah yang utuh, artinya sebuah perintah tidak mungkin dipecah menjadi lebih dari satu baris. Satu baris perintah bisa terdiri atas 4 bagian, bagian pertama dikenali sebagai label atau sering juga disebut sebagai symbol, bagian kedua dikenali sebagai kode operasi, bagian ketiga adalah operand dan bagian terakhir adalah komentar. Antara bagian-bagian tersebut dipisahkan dengan sebuah spasi atau tabulator. Label Label dipakai untuk memberi nama pada sebuah baris-perintah, agar bisa mudah menyebitnya dalam penulisan program. Label bisa memberi nama pada baris bersangkutan. Bagian label sering disebut juga sebagai bagian symbol, hal ini terjadi kalau label tersebut tidak dipakai untuk menandai bagian program, melainkan dipakai untuk menandai bagian data. Bagian Kode Operasi Kode operasi operation code atau sering disingkat sebagai OpCode merupakan bagian perintah yang harus dikerjakan. Dalam hal ini dikenal dua macam kode operasi, yang pertama adalah kode-operasi untuk mengatur kerja mikroprosesor / mikrokontroler. Jenis kedua dipakai untuk mengatur kerja program assembler, sering dinamakan sebagai assembler directive. Kode-operasi ditulis dalam bentuk mnemonic, yakni bentuk singkatan-singkatan yang relatip mudah diingat, misalnya adalah MOV, ACALL, RET dan lain sebagainya. Kode-operasi ini ditentukan oleh pabrikpembuatikroprosesor/ penerjemahan tersebut dilakukan oleh program yang dinamakan sebagai Program luar kode-operasi yang ditentukan pabrik pembuat mikroprosesor/mikrokontroler, ada pula kode-operasi untuk mengatur kerja dari program assembler, misalnya dipakai untuk menentukan letak program dalam memori ORG, dipakai untuk membentuk variabel DS, membentuk tabel dan data konstan DB, DW dan lain sebagainya. Bagian operand Operand merupakan pelengkap bagian kode operasi, namun tidak semua kode operasi memerlukan operand, dengan demikian bisa terjadi sebuah baris perintah hanya terdiri dari kode operasi tanpa operand. Sebaliknya ada pula kode operasi yang perlu lebih dari satu operand, dalam hal ini antara operand satu dengan yang lain dipisahkan dengan tanda operand sangat bervariasi, bisa berupa kode-kode yang dipakai untuk menyatakan Register dalam prosesor, bisa berupa nomor-memori alamat memori yang dinyatakan dengan bilangan atau pun nama label, bisa berupa data yang siap di-operasi-kan. Bagian komentar Bagian komentar merupakan catatan-catatan penulis program, bagian ini meskipun tidak mutlak diperlukan tapi sangat membantu masalah dokumentasi. Membaca komentar-komentar pada setiap baris-perintah, dengan mudah bisa dimengerti maksud tujuan baris bersangkutan, hal ini sangat membantu orang lain yang membaca program. Pemisah bagian komentar dengan bagian sebelumnya adalah tanda spasi atau tabulator, meskipun demikian huruf pertama dari komentar sering-sering berupa tanda titik-koma, merupakan tanda pemisah khusus untuk komentar. Untuk keperluan dokumentasi yang intensip, sering-sering sebuah baris yang merupakan komentar saja, dalam hal ini huruf pertama dari baris bersangkutan adalah tanda titik-koma. AT89S51 memiliki sekumpulan instruksi yang sangat lengkap. Instruksi MOV untuk byte dikelompokkan sesuai dengan mode pengalamatan addressing modes. Mode pengalamatan menjelaskan bagaimana operand penjelasan dari berbagai mode pengalamatan. Bentuk program assembly yang umum ialah sebagai berikut Isi memori ialah bilangan heksadesimal yang dikenal oleh mikrokontroler kita, yang merupakan representasi dari bahasa assembly yang telah kita buat. Mnemonic atau opcode ialah kode yang akan melakukan aksi terhadap operand . Operand ialah data yang diproses oleh opcode. Sebuah opcode bisa membutuhkan 1 ,2 atau lebih operand, kadang juga tidak perlu operand. Sedangkan komentar dapat kita berikan dengan menggunakan tanda titik koma ;. Berikut contoh jumlah operand yang berbeda beda dalam suatu assembly. CJNE R5,22H, aksi ;dibutuhkan 3 buah operand MOVX DPTR, A ;dibutuhkan 2 buah operand RL A ;1 buah operand NOP ; tidak memerlukan operand Program yang telah selesai kita buat dapat disimpan dengan ekstension .asm. Lalu kita dapat membuat program objek dengan ekstension HEX dengan menggunakan compiler MIDE-51 Berikutini tabel perbandingan kecepatan processor dan efisiensi eksekusi beberapa mikrokontroller: Dari tabel diatas dapat dilihat, ketika bekerja dengan kecepatan clock yang sama AVR 7 kali lebih cepat dibandingkan dengan PIC16C74, 15 kali lebih cepat daripada 68 HC11, dan 28 kali lebih cepat dibanding 8051. ProgramPLC dapat dibuat dengan menggunakan beberapa cara yang disebut bahasa pemrograman. Bentuk program berbeda-beda sesuai dengan Bahasa pemrograman yang digunakan. Bahasa pemrograman tersebut antara lain ladder diagram / diagram tangga, kode mnemonik, diagram blok fungsi, dan teks terstruktur.