MODUL WIMS ATAU SIRKULASI TINTA PUTIH DTF / DTG
Dalam dunia pensablonan digital kita membutuhkan alat pompa sirkulasi tinta putih atau WIMS untuk printer DTF dan DTG. Guna dari alat sirkulasi tinta putih atau disebut WIMS ini adalah agar tinta putih selalu tercampur dan tidak mengendap di Tabung tinta yang menyebabkan tidak maximalnya tinta putih saat Cetak sablon atau print di atas baju kaos.
Pada artikel ini admin akan membagikan modul Wims atau Modul pompa sirkulasi untuk printer DTF dan DTG yang di bagikan secara gratis. Modul WIMS ini bisa kalian buat di rumah dengan bahan - bahan yang mudah di dapat serta dengan harga terjangkau.
Sistem kerja dari Modul WIMS atau Modul pompa sirkulasi tinta putih ini adalah bisa menghidupkan pompa tinta secara otomatis yang sudah kalian seting waktunya terlebih dahulu. Fungsinya untuk mengatasi endapan tinta putih pada tabung tinta yang membuat kerja tinta putih tidak maximal pada printer DTF maupun DTG.
BAHAN MEMBUAT WIMS DTF / DTG
- Arduino Nano biaya Rp 40.000
- Relay 5v 1chanel biaya 12.500
- Lcd 16x2 i2c biaya 27.000
- Push button 4 buah biaya 8000
- Power suplay 12v biaya 25.000
Semua perlengkapan untuk membuat sirkulasi tinta putih atau WIMS tersebut bisa kalian dapatkan di toko - toko online atau toko elektronik di sekitar kalian.
Untuk Source Code WIMS nya silahkan lihat pada tabel di bawah ini.
SOURCE CODE WIMS DTG / DTF ARDUINO NANO UNU
Spoiler: COUNTIMER .cpp
#include "Countimer.h" #include "Arduino.h" Countimer::Countimer() { _previousMillis = 0; _currentCountTime = 0; _countTime = 0; _isCounterCompleted = false; _isStopped = true; _countType = COUNT_NONE; _startCountTime = 0; } Countimer::~Countimer() { } void Countimer::setCounter(uint16_t hours, uint8_t minutes, uint8_t seconds, CountType countType, timer_callback onComplete) { _onComplete = onComplete; _countType = countType; setCounter(hours, minutes, seconds); } void Countimer::setCounter(uint16_t hours, uint8_t minutes, uint8_t seconds) { if (hours > COUNTIMER_MAX_HOURS) { hours = COUNTIMER_MAX_HOURS; } if (minutes > COUNTIMER_MAX_MINUTES_SECONDS) { minutes = COUNTIMER_MAX_MINUTES_SECONDS; } if (seconds > COUNTIMER_MAX_MINUTES_SECONDS) { seconds = COUNTIMER_MAX_MINUTES_SECONDS; } _currentCountTime = ((hours * 3600L) + (minutes * 60L) + seconds) * 1000L; _countTime = _currentCountTime; if (_countType == COUNT_UP) { // if is count up mode, we have to start from 00:00:00; _currentCountTime = 0; } _startCountTime = _currentCountTime; } void Countimer::setInterval(timer_callback callback, uint32_t interval) { _interval = interval; _callback = callback; } uint16_t Countimer::getCurrentHours() { return _currentCountTime / 1000 / 3600; } uint8_t Countimer::getCurrentMinutes() { return _currentCountTime / 1000 % 3600 / 60; } uint8_t Countimer::getCurrentSeconds() { return _currentCountTime / 1000 % 3600 % 60 % 60; } char* Countimer::getCurrentTime() { sprintf(_formatted_time, "%02d:%02d:%02d", getCurrentHours(), getCurrentMinutes(), getCurrentSeconds()); return _formatted_time; } bool Countimer::isCounterCompleted() { return _isCounterCompleted; } bool Countimer::isStopped() { return _isStopped; } void Countimer::start() { _isStopped = false; if(_isCounterCompleted) _isCounterCompleted = false; } void Countimer::pause() { _isStopped = true; } void Countimer::stop() { _isStopped = true; _isCounterCompleted = true; _currentCountTime = _countTime; if(_countType == COUNT_UP) { _currentCountTime = 0; } } void Countimer::restart() { _currentCountTime = _startCountTime; _isCounterCompleted = false; _isStopped = false; start(); } void Countimer::run() { // timer is running only if is not completed or not stopped. if (_isCounterCompleted || _isStopped) return; if (millis() - _previousMillis >= _interval) { if (_countType == COUNT_DOWN) { countDown(); } else if (_countType == COUNT_UP) { countUp(); } else { callback(); } _previousMillis = millis(); } } void Countimer::countDown() { if (_currentCountTime > 0) { callback(); _currentCountTime -= _interval; } else { stop(); complete(); } } void Countimer::countUp() { if (_currentCountTime < _countTime) { callback(); _currentCountTime += _interval; } else { stop(); complete(); } } void Countimer::callback() { if(_callback != NULL) _callback(); } void Countimer::complete() { if(_onComplete != NULL) _onComplete(); }
Spoiler: COUNTIMER .h
#pragma once
#ifndef COUNTIMER_H
#define COUNTIMER_H
#if defined(ARDUINO) && ARDUINO >= 100
#include
Spoiler: MODULE WIMS .ino
#include
Note. Nama kode .cpp, .h, .ino adalah format file yang harus di gunakan dalam menyimpan Source Kode WIMS DTG / DTF tersebut yang nantinya di masukkan ke dalam Arduino Nano Ino.
Silahkan kalian gunakan Aplikasi bernama Simulation - Proteus 8 Professional di PC kalian. Silahkan download Aplikasi Simulation - Proteus 8 Professional pada situs resminya.
DIAGRAM SKEMATIC MODUL WIMS PADA SIMULATION - PROTEUS 8 PROFESSIONAL
Sisanya silahkan sobat download melalui link di bawah ini. Semua file - file Source Kode arduino ino saya kemas dalam file Zip. Untuk Tutorial proses pemasangan Pompa sirkulasi tinta putih DTF / DTG akan admin uplode segera, jadi silahkan di pantau terus.
Silahkan di Download Modul Wims Pompa Sirkulasi Tinta Putih DTG / DTF
Semoga artikel yang berjudul Cara Membuat Modul Pompa Sirkulasi Tinta Wims DTF / DTG bisa bermanfaat bagi kalian pecinta sablon digital DTF maupun DTG.
Yang berkontribusi project, pengembang, program, pendukung, dan lainnya :
- Riki yuliana
- Wawan herdianto
Note. Modul ini dibagikan secara gratis dan tidak untuk diperjual belikan.