DIY Perangkat IoT Cerdas: Bangun dengan ATmega32U4, ESP8266 & Sensor
Komponen dan Perlengkapan
Microchip Technology ATmega32U4 – 1 unit
Espressif ESP8266 ESP-12E – 1 unit
Kristal 16 MHz – 1 unit
Power MOSFET N-Channel – 4 unit
Digilent Voltage Regulator Module – 1 unit
DHT11 Sensor Suhu & Kelembaban (4 pin) – 1 unit
Maxim Integrated DS18B20 Digital Thermometer 1-Wire – 1 unit
MikroE Water Detect click – 1 unit
Layar LCD Arduino – 1 unit
Fotoresistor (LDR) – 1 unit
Alat dan Mesin yang Diperlukan
Printer 3D (umum)
Pemotong laser (umum)
Aplikasi dan Layanan Online
Autodesk Fusion 360
Arduino IDE
Tentang Proyek Ini
Pengantar
Saya sangat terinspirasi setelah menonton TED Talk tentang Pertanian Digital, yang disampaikan oleh direktur MIT’s Open Agriculture Initiative, Caleb Harper, yang mengangkat topik: Komputer Ini Akan Menanam Makanan Anda di Masa Depan. Pertanyaan penting yang diangkat dalam pidatonya yang benar-benar menginspirasi saya adalah Bagaimana jika kita bisa menanam makanan yang lezat dan kaya nutrisi, di ruangan, di mana saja di dunia? Dan di sinilah ide ini lahir!
Jadi, yang saya coba lakukan adalah sesuatu seperti kotak atau inkubator, yang mampu menciptakan kondisi iklim ideal yang diperlukan untuk pertumbuhan, menyediakan jumlah cahaya dan nutrisi yang tepat yang dibutuhkan tanaman. Saya ingin membangun emulator matahari, sistem irigasi, dan pengontrol iklim yang dibungkus dalam satu desain elegan dan modern.
Saya berencana mencapai hasil yang diinginkan dengan menerapkan teknologi berikut:
Lampu Grow LED - Klorofil dalam tanaman terutama merespons hanya dua panjang gelombang, yang direpresentasikan oleh 450nm & 650nm. Sistem LED yang akan saya gunakan akan memiliki kombinasi lampu LED merah dan biru untuk memberikan campuran sempurna yang membantu pertumbuhan vegetatif dan generatif.
Atomizer Ultrasonik (pembuat kabut) - Saya ingin menggunakan metode irigasi baru, yang baru saja saya temukan sendiri, disebut aeroponik (FogPonics) yang menyirami tanaman melalui kabut yang diinfus pupuk.
Pemberian Nutrisi Otomatis - Sistem ini akan secara otomatis memberikan nutrisi untuk tanaman tepat ketika mereka membutuhkannya.
Sistem Penginderaan Air - Saya ingin melengkapi sistem saya dengan sensor pH dan TDS (Total Dissolved Solids) untuk membantu memelihara nilai pH yang seimbang dalam wadah air yang paling cocok untuk tanaman serta mengetahui dan memberikan peringatan kapan harus memberikan nutrisi.
Sistem Pertukaran Air - Sistem harus dilengkapi dengan sambungan untuk pertukaran air otomatis. Saya ingin membuat proses ini mudah, dan dikontrol hanya dengan klik tombol.
Sistem Pengontrol Udara - Ini memungkinkan kontrol yang presisi atas suhu dan kelembaban di dalam sistem, hingga satu derajat. Teknologi di baliknya melibatkan penggunaan sensor Suhu/Kelembaban seperti DHT22 atau DHT11 untuk menerima data, dan kipas dengan solenoid untuk mengaturnya sesuai kebutuhan.
Aplikasi Seluler - Saya benar-benar ingin membuat aplikasi untuk pertama kalinya dalam hidup saya! Aplikasi ini harus mencakup informasi waktu nyata tentang tingkat pH, suhu, kelembaban, nutrisi, ppm, dll. dan representasi grafik seiring waktu untuk melacak statistik dan berbagi progres pertumbuhan di media sosial. Saya juga ingin menerapkan peringatan cerdas yang akan memberitahu saya ketika sistem membutuhkan intervensi saya. Saya juga ingin tidak hanya menerima representasi data di ponsel saya, tetapi juga dapat menyiapkan kondisi iklim di dalam sistem!
Sayangnya, saya bukan orang pertama yang datang dengan ide ini, tetapi cara terbaik untuk datang dengan ide kreatif adalah dengan meningkatkan yang sudah ada!
Ada beberapa proyek serupa yang tersedia di pasaran, namun, meskipun semua keuntungan individu, mereka juga memiliki beberapa kelemahan seperti terlalu banyak ruang atau terlalu kecil, terlalu mahal, hanya menanam satu tanaman pada satu waktu, dll. Saya telah melakukan banyak riset dan menganalisis dengan cermat kekuatan dan kelemahan proyek yang tersedia, dan dengan mempertimbangkan respons pasar, saya ingin datang dengan sistem open source baru yang canggih, yang akan mengurangi kelemahan dan akan menerapkan hanya fitur-fitur terbaik.
Sangat ambisius, bukan? Tapi ayo kita coba
Eksperimen
Berurusan dengan tanaman sangat memakan waktu! Mereka biasanya membutuhkan beberapa minggu hingga beberapa bulan untuk tumbuh, dan saya harus siap untuk itu!
Karena saya sudah tahu apa yang ingin saya bangun untuk proyek akhir saya, saya harus merawatnya sejak awal dan tidak menunda semuanya untuk saat terakhir. Itu sebabnya, saya akan mulai menguji dan bereksperimen secepat mungkin!
Hal pertama yang ingin saya ketahui adalah fakta bahwa menanam tanaman menggunakan kabut kaya nutrisi dan lampu Grow LED lebih baik daripada sistem konvensional dengan tanah dan cahaya matahari! Secara teori, ini seharusnya persis kasusnya, tetapi saya tidak percaya pada apa pun sampai saya mencobanya!
Jadi saya memutuskan untuk memulai eksperimen sendiri, yang akan membutuhkan waktu, dan terdiri dari membagi tanaman ke dalam beberapa kelompok:
(Tanah + Matahari) - kelompok ini akan tumbuh dalam kondisi alami sepenuhnya, ditanam di tanah, dan ditempatkan di pejana.
(Kabut + Matahari) - kelompok ini akan ditempatkan dalam wadah yang akan memiliki kabut kaya nutrisi di dalamnya, dan juga ditempatkan di pejana yang sama
(Tanah + Lampu Grow LED) - kelompok ini akan di tanah, tetapi akan menggunakan lampu Grow LED buatan alih-alih matahari
(Kabut + Lampu Grow LED) - ini adalah kelompok HERO) Karena sistem masa depan saya akan menerapkan kedua fitur ini, lampu Grow LED dan kabut kaya nutrisi, saya harap untuk menemukan bahwa kombinasi ini akan menunjukkan hasil terbaik!
Di toko Jerman lokal Kaufland, di departemen tanaman, saya membeli benih campuran rempah-rempah. Ini akan menjadi bayi percobaan saya :p
Ini adalah pertama kalinya dalam hidup saya menanam sesuatu :D jangan menghakimi saya jika saya melakukan sesuatu yang salah!)
Saya telah memeriksa beberapa tutorial sebelumnya, dan saya belajar bahwa saya harus menyuburkan benih terlebih dahulu. Saya mendapatkan wadah plastik, di mana saya menempatkan benih, dan menutupnya dengan handuk kertas. Pada tahap ini, mereka membutuhkan kelembaban hampir 100%, itulah sebabnya saya menggunakan spray untuk menyirami handuk kertas, dan menutup wadah dengan kantong plastik, sehingga air tidak menguap.
Saya membiarkan benih selama 1,5 minggu, dan ketika saya membuka wadah, saya sangat terkejut!
Hampir semua benih tumbuh! Saya bahagia seperti anak kecil)
Selanjutnya saya harus memilih tanaman kecil terbaik, yang memiliki batang paling tebal, dan terlihat lebih besar dan lebih baik secara keseluruhan.
Dalam tutorial yang saya ikuti (bloger YouTube), orang itu merekomendasikan untuk menanam tanaman kecil ke dalam media apapun, sampai mereka memberikan daun "kedua". Di Amazon saya memesan pellet serbat kelapa. Mereka organik, memiliki properti yang mirip dengan tanah, dan hal keren adalah ketika pellet disiram, mereka menjadi 6 kali lebih besar ukurannya.
Saya juga membeli kotak, yang memiliki pemisah khusus untuk menanam! Saya mendapatnya hanya dengan 2 euro, dan ini membuat hal-hal menjadi lebih terorganisir. Saya menempatkan pellet serbat kelapa di dalam pemisah kotak, menyiramnya sampai mereka sepenuhnya terhidrasi, menempatkan tanaman kecil di tengah, dan menutup kotak dengan potongan plastik transparan yang hadir dengan kit kotak.
rumah kaca kecil saya terlihat seperti ini:
Saya menutup kotak, dan membiarkannya selama satu minggu!
Dan lagi ketika saya membukanya, saya terkejut! Mereka sebenarnya menjadi lebih besar! Saya tidak pernah membayangkan bahwa saya dapat mengelola untuk menanam beberapa tanaman, saya hampir tidak dapat merawat diri sendiri :D
Setelah satu minggu, perbedaannya terlihat!
Sekarang ketika saya melihat akar pertama, saya dapat menempatkannya di tanah dan bola liat, dan mulai bereksperimen dengan kabut!
Selama minggu Desain Berbantuan Komputer, saya mendesain cangkir jaring, yang saya gunakan untuk menempatkan tanaman
Saya juga membeli di toko lokal wadah plastik dengan ukuran mendekati yang saya butuhkan, dan mencoret lubang untuk dibor!
Dan inilah sistem uji yang sudah sayarakit, dengan tanaman di dalam pellet serbat kelapa, dan bola liat, serta tanah!
Sejujurnya, hasilnya bisa lebih baik :D
Hanya beberapa tanaman yang bertahan di sistem kabut saya. Tebakan saya adalah karena medium pertumbuhan! Kabut tidak cukup kuat untuk menjaga bola liat basah, baik tanah.
Libur Paskah!
Selama libur Paskah saya tidak melakukan apa-apa, dan karena laboratorium ditutup, seluruh sistem juga mati. Jadi, semua tanaman saya mati
Dengan pikiran segar, saya memutuskan untuk membuat sistem lain, tetapi kali ini menggunakan medium pertumbuhan lain berdasarkan pengamatan sebelumnya
Medium pertumbuhan yang saya pilih untuk sistem ini adalah Rock Wool. Saya membelinya di toko IKEA lokal kami. Saya juga membeli beberapa benih dari departemen mereka
Dan saya menempatkan benih baru ke dalam rock wool untuk penyuburan selama satu minggu!
Setelah satu minggu saya memeriksa kotak saya, dan memperhatikan bahwa satu jenis benih berhasil, yang lain gagal! Karena keterbatasan waktu, saya melanjutkan dengan benih yang tumbuh
Sementara itu, saya menyiapkan sistem kabut lain, dan akan mencoba untuk meningkatkan waktu kerjanya, untuk melihat apakah saya dapat menyuburkan benih menggunakan kabut, HANYA KABUT!
Saya akan terus bereksperimen dengan parameter dan pengaturan yang berbeda, dan melihat sejauh mana saya dapat mencapai!)
Desain & Produksi Elektronika
Sebelum melompat ke desain papan akhir, saya duduk untuk menggambar di selembar kertas semua fitur dan persyaratan yang harus diterapkan dan dipenuhi oleh papan! Saya juga melacak berapa banyak pin yang akan digunakan, untuk memperkirakan dengan lebih baik dan memutuskan mikroprosesor mana yang akan menjadi pilihan akhir
Ini adalah sketsa dari apa yang harus ada pada papan:
Pilihan akhir untuk papan yang akan digunakan adalah antara satshakit dari Daniele Ingrassia dan FABLEO oleh Jonathan Grinham
satshakit adalah papan open source yang kompatibel 100% dengan Arduino IDE dan perpustakaan, dapat dibuat di fab lab, dan juga versi yang ditingkatkan dari Fabkit.
Peningkatan dan Fitur Utama di atas Fabkit adalah:
16Mhz alih-alih 8Mhz
kristal alih-alih resonator
biaya lebih murah (7-9 euro vs 13 euro)
kompatibel 100% dengan Arduino IDE default (satshakit dikenali sebagai Arduino UNO)
ADC6/7 terhubung alih-alih ADC6/7 tidak terhubung (satshakit laser dan cnc)
ruang lebih luas untuk pemelahan yang mudah (satshakit laser dan cnc)
Di sisi lain, FabLeo memiliki fitur yang sangat serupa, ditambah hardware USB! Karena saya sudah menggunakan ATmega328p sebelumnya, saya ingin mencoba sesuatu yang baru, dan memutuskan untuk menggunakan desain FabLeo sebagai titik awal saya
Alkitab saya dan panduan #1 untuk tugas ini adalah pinout ATmega32u4
Untuk mendesain papan, perangkat lunak yang akan saya gunakan untuk ini adalah EAGLE (Easily Applicable Graphical Layout Editor) adalah program skematis EDA, tata letak PCB, autorouter, dan CAM yang fleksibel dan dapat diperluas. EAGLE populer di kalangan hobi karena lisensi freeware dan ketersediaan perpustakaan komponen yang melimpah di web.
Eagle memiliki dua jendela yang digunakan secara bersamaan untuk mendesain papan:
Skematis (.sch) - komponen logis
Tata Letak Papan (.brd) untuk papan asli yang kita fres
Setelah saya menginstal EAGLE, hal pertama yang ingin saya lakukan adalah Buat Skematis Baru. Skematis dalam elektronika adalah gambar yang mewakili rangkaian. Ia menggunakan simbol untuk mewakili komponen elektronik dunia nyata. Simbol paling dasar adalah konduktor sederhana (jejak), yang ditampilkan hanya sebagai garis. Jika kabel terhubung dalam diagram, mereka ditampilkan dengan titik di persimpangan.
Untuk menempatkan komponen saya pada skematis, saya harus mengunduh dan menggunakan Perpustakaan khusus. Eagle memiliki banyak perpustakaan bawaan komponen yang dapat kita gunakan. Jaring fab juga memelihara perpustakaan yang selalu diperbarui:
fab.lbr
Untuk menginstal perpustakaan, di lingkungan EAGLE, buka toolbar atas dan pilih menu Library. Kemudian pilih use dan buka file .lbr yang baru saja saya unduh.
Sekarang saya dapat pergi ke Tambah komponen dan memilih perpustakaan, saya memilih komponen yang ingin saya tempatkan.
Saya sudah menempatkan semua komponen pada skematis saya, saya harus menghubungkan masing-masing ke pin mikroprosesor. Di menu kiri EAGLE, saya klik Net, perintah yang memungkinkan saya menggambar garis hijau dan menghubungkan pin. Hal penting adalah memulai koneksi dari garis kecil pada pin (Saya menandainya pada gambar)
Untuk menghindari banyak koneksi, saya akan menggunakan Label.. Di menu kiri EAGLE, saya tekan Tambah Label dan menambahkannya ke akhir garis koneksi saya. Jika saya menekan klik kanan dan kemudian memilih nama, saya dapat memberikan label dengan nama yang sama yang saya gunakan untuk pin mikroprosesor, dan menghubungkannya dengan cara ini!
Jika saya melakukan semuanya dengan benar, pesan harus muncul yang menyatakan: Apakah Anda yakin ingin menghubungkan label Anda (N$10) dengan GND?
Pada tahap ini, pada skematis, yang penting adalah Logika dari semua koneksi, bukan bagaimana tampilannya. Setelah saya selesai menempatkan semua komponen, dan menghubungkannya dengan cara yang logis, ini adalah tampilannya:
Saya menambahkan pinheader AVRISP, dan menempatkannya sesuai urutan untuk konektor. Pin ini akan digunakan untuk memrogram papan saya.
Ini adalah skematis rangkaian USB bersama dengan kristal
Saya juga menambahkan rangkaian Regulator Tegangan yang akan memberi daya pada seluruh papan dengan mengubah input 12V menjadi 5V
Salah satu fitur penting dari papan ini adalah rangkaian MOSFET, saya menambahkan 4 di antaranya, 3 terhubung langsung ke input (12V), dan satu akan terhubung ke regulator tegangan step-up. Terakhir akan digunakan untuk memberi daya pada kabut yang bekerja pada 24V
Setelah saya memeriksa ulang semua koneksi, saya dapat melanjutkan ke langkah berikutnya, yaitu Tata Letak Papan. Di menu atas, saya menekan Buat/Switch ke Papan.
Hal pertama yang saya lakukan adalah meningkatkan resolusi Grid. Saya pergi ke menu View, dan menekan Grid, dan mengubah nilai menjadi 0.01. Ini akan memungkinkan saya lebih tepat saat menggambar garis rute.
Mengagumkan, perutean papan paling kompleks yang telah saya buat sejauh ini juga adalah yang tercepat!) Saya bangga dengan diri saya. Pengalaman membuat papan telah berpengaruh baik pada meningkatkan kecepatan. Setelah saya selesai merute, inilah tampilan si kecil ini:
Untuk papan ini saya juga menggunakan trik yang saya pelajari sebelumnya. Saya menggambar poligon di sekitar komponen saya, dan dengan menekan klik kanan pada garis poligon, saya mengubah namanya menjadi GND. Ini akan mengisi seluruh area di dalam poligon, dan menjadikannya GND.
Ini akan menghemat banyak waktu, ruang, dan upaya
Setelah saya memeriksa ulang semuanya, saya dapat Ekspor file saya sebagai gambar .png.
Di jendela yang muncul, saya meningkatkan resolusi menjadi 1500 dpi, klik monochrome, dan pilih mode window.
Untuk mengedit gambar .png, saya akan membuka gambar saya di GIMP, dan menggunakan rectangular select tool, saya memilih gambar dengan memberi sedikit ruang dari semua sisi. Setelah saya menekan File dan Copy area yang dipilih. Untuk melanjutkan bekerja dengan gambar yang dipilih, saya klik lagi pada File, dan Create from the Clipboard
Ini adalah apa yang saya dapatkan setelah semua pengeditan:
Gambar ini siap untuk dicetak, dan saya akan menyebutnya Inside_Cut
Saya menyiapkan proses untuk Outside Cut, dan inilah apa yang saya dapatkan:
Karena papan saya double sided, saya harus fres dua potongan, lalu menempelkannya bersama-sama. Satu hal yang perlu diingat adalah bagian bawah harus dicerminkan secara horizontal
Bagian bawah Inside_Cut
Bagian bawah Outside_Cut
Sekarang saya dapat melanjutkan ke mesin fres CNC. Jadi, lagi saya menggunakan FabModules untuk mengonversi file .PNG menjadi Gcodes untuk mesin Roland.
Mari kita mulai bekerja dengan Fab Modules. Ketika saya memasukkan alamat ip ke dalam jendela browser, antarmuka pertama yang akan muncul adalah:
Setelah saya menekan tombol abu-abu input format, menu baru harus muncul dengan opsi untuk memuat gambar .PNG. Di sini saya mengunggah gambar pertama, yang merupakan gravir dalam. Setelah melakukan itu, pratinjau gambar akan muncul di Fab Modules dan juga kolom dan parameter lainnya akan muncul
Di sisi kanan jendela, kita memiliki banyak parameter input. Untuk dapat menggerakkan mesin, kita harus memasukkan parameter berikut:
mod_lp.py /dev/usb/lp0 ke dalam kolom send command
hostname_of_your_machine ke dalam kolom server (hanya alamat tanpa http atau /)
Untuk menggerakkan mesin saya hanya memasukkan koordinat posisi x, y dan z ke dalam kolom yang sesuai. Sebelum menggerakkan mesin saya harus memastikan bahwa parameter zjog selalu diatur ke 0, meskipun akan berubah secara otomatis. Untuk menggerakkan mesin saya harus menekan tombol move to xyz0.
* Sebuah life hack adalah menggunakan multimeter dan memeriksa apakah ada koneksi antara alat dan permukaan. Sebagai alat untuk menggerawang PCB disarankan untuk menggunakan diameter dari 0.2 mm dan di bawahnya, sementara untuk memotong kita dapat menggunakan alat 1 mm.
Jadi pengaturan akhir saya terlihat seperti ini:
Untuk potongan luar pengaturan tetap sama dengan pengecualian nilai sumbu Z, karena saya mengganti alat 0.2mm dengan alat 1mm. Inilah tampilannya:
Ulangi proses yang sama untuk Bagian bawah dan fres bagian Dalam dan Luar:
Ini adalah hasil akhir untuk bagian Top:
Dan bagian Bottom:
Dan sekarang Mari kita solder!
Untuk memastikan bahwa saya solder semuanya dengan cara yang benar, setelah setiap komponen disolder, saya menggunakan multimeter untuk memeriksa apakah ada konduktivitas antara komponen dan jejak.
Animasi pendek dari prosesnya:
Saya mencolokkan papan PCB untuk memeriksa apakah semuanya baik, saya menemukan kesalahan. Dari pengalaman, saya tahu bahwa kesalahan tersebut dari rangkaian pendek, karena komputer terus memutuskan Arduino setiap kali saya menghubungkan VCC dan GND ke sana. Jadi tebakan saya adalah di suatu tempat pada papan VCC dan GND terhubung, dan menggunakan multimeter, saya memastikan bahwa saya benar.
Saya sudah larut malam, dan saya menjadi sangat maru karena itu, memakan waktu satu jam di bawah mikroskop untuk menemukan kesalahan kecil itu. Inilah:
Saya memperbaikinya dengan menggores dengan pisau, dan meningkatkan isolasi!
Hal lain adalah menempatkan Regulator Tegangan Step Up di bagian belakang papan saya.
Saya mengukur dimensi sebelumnya, dan mendesain lubang predrilled untuk memasangnya dengan pinheader. Namun sebelum soldernya di bagian belakang, saya harus menkalibrasinya.
Ideanya adalah ketika saya memberi daya pada papan dengan 12V, step up akan menghasilkan 24V yang diperlukan untuk Atomizer Ultrasonik, yang terhubung ke rangkaian MOSFET
Saya menggunakan supply listrik meja, dengan 12V tetap, untuk mengukur tegangan output menggunakan multimeter.
Setelah saya menyesuaikan output sesuai yang saya butuhkan, 24V dalam kasus saya, saya dapat soldernya ke bagian belakang papan saya!
Di bagian belakang juga, saya menempatkan papan WiFi yang saya buat selama minggu Jaringan dan Komunikasi!
Jadi, inilah The BEAST:
Sebuah gambar hero bagi mereka yang mungkin pikir itu mudah, dan semuanya berjalan lancar :D
Untuk memrogram papan saya saya menggunakan Arduino IDE. Saya menghubungkan papan Arduino ke hub USB, di menu tools pilih papan yang tepat (Arduino Leonardo) dan port, lalu pergi ke File--> examplesdan buka sketsa Arduino as ISP. Unggah kode.
Setelah saya melihat done uploading, yang berarti kode diunggah ke papan, saya memutuskan Arduino dari PC. Langkah berikutnya adalah menghubungkan papan PCB saya ke Arduino menggunakan beberapa kabel. Skema koneksi adalah sebagai berikut:
SCLK: Serial Clock (output dari master) ----------> Arduino Pin 13
Saya menghubungkan papan Arduino ke hub USB. Di bawah Tools pilih papan yang tepat, pilih Arduino as ISP programmer, periksa ulang parameter, dan tekan tombol Burn Bootloader.
Dan saya melihat Done Uploading! Tanda baik)
Untuk menguji papan, saya mengunggah kode contoh dasar Blink:
Ohh, saya CINTA BLINK ini :D Sekarang mari kita pergi ke sensor!
Sensor pertama yang ingin saya gunakan adalah DHT11 - Sensor Suhu & Kelembaban
Sensor ini sangat dasar dan lambat, namun hebat untuk hobiis yang ingin melakukan pencatatan data dasar. Sensor DHT terdiri dari dua bagian, sensor kelembaban kapasitif dan termistor. Ada juga chip dasar di dalam yang melakukan konversi analog ke digital dan mengeluarkan sinyal digital dengan suhu dan kelembaban. Sinyal digital cukup mudah dibaca menggunakan mikrokontroler apa pun.
Beberapa karakteristik:
Biaya ultra rendah
Daya dan I/O 3 sampai 5V
Arus maksimal 2.5mA selama konversi (saat meminta data)
Bagus untuk pembacaan kelembaban 20-80% dengan akurasi 5%
Bagus untuk pembacaan suhu 0-50°C ±2°C akurasi
Tidak lebih dari 1 Hz tingkat sampling (sekali setiap detik)
Ukuran badan 15.5mm x 12mm x 5.5mm
4 pin dengan jarak 0.1"
Penghubungannya cukup mudah, hanya VCC, GND, dan Pin Digital apa pun! Dalam kasus saya, saya sudah merancang koneksi untuk sensor ini sebelumnya.
Untuk mengujinya, saya akan mengunggah sketsa sederhana. Sketsa ini menyertakan perpustakaan DHT.h
Jadi inilah kodenya:
// DHT11 Temperature and Humidity Sensors Example #include "DHT.h" //include DHT library #define DHTPIN 2 //define as DHTPIN the Pin 2 used to connect the Sensor #define DHTTYPE DHT11 //define the sensor used(DHT11) DHT dht(DHTPIN, DHTTYPE); //create an instance of DHT void setup() { Serial.begin(9600); //initialize the Serial communication dht.begin(); //initialize the Serial communication } void loop() { float h = dht.readHumidity(); // reading Humidity float t = dht.readTemperature(); // read Temperature as Celsius (the default) Serial.print("Temperature = "); Serial.println(t, 2); //print the temperature Serial.print("Humidity = ");; Serial.println(h, 2); //print the humidity delay(2000); //wait 2 seconds }
Ketika saya membuka Serial Monitor, inilah yang saya dapatkan:
Sensor lain yang ingin saya gunakan adalah DS18B20 - Sensor Suhu Digital One Wire
DS18B20 adalah sensor suhu digital 1-Wire dari Maxim IC. Melaporkan derajat dalam Celsius dengan presisi 9 sampai 12-bit, dari -55 hingga 125 (+/-0.5). Setiap sensor memiliki nomor Serial 64-Bit unik yang terukir di dalamnya - memungkinkan sejumlah besar sensor untuk digunakan pada satu bus data.
Ini adalah salah satu sensor digital paling mudah untuk dihubungkan. Selain daya dan ground, itu memiliki satu pin sinyal digital yang akan saya hubungkan ke pin digital yang sudah saya rancang sebelumnya. Ini juga memerlukan resistor pull-up 4.7k antara pin sinyal dan daya, yang sayangnya saya lupa untuk menempatkannya pada PCB saya. Itulah sebabnya, saya akan solder secara manual langsung ke kabel sensor.
Sebelum memulai, saya harus mengunduh perpustakaan: OneWire.h dan DallasTemperature.h
Unggah sketsa berikut:
// First we include the libraries #include <OneWire.h> #include <DallasTemperature.h> #define ONE_WIRE_BUS 3 // Setup a oneWire instance to communicate with any OneWire devices, (not just Maxim/Dallas temperature ICs) OneWire oneWire(ONE_WIRE_BUS); // Pass our oneWire reference to Dallas Temperature. DallasTemperature sensors(&oneWire); void setup(void) { // start serial port Serial.begin(9600); sensors.begin(); } void loop(void) { // call sensors.requestTemperatures() to issue a global temperature (request to all devices on the bus) sensors.requestTemperatures(); // Send the command to get temperature readings Serial.print("Temperature is: "); Serial.print(sensors.getTempCByIndex(0)); //You can have more than one DS18B20 on the same bus. 0 refers to the first IC on the wire delay(1000); }
Hal lucu adalah setelah saya berhasil memprogram sensor, Ini berhenti bekerja saat saya mengintegrasikan semua sensor bersama! Saya menghabiskan waktu cukup lama mencoba mengetahui mengapa tidak bekerja, namun karena waktu yang terbatas, saya memutuskan untuk menggunakan sensor DS18B20 lain yang tersedia di stok FabLab kami, dan menjadikannya tahan air sendiri!
Jadi saya mengambil sensor, dan menggunakan datasheet untuk solder kabel dengan benar, dan mengisolasi mereka satu sama lain menggunakan tabung krimpit
Saya kira Anda sudah mendapat ide bagaimana saya akan menjadikannya tahan air, kan? :D Mama ama engineer!
Selesai & DONE!
Ya, saya tahu itu terlihat seperti :D tapi saya menjamin, itu hanya sensor tahan air buatan tangan. Yang terpenting adalah itu bekerja, dan tidak bocor saat direndam dalam air!
Dan kita pergi ke sensor berikutnya yang adalah LDR = Light Dependent Resistor
LDR adalah komponen elektronik pasif, dasarnya resistor yang memiliki resistensi yang bervariasi tergantung pada intensitas cahaya. Resistensi sangat tinggi dalam kegelapaan, hampir setinggi 1MΩ tetapi ketika ada cahaya yang jatuh pada LDR, resistensi turun menjadi beberapa KΩ (10-20kΩ @ 10 lux, 2-4kOmega; @ 100 lux) tergantung pada model.
LDR menghasilkan tegangan analog ketika terhubung ke Vcc (5V), yang bervariasi secara proporsional langsung dengan intensitas cahaya input padanya. Artinya, semakin besar intensitas cahaya, semakin besar pula tegangan yang sesuai dari LDR. Karena LDR menghasilkan tegangan analog, itu terhubung ke pin input analog pada Arduino. Arduino, dengan ADC (Analog to Digital Converter) bawaan, kemudian mengonversi tegangan analog (dari 0-5V) menjadi nilai digital dalam rentang (0-1023). Ketika ada cahaya yang cukup di lingkungan atau pada permukaan, nilai digital yang dibaca dari LDR melalui Arduino akan berada dalam rentang 800-1023.
Ini adalah kode sketsa untuk menguji sensor:
int sensorPin = A0; /* select the input pin for LDR */ int sensorValue = 0; /* variable to store the value coming from the sensor */ void setup(void) { Serial.begin(9600); /* start serial port */ } void loop(void) { sensorValue = analogRead(sensorPin); // read the value from the sensor // We'll have a few threshholds, qualitatively determined Serial.print("LDR Value = "); Serial.print(sensorValue); if (sensorValue < 100) { Serial.println(" (Dark)"); } else if (sensorValue < 200) { Serial.println(" (Dim)"); } else if (sensorValue < 500) { Serial.println(" (Light)"); } else if (sensorValue < 800) { Serial.println(" (Bright)"); } else { Serial.println(" (Very bright)"); } delay(3000); }
Selanjutnya adalah Water Level Sensor
Saya ingin memiliki sensor level air untuk menerima peringatan saat wadah air kosong, dan saatnya menambahkan air. Karena saya tidak memikirkannya sebelumnya, dan kami tidak memiliki sensor level air dalam stok kami, saya memutuskan bahwa saya dapat membuat sensor air sendiri!
Saya memutuskan untuk menggunakan bahan yang tersedia, dalam kasus saya Soil Moisture Sensor. Prinsip dasar sensor level air adalah untuk mengukur konduktivitas listrik, yang sama untuk sensor kelembaban tanah. Saya pikir jika saya dapat mengkalibrasi sensor dengan cara yang akan memenuhi kebutuhan saya, saya dapat menggunakan sensor kelembaban seperti sensor level air) Secara prinsip, ini adalah sensor analog dan data yang akan kita baca adalah nilai dari 0 hingga 1024, dan sisanya hanyalah matematika!
Tapi seperti yang sering terjadi, kenyataan sedikit berbeda. Ketika sensor tidak menyentuh air, nilai analog adalah 0, dan ketika saya merendam hanya ujungnya, nilai naik menjadi 800. Saya menggunakan sketsa berikut untuk membaca nilai:
/* Print values from analog pin A4 to serial monitor */ void setup() { Serial.begin(9600); } void loop() { Serial.println(analogRead(A4)); delay(100); }
Setelah saya dapat membaca nilai, saya mengkalibrasi sensor untuk memberikan tiga respons yang berbeda: EMPTY! - ketika nilai 0, LOW ketika nilai sekitar 800, dan Full ketika nilai lebih dari 900!
Graphic LCD Display
Karena biasanya layar LCD menggunakan banyak pin, saya harus menemukan cara untuk menghubungkan layar 128×64 dengan cara lain, dan saya BERHASIL!!! Cara ini memungkinkan menggunakan hanya 3 Pin Digital pada papan yang luar biasa karena saya mungkin membutuhkan sisa pin untuk hal lain, dan tidak membuat rantai kabel yang berantakan. Saya sudah menyiapkan pin untuk LCD pada PCB saya, dan inilah cara saya menghubungkan semuanya:
Setelah saya menghubungkan LCD, saatnya untuk memrogramnya!
Pertama-tama, saya harus mengunduh perpustakaan U8glib dari SINI. Hal penting lainnya adalah pin yang dideklarasikan dalam kode. Pin yang saya gunakan adalah sebagai berikut: U8GLIB_ST7920_128X64 u8g(4, 12, 6, U8G_PIN_NONE)
Menggunakan contoh perpustakaan "HELLO WORLD", saya menghasilkan kode pengujian ini:
#include "U8glib.h" U8GLIB_ST7920_128X64 u8g(4, 12, 6, U8G_PIN_NONE); void draw(void) { // graphic commands to redraw the complete screen should be placed here u8g.setFont(u8g_font_unifont); u8g.setPrintPos(0, 20); // call procedure from base class, https://arduino.cc/en/Serial/Print u8g.print("GIY Project v1.0!"); } void setup(void) { // flip screen, if required // u8g.setRot180(); } void loop(void) { // picture loop u8g.firstPage(); do { draw(); } while( u8g.nextPage() ); // rebuild the picture after some delay delay(500); }
Dan inilah apa yang saya dapatkan:
Satu ide kreatif yang datang ke pikiran saya adalah untuk menampilkan logo FabLab selama beberapa detik, selama layar menyala. Saya menghabiskan waktu cukup banyak untuk melakukan ini, tetapi akhirnya saya berhasil! Untuk menampilkannya pada Graphic LCD, saya harus memiliki gambar format (.bmp), dan menampilkannya sebagai bitmap.
Hal pertama yang saya lakukan adalah mengunduh logo FabLab dari internet sebagai file (.png), dan memperkecil ukurannya secara signifikan, sehingga sesuai dengan batas LCD kecil saya. Saya menggunakan layanan online berikut untuk melakukan itu: LINK
Ini adalah konfigurasi yang saya gunakan:
Langkah berikutnya adalah mengonversi gambar kecil saya menjadi format (.bmp). Saya menggunakan layanan online berikut untuk melakukan itu: LINK
Sekarang, setelah saya memiliki file (.bmp), untuk menempatkannya ke dalam kode saya, saya harus mengonversinya menjadi array HEX. Saya menggunakan alat yang bagus yang disebut LCD Assistant. Untuk memuat gambar di LCD Assistant, pergi ke File > Load Image. Pratinjau gambar seharusnya terbuka, pastikan ukurannya benar – 128 piksel lebar, 64 piksel tinggi. Juga pastikan orientasi Byte diatur ke Horizontal dan Size endianness diatur ke Little. Ini adalah konfigurasi untuk Tampilan LCD saya:
Kemudian saya pergi ke File > Save output untuk menghasilkan file text sementara. Buka file text tersebut untuk melihat array baru yang menakjubkan saya.
pH Sensor
Saya harus mengakui bahwa ini adalah sensor yang paling rumit dari semua yang saya coba! Sangat sulit untuk menemukan informasi tentang sensor yang saya gunakan (logo ph sensor v1.1), jadi saya memutuskan untuk membuat deskripsi rinci tentangnya!
Sonda seperti (baterai kecil) ketika ditempatkan dalam cairan. Bergantung pada pH, itu menghasilkan tegangan positif atau negatif beberapa milivolt. Nilai ini terlalu kecil dan hal teknis lain seperti impedansi membuatnya tidak dapat digunakan langsung dengan Arduino, itulah sebabnya Anda membutuhkan "op amp". Papan op amp hanya mengonversi milivolt sonda menjadi sesuatu yang dapat diterima oleh Arduino (positif antara 0 dan 5v).
Ada 3 larutan penyeimbang yang umum digunakan untuk pengukuran pH: pH 4.01, pH 6.86 dan pH 9.18 (7.0 dan 10.0 ada). Saya menyarankan serbuk alih-alih cairan karena lebih murah, kadaluarsa setelah waktu yang lebih lama dan serbuk tidak dapat terkontaminasi (vs botol). Anda harus membaca instruksi produk tetapi biasanya Anda harus memasukkan isi kantung ke dalam 250ml air dan diaduk. Anda dapat menggunakan air apa pun dengan pH rata-rata (6-8) karena serbuk akan menyaturi air pada tingkat pH yang benar. Saya pribadi menggunakan air ledeng (pH 7.4) dan tidak melihat perbedaan antara air tisu, dan air demineralisasi. Larutan penyeimbang tidak stabil seiring waktu, ini berarti Anda tidak dapat menyimpan larutan selama minggu atau bulan.
Sekarang mari kita bicara lebih lanjut tentang sensor yang saya gunakan!
Pin To: Harusnya suhu tapi saya tidak dapat membuatnya bekerja
Pin Po: Sinyal input analog
Pin To: Harusnya suhu tapi saya tidak dapat membuatnya bekerja
Pin Do: High/Low 3.3v adjustable limit.
Pin G/GND: Probe ground. Berguna ketika ground tidak sama dengan Arduino Anda. Dalam beberapa halangan tegangan ground cairan untuk diukur dapat berbeda.
Pin G/GND: Power ground (langsung dari papan).
Pin V+/VCC: Input power 5V DC (langsung dari papan).
Sekarang mari kita coba untuk mengkalibrasi sensor! Ada 2 parameter berbeda, nilai "offset" dan nilai "step"
Nilai offset adalah pergeseran semua nilai pH ke rentang tegangan tertentu. Jika pH 7 menghasilkan tegangan 2.2v dan pH 8 menghasilkan tegangan 2.1v, maka pergeseran +0.3v memindahkan pH 7 ke 2.5v dan pH 8 ke 2.4v. Ini dapat dilakukan pada papan atau melalui perangkat lunak tetapi mungkin lebih mudah pada papan karena tidak tergantung pada sonda dan ada lebih sedikit pemrograman yang perlu dilakukan.
Hubungkan GND (kedua) dan Vcc ke Arduino GND dan 5v. Lepaskan sonda dan buat rangkaian pendek antara lubang kecil BNC dan bagian luar BNC. Pasang voltmeter (atau Arduino) untuk mengukur tegangan antara GND dan Po. Sesuaikan pot (dekat BNC) sampai outputnya 2.5v. Sekarang pH 7 memiliki nilai tepat 2.5v (511 dengan fungsi analogRead) karena sonda akan menghasilkan 0 milivolt.
Untuk mengkalibrasi steps saya membutuhkan satu atau lebih larutan penyeimbang tergantung pada rentang dan presisi yang diperlukan. Ideally it is better to know the range of the measure with the system. Saya menggunakan air antara pH 5 dan pH 7, lalu saya memilih larutan 4.01 (dan 6.86 untuk memverifikasi hal-hal saya). Jika Anda biasanya mengukur pH antara 8 dan 10 pilih larutan 9.18 (kemungkinan 6.86 juga).
Saya menghubungkan sonda (bersih) dan memasukkannya ke dalam larutan, lalu membiarkannya stabil selama satu menit. Saya tahu itu stabil ketika naik dan turun (3.04 kemudian 3.05 kemudian 3.03 kemudian 3.04). Catat nilai voltmeter (atau Arduino), dalam contoh saya itu 3.05v.
Itu saja, sekarang saya dapat menggunakannya dengan kode di bawah.
int ph_pin = A7; //This is the pin number connected to Po void setup() { Serial.begin(9600); } void loop() { int measure = analogRead(ph_pin); Serial.print("Measure: "); Serial.print(measure); double voltage = 5 / 1024.0 * measure; //classic digital to voltage conversion Serial.print("\tVoltage: "); Serial.print(voltage, 3); // PH_step = (voltage@PH7 - voltage@PH4) / (PH7 - PH4) // PH_probe = PH7 - ((voltage@PH7 - voltage@probe) / PH_step) float Po = 7 + ((2.5 - voltage) / 0.18); Serial.print("\tPH: "); Serial.print(Po, 3); Serial.println(""); delay(2000); }
Perhitungan PH_step cukup sederhana. Saya mengambil selisih antara dua tegangan yang diketahui, dalam contoh saya 2.5v@pH7 dan 3.05v@pH4.01 yang adalah -0.55v. Ini adalah rentang tegangan setara dengan rentang pH dari 7 hingga 4.01, yang adalah 2.99 unit pH. Pembagian kecil tegangan oleh unit pH memberikan angka volt per pH (0, 1839... dalam kasus saya).
PH_probe dihitung dengan mengambil tegangan pH 7 yang diketahui (2.5v) di mana kita menambahkan beberapa PH_step untuk mencocokkan tegangan sonda. Ini berarti pH 8 memiliki nilai tegangan 2.5v (pH 7) + 0.1839 (1 unit/step); pH 9 kemudian adalah 2.5v + 0.1839 + 0.1839 = 2.87v.
Tidak ada sihir, HANYA MATEMATIKA :D
MOSFET output:
Saya menghubungkan pita LED RGB dan Atomizer Ultrasonik ke output rangkaian MOSFET, yang dikontrol oleh pin digital. Untuk lampu LED, saya menyatakan dalam setup digitalWrite (LED, HIGH);, yang berarti lampu LED akan menyala selama sistem mendapatkan daya. Untuk pembuat kabut, saya membuat If function tergantung pada nilai level air. Jika ada air, pembuat kabut ON, jika tidak ada air, EMPTY!, maka kabut OFF!
Sebenarnya untuk sistem akhir saya, saya menggunakan banyak teknik desain 3D dan cetak 3D. Saya menggunakan dua printer berbeda, dan bermain banyak dengan pengaturan sampai saya mendapatkan hasil yang diinginkan!
Untuk desain 3D, saya menggunakan yang seperti yang saya sebutkan sebelumnya, adalah perangkat lunak CAD favorit saya! Saya tidak akan terlalu banyak detail tentang cara membuat bentuk sederhana, dan mengeksstrusi objek, semuanya ini dapat ditemukan selama minggu Desain Berbantuan Komputer saya, di mana saya belajar cara menggunakan perangkat lunak yang berbeda, serta minggu Pemindaian dan Cetak 3D.
Tugas utama adalah mendesain penampilan fisik sistem saya! Tantangannya adalah saya ingin agar itu terlihat SEXY!!!
Estetika adalah kriteria yang sangat penting, serta fungsionalitas! Sistem juga harus dapat dirangkaikan, yang membuatnya lebih menantang. Saya juga ingin mengintegrasikan keterampilan yang telah saya pelajari seperti cetak 3D, fres CNC, pemotongan laser, dll.
Sebelum mendesainnya di dunia digital, saya membuat sketsa sederhana di kertas! Inilah:
Dan ini adalah desain 3D akhir:
sistem ass sexy saya :D
Hal pertama yang saya desain adalah wadah air. Inilah:
Ini mencakup beberapa fitur! Pertama, ada cukup ruang untuk tanaman tumbuh, serta di tengah saya membuat lubang untuk menempatkan Atomizer Ultrasonik. Ini dilakukan karena saya ingin menlevelkan fogger dengan wadah. Halnya adalah level air harus di atas fogger sebesar 2cm, jadi semua air yang levelnya sama dengan tinggi fogger, tidak akan digunakan (buang)! Jadi jika saya menempatkan fogger di bawah level wadah, saya memiliki level nol air tepat di titik yang seharusnya, nol untuk wadah = 2cm di atas fogger. Dengan cara ini, semua air digunakan!
Saya juga mempertimbangkan tinggi wadah. Sebenarnya, semua dimensi wadah diukur selama tahap eksperimen!
Seperti yang Anda lihat, saya membuat lubang di dinding, yang akan digunakan untuk kabel dari sensor yang ditempatkan dalam air untuk menyembunyikan ke dalam bagian elektronika. Di depan wadah, saya membuat slot untuk melampirkan tampilan grafis. Saya juga mendesain beberapa pegangan untuk dengan mudah melepas wadah ketika diperlukan!
Dari perspektif ini, Anda dapat melihat bagian elektronika. Sekarang terbuka, tetapi saya juga mendesain tutup untuk menutupnya. Di dalam bagian elektronika, saya mendesain lubang untuk memiliki akses ke daya dan memprogram papan
Di sisi bawah saya mendesain slider yang akan dilampirkan ke sisa sistem, dan membuatnya lebih mudah untuk melepas wadah ketika diperlukan, ini juga akan berperan sebagai penahan wadah di tempat!
Dan sekarang Mari Cetak!
Saya dapat dengan bangga mengumumkan bahwa printer yang akan saya gunakan disebut BigRep 3D Printer, hanya tersedia di FabLab Kamp-Lintfort kami. Ini memiliki kapasitas satu meter kubik, dan menyediakan volume build FFF terbesar untuk penggunaan profesional dan industri.
Perangkat lunak pemotong yang saya gunakan adalah Simplify3D, salah satu alat pemotong paling canggih, menurut saya, dengan banyak konfigurasi dan opsi.
Saya tidak pikir ada cara yang benar dan salah untuk mencetak sesuatu, Anda hanya perlu bermain dengan pengaturan sampai Anda menemukan opsi terbaik untuk objek spesifik yang akan dicetak.
Karena printer ini baru, tidak ada terlalu banyak pengujian yang dilakukan. Jadi, saya harus bereksperimen dengan pengaturan, dan coba, coba dan lagi coba...
Saya akan menampilkan di bawah ini pengaturan yang akan saya gunakan untuk mencetak wadah air saya, tetapi beberapa di antaranya intuitif.
Saya memilih Tool1, karena Printer BigRep memiliki dua nozzel dengan dua filament yang berbeda, dan saya harus menentukan nozzel mana yang ingin saya gunakan, serta diameter nozzel dan pengaturan lainnya.
Layer:
Additions:
Infill:
Support:
Temperature:
Cooling:
Other:
Advanced:
Ini adalah perubahan yang saya lakukan, sisa pengaturan saya biarkan default.
Dan lalu tekan pada Prepare to Print. Perangkat lunak akan menghasilkan jalur, dan di sini kita dapat memeriksa apakah semuanya baik, sebelum mengirim .gcode ke mesin.
Secara singkat tentang beberapa pengaturan printer. Saya menggunakan Nozzle Temperature = 205 deg.C, dan Bed Temperature = 70 deg.C. Setelah saya memosisikan X, Y, and Z axis, dan memeriksa ulang semua pengaturan, saya meluncurkan pekerjaan!
Ini adalah tampilan model mentah:
Saat saya mulai menghapus support dan membersihkan model, saya menyadari bahwa ini adalah BIG pain in the ASS :D
Seperti yang Anda perhatikan, pengaturan yang saya gunakan tidak benar-benar sempurna, karena wadah memiliki beberapa lubang besar di tepi. Saya sudah berniat untuk menjadikannya tahan air bagaimanapun, Anda dapat melihat bagaimana saya melakukannya di bagian Moulding & Casting!
Bagian cetak 3D berikutnya adalah Net Pot. Ini adalah cangkir yang dirancang untuk menahan benih di medium pertumbuhan. Detail lebih lanjut tentang versi pertama dari mereka dapat Anda lihat selama minggu Desain Berbantuan Komputer saya
Kali ini saya akan memperbaiki desainnya sedikit berdasarkan pengamatan yang saya lakukan selama tahap eksperimen. Perbedaan utama adalah ukuran ruang kosong, yang diperbesar banyak, untuk memberikan akses yang lebih mudah bagi kabut untuk masuk, dan bagi akar untuk melalui
Jadi saya hanya memodifikasi desain lama, dan menambahkan satu hal lagi!
Saya membuat fillet sedikit pada bagian atas, untuk membuat transisi lebih halus. Saya juga menambahkan bola di bagian bawah, dan menggunakan perintah Move untuk memindahkannya sedikit ke dalam, dan meninggalkan di bawah sekitar 2-3mm lebar struktur
Setelah saya menggunakan fungsi boolean substraction atau Combine, dan saya mendapatkan kelengkungan yang indah di bagian bawah!
Sekarang mari cetak!
Printer 3D yang saya gunakan adalah Ultimaker 2+. Untuk memotong model 3D saya, saya akan menggunakan perangkat lunak yang sangat bagus, dengan antarmuka yang mudah, dan juga fungsional. Bahan yang saya gunakan adalah PLA filament
Setelah saya mengimpor file .stl saya, inilah pengaturan yang saya gunakan:
Ini adalah tentara kecil saya :D
Dari desain akhir sistem, saya memutuskan untuk juga mencetak 3D bagian bawah. Ini adalah potongan besar, dan saya akan menggunakan BigRap juga untuk ini.
Saya tidak akan mengatakan ada yang baru tentang ini, karena saya menggunakan pengaturan yang sama seperti yang saya gunakan untuk wadah air, dan kurang lebih sisanya sama
Ini adalah pratinjau cetaknya:
Hal lain yang saya cetak 3D adalah sudut bundar di sisi atas sistem. Saya menggunakan Ultimaker untuk ini, dan menggunakan pengaturan berikut:
Trik di sini adalah untuk mencapai kehalusan maksimum pada permukaan, dan saya pikir saya mendapatkan hasil yang cukup baik:
Unduh Berkas:
Desain Sistem GIY (.f3d)
Desain Net Pot (.f3d)
Desain 2D & Pemotongan Laser
Saya menggunakan teknik pemotongan laser untuk memotong bagian akrilik yang akan menutupi semua bagian dalam sistem, dan memberinya tampilan yang selesai!
Sebenarnya saya tidak mendesain bagian lagi, saya hanya mengekspor sketsa yang sudah dibuat dari Fusion 360 sebagai .dxf files. Setelah mengekspor file, saya menggunakan untuk mengedit desain sebelum mengimpornya ke mesin pemotong laser
Ini adalah tampilan sketsa di Fusion360:
Sepertinya berantakan, tetapi bagian baik adalah semuanya parametrik! Tampilannya berantakan karena saya harus meratakan semuanya ke posisi yang tepat, dan menjaga semuanya tetap parametrik jika saya harus melakukan perubahan nanti
Ini adalah tampilan sketsa akhir di Rhino sebelum pemotongan laser:
Saya memutuskan untuk menggunakan potongan akrilik hijau karena memberikan tampilan organik, dan cocok dengan tanaman hijau
Untuk tutup depan dan belakang, saya memutuskan untuk menggunakan warna putih. Ini semua tentang rasa, ini adalah cara saya melihatnya, dan ini adalah cara saya menyukainya.
Tutup depan dan belakang sangat mirip, memiliki dimensi yang sama, kecuali potongan dalam! Tutup depan memiliki lubang untuk Tampilan LCD, inilah:
Untuk tutup belakang, saya ingin membuat lubang untuk memiliki akses ke daya dan memprogram papan! Inilah tampilannya:
Potongan laser lain ada di atas! Saya memutuskan untuk menggunakan bagian akrilik transparan, agar cahaya dapat melewati! Saya juga mendesain beberapa potongan tambahan, untuk mengurangi bobot, dan memberi lebih banyak ruang bagi cahaya untuk melewati! Saya juga mengukur lebar pita LED RGB, dan akan melampirkannya dengan cara sehingga cukup ruang bagi cahaya matahari serta cahaya buatan!
Saya selesai dengan desain, dan sekarang Mari Pemotongan Laser!
Pemotong Laser yang kami gunakan di sini di FabLab adalah Epilog Fusion 60Watt, pemotong laser CO2 dengan area kerja 1016 x 711 mm. Ini dapat memotong dan menggerat bahan seperti kayu, kardus, akrilik atau plastik rekayasa lainnya.
Karena saya menggunakan bahan yang sama untuk semua bagian, plexiglass 5mm, saya menggunakan pengaturan yang sama untuk semuanya!
Unduh Berkas:
Tutup Depan / Belakang (.dxf)
Pemegang Tanaman (.dxf)
Pemegang Lampu LED (.dxf)
Fres CNC
Karena saya ingin mengintegrasikan semua keterampilan dan teknik yang telah saya pelajari ke dalam sistem saya, saya juga memiliki satu potongan struktur untuk fres CNC. Saya tidak mendesainnya lagi, tetapi saya mengekspor file .dxf dari sketsa Fusion360!
Untuk memotong desain saya, saya akan menggunakan raksasa CNC besar.
CNC (computer numerically controlled) adalah mesin yang menggunakan bit pemotong yang berputar dengan kecepatan sangat tinggi untuk menghapus bahan dari bagian.
Mesin membaca file komputer yang sudah diprogram sebelumnya yang memberitahukan kepadanya di mana dan bagaimana memotong, biasanya file .GCode. Bit pemutaran diputar pada RPM yang sangat tinggi oleh motor palu, yang dapat memindahkan bit ke atas dan ke bawah. Mekanisme ini dipindahkan ke kiri, kanan, depan, dan belakang oleh lintang silang. Oleh karena itu mesin dikenal sebagai router tiga sumbu karena dapat bergerak pada sumbu X, Y & Z. Mesin dapat melakukan pemotongan dua dimensi dan geratan, serta pekerjaan relieif tiga dimensi.
Di FabLab Kamp-Lintfort kami memiliki mesin fres portil CNC oleh e(sign: Easy Worker MasterPro 2513.
Area kerjanya adalah 2600 x 1400 x 300mm dan dilengkapi dengan meja vakum. Kami terutama menggunakannya untuk fres kayu tetapi dengan HSD Spindel (3.9KW; 24.000U/min) ini juga mampu fres logam dengan mudah.
Bahan yang akan saya gunakan adalah 18mm Plywood
Pertama, saya melembarkan lembar kayu pada tempat tidur CNC, dan setelah saya meratainya, menyala vakum. Setelah mengekspor file .dxf, saya menggunakan untuk mengedit desain sebelum mengimpornya ke perangkat lunak CAM mesin.
Pertama, saya harus HOME mesin!
Untuk mengatur Posisi Nol X, Y dan Z, saya menyalurkan mesin dengan menekan tombol home di perangkat lunak (atau pada pengendali jarak jauh).
Pertama, saya dapat mengatur nol X dan Y saya secara kasar sejajar dengan salah satu sudut tempat tidur. Kami juga mencoba menggunakan laser untuk ini, tetapi setiap kali mensimulasikan proses, itu menunjukkan tabrakan, karena nol keluar dari area kerja
Sekarang saya harus menemukan sumbu Z, yang saya lakukan menggunakan alat khusus yang hadir dengan mesin:
Hal penting adalah meletakkannya di tempat tidur mesin!
Sekarang saya dapat meluncurkan pekerjaan pertama, yaitu membuat geratan. Ini adalah pengaturan yang saya gunakan:
Saya menekan Calculate Toolpath untuk mensimulasikan pekerjaan dan memastikan tidak ada tabrakan! Setelah menyimpan .GCode, dan meluncurkan pekerjaan, saya mendapatkan jendela ini:
Sekarang saya dapat meluncurkan pemotongan luar:
Ini adalah apa yang saya dapatkan setelah pekerjaan selesai:
Potongan lain yang harus saya fres digunakan untuk bagian Moulding & Casting!
Saya menyiapkan cetakan untuk menjadikan wadah air saya tahan air. Inilah desainnya:
Tidak ada yang baru tentang ini. Saya menggunakan pengaturan yang sama persis seperti di atas. Yang satu-satunya adalah ketebalan bahan adalah 10mm wood, dan saya harus memotong 7 potongan, untuk menempelkannya bersama-sama nanti dan menyiapkan cetakan saya!
Unduh Berkas:
Dinding Struktur (.dxf)
Cetakan (.dxf)
Moulding & Casting
Saya menggunakan teknik ini untuk menyiapkan wadah air, untuk menjadikan wadah yang sudah ada tahan air! Saya melihatnya sebagai lapisan tipis bahan (wadah lebih kecil) yang dapat dengan mudah dilepaskan!
Ini adalah hasil dari bagian sebelumnya Fres CNC
Saya memotong 7 potongan yang sama, dan meratainya menggunakan lubang referensi! Saya juga memotong lubang besar di tengah dari 5 potongan bawah, untuk menempatkan pompa udara di dalamnya, dan dengan mudah melepas cetakan nanti.
Setelah saya melekat semua potongan bersama-sama, dan mengikatnya, inilah tampilannya:
Sambil menunggu lem kering, saya menyiapkan hal kecil plastik "benda" (tidak tahu cara memanggilnya :D) untuk pompa. Ideanya adalah dapat membekalkannya pada cetakan saya, dan melepasnya kapan pun saya inginkan!
Ketika cetakan siap, inilah tampilannya:
Dan sisi belakang:
Saya siap untuk vacuum cast!
Saya menggunakan mesin vakum yang tersedia di FabLab Kamp-Lintfort kami disebut Formech – Manual Vacuum Forming Machine
Halnya adalah saya mencoba melakukannya banyak kali, dan setiap kali saya tidak dapat melepas cetakan tanpa merusak cetakan! Setelah beberapa jam percobaan, saya menemukan solusi! Pertama, saya vacuum cast satu lapisan tipis bahan, dan tanpa melepasnya, saya akan cetak lapisan aktual di atasnya. Lapisan tipis pertama licin, dan jika saya menyemburkannya dengan silikon, itu akan memungkinkan saya untuk melepas cetakan dengan lebih mudah
Setelah saya membiarkan silikon kering sedikit, saya dapat cetak lapisan aktual!
Dan di sini kita!!!
Sebuah gambar hero bagi mereka yang mungkin pikir itu mudah
Putting All Together
Sekarang, mari kita gabungkan semuanya! Saya akan memulai dengan merakit struktur. Taruh semua alat yang diperlukan di samping saya:
Animasi pendek dari prosesnya:
Untuk merakit lampu, saya memotong pita LED RGB menjadi 4 potongan (saya mengukur panjangnya sebelumnya), dan solder sesuai!
Setelah saya menghubungkan semua sensor, dan mengelola kabel, saya memasang papan di bagian elektronika
Dan inilah sistemnya!!! Semua sudah dirakit, sistem pertumbuhan yang indah GIY