Tuesday, July 31, 2018

Programmable Timer 8 Channel dengan Controller Arduino Uno

Programmable Timer 8 Channel dengan Controller Arduino Uno


Pada Tutorial kali ini kita akan membuat sebuah project pengendalian beban/relay dengan methode Timer, yaitu setiap relay dapat kita program jam berapa harus ON dan jam berapa harus OFF.Setiap relay memiliki 1 settingan timer sendiri sehingga mempunyai waktu masing-masing kapan harus ON dan OFF.

Disini kita menggunakan memory EEPROM internal atmega328 (Arduino Uno) untuk menyimpan data settingan timer sehingga kita akan kehilangan settingan saat Power mati (mati listrik) atau saat Arduino Restart/reset.


Programmable Timer 8 Channel dengan Controller Arduino Uno

A.Bahan dan Module yang dibutuhkan

  • 1Unit Relay Module 5V 8 Channel
  • 1Unit RTC DS3231
  • 1Unit Arduino Uno/Nano/Pro mini/Mega
  • 1Unit LCD 1602 dengan i2C connection
  • 4Unit Tombol Tactile Push Button (momentary switch)

B.Wiring  

Perhatikan Gambar pada header artikel ini.

C.Library

  • Library EEPROM (sudah include dalam sistem Arduino IDE)
  • Library Wire.h (sudah include dalam sistem Arduino IDE) 
  • Library RTC DS3231 silahkan download disini.
  • Library LiquidCrystal_I2C silahkan download disini.
  • Library Push Button silahkan download disini.
Setelah anda mendownload semua library yang dibutuhkan dalam project ini,silahkan extract terlebih dulu dari .rar/.zip file nya kemudian copy semua folder master library tersebut (misal : folder button-master) ke dalam folder "libraries" yang ada di folder installer Arduino IDE.

BACA JUGA ARTIKEL MENARIK LAINNYA :
  • Cara Menggunakan SMS Untuk Control LED / RELAY VIA MODULE SIM800L 
  • CAra Membuat System Aplikasi Bank ATM Berupa Source COde Gratis Berbasis Desktop 
  • Cara Upload Program Arduino Via Android Menggunakan Bluino Loader dari Codepolitan

D.Sourch Code

Berikut Sourch Code Untuk Tutorial kali ini.Silahkan copy paste code berikut ke dalam Arduino IDE anda kemudian Upload ke Arduino Boar.

CODING HERE

//                .-~~~~~~~~~-._       _.-~~~~~~~~~-.
//            __. Create by.   ~.   .~      www.    `.__
//          .//    DANI RJC      ./   belajarduino   `.
//        .//       2016          |        .com         `.
//      .// .-~"""""""~~~~-._     |     _,-~~~~"""""""~-. `.
//    .//.-"                 `-.  |  .-                 "-.`.
//  .//______.============-..   | /   ..-============.______`.
//.______________________________|/______________________________`.

#include <DS3231.h> //Memanggil RTC3231 Library
#include <Wire.h>  // i2C Conection Library
#include <LiquidCrystal_I2C.h>  //Memanggil i2C LCD Library
#include <Button.h> //Memanggil library Push Button
#include <EEPROM.h>

#define ON 0 //Ganti 0 jadi 1 saat pakai High Active Trigger
#define OFF 1 //Ganti 1 jadi 0 saat pakai High Active Trigger

//Setup Tombol Setting
#define DN_PIN A0 //Decrease Button
#define UP_PIN A1 //Increase Button
#define SET_PIN A2  //Setup Clock Button
#define ALR_PIN A3  //Setup Timer Button
#define PULLUP true //Mengaktifkan internal Pull Up
#define INVERT true 
#define DEBOUNCE_MS 20     
#define REPEAT_FIRST 500 
#define REPEAT_INCR 100 

//Declare push buttons
Button btnUP(UP_PIN, PULLUP, INVERT, DEBOUNCE_MS);    
Button btnDN(DN_PIN, PULLUP, INVERT, DEBOUNCE_MS);
Button btnSET(SET_PIN, PULLUP, INVERT, DEBOUNCE_MS);
Button btnALR(ALR_PIN, PULLUP, INVERT, DEBOUNCE_MS);
enum {WAIT, INCR, DECR};             
uint8_t STATE;                       
int count;                           
int lastCount = -1;                   
unsigned long rpt = REPEAT_FIRST;  

LiquidCrystal_I2C lcd(0x3F, 16, 2);
//custom degrees char
uint8_t dgrsChar[8] = {0x4,0xa,0x4,0x0,0x0,0x0,0x0,0x0}; 

// Init DS3231
DS3231  rtc(SDA, SCL);

// Init a Time-data structure
Time  t; //pencacah string time()

uint8_t hh = 0, mm = 0, ss = 0, dd = 0, bb = 0;
int yy = 0;
String Day = "  ";
uint8_t StartHH  = 21, StartMM  = 43, FinishHH  = 21, FinishMM  = 44, setMode = 0, setAlarm = 0, alarmMode=0;
uint8_t StartHH2 = 21, StartMM2 = 44, FinishHH2 = 21, FinishMM2 = 45;
uint8_t StartHH3 = 21, StartMM3 = 45, FinishHH3 = 21, FinishMM3 = 46;
uint8_t StartHH4 = 21, StartMM4 = 46, FinishHH4 = 21, FinishMM4 = 47;
uint8_t StartHH5 = 21, StartMM5 = 47, FinishHH5 = 21, FinishMM5 = 48;
uint8_t StartHH6 = 21, StartMM6 = 48, FinishHH6 = 21, FinishMM6 = 49;
uint8_t StartHH7 = 21, StartMM7 = 49, FinishHH7 = 21, FinishMM7 = 50;
uint8_t StartHH8 = 21, StartMM8 = 50, FinishHH8 = 21, FinishMM8 = 51;

//Eeprom Store Variable
uint8_t HH,HH2,HH3,HH4,HH5,HH6,HH7,HH8;
uint8_t MM,MM2,MM3,MM4,MM5,MM6,MM7,MM8;

void setup()
{
  // Setup Serial connection
  //Serial.begin(115200);
 pinMode(2,OUTPUT);digitalWrite (2,OFF); 
 pinMode(3,OUTPUT);digitalWrite (3,OFF); 
 pinMode(4,OUTPUT);digitalWrite (4,OFF); 
 pinMode(5,OUTPUT);digitalWrite (5,OFF);
 pinMode(6,OUTPUT);digitalWrite (6,OFF); 
 pinMode(7,OUTPUT);digitalWrite (7,OFF);
 pinMode(8,OUTPUT);digitalWrite (8,OFF);
 pinMode(9,OUTPUT);digitalWrite (9,OFF); 
  //digitalWrite (RelayPin, OFF); // Uncomment untuk mematikan Relay saat Start awal
  lcd.begin(); // memulai koneksi i2c dengan LCD
  rtc.begin(); // memulai koneksi i2c dengan RTC
  lcd.createChar(0, dgrsChar); //Membuat custom char derajat
  lcd.setCursor (0,0);
  lcd.print(F("  Danis Timer  "));
  lcd.setCursor (0,1);
  lcd.print(F(" 8Channel Relay "));
  delay (2000);
  lcd.clear();
ReadEeprom();
//Set RTC Untuk Pertama kali
//rtc.setTime (10, 15, 00); 
//rtc.setDate(23, 8, 2016);  
}

void loop()
{
t = rtc.getTime();
Day = rtc.getDOWStr(1);

if (setMode == 0){
hh = t.hour,DEC;
mm = t.min,DEC;
ss = t.sec,DEC;
dd = t.date,DEC;
bb = t.mon,DEC;
yy = t.year,DEC;
}  

  if (setAlarm <2){
  lcd.setCursor(1,0);
  if(setMode==0)lcd.print(Day); else {lcd.print(F("SET"));}
  lcd.print(F(" "));
  if (dd<10){ lcd.print(F("0"));}
  lcd.print(dd); lcd.print(F("-"));
  if (bb<10){ lcd.print(F("0"));} 
  lcd.print(bb); lcd.print(F("-")); 
  lcd.print(yy); lcd.print(F("  ")); 

  lcd.setCursor(0,1); 
  if (hh<10){ lcd.print(F("0"));}
  lcd.print(hh); lcd.print(F(":"));
  if (mm<10){ lcd.print(F("0"));} 
  lcd.print(mm); lcd.print(F(":"));
  if (ss<10){ lcd.print(F("0"));} 
  lcd.print(ss); lcd.print(F(" ")); 
  lcd.print(rtc.getTemp());
  lcd.print((char)0); 
  lcd.print(F("C"));
  lcd.print(F(" ")); 
  }

  blinking();
  setupClock();
  setTimer();
  Timer1 (StartHH, StartMM, FinishHH, FinishMM);
  Timer2 (StartHH2, StartMM2, FinishHH2, FinishMM2);
  Timer3 (StartHH3, StartMM3, FinishHH3, FinishMM3);
  Timer4 (StartHH4, StartMM4, FinishHH4, FinishMM4);
  Timer5 (StartHH5, StartMM5, FinishHH5, FinishMM5);
  Timer6 (StartHH6, StartMM6, FinishHH6, FinishMM6);
  Timer7 (StartHH7, StartMM7, FinishHH7, FinishMM7);
  Timer8 (StartHH8, StartMM8, FinishHH8, FinishMM8);


}

void blinking (){
//BLINKING SCREEN
if (setAlarm <2 && setMode != 0) {delay (100);}
if (setAlarm <2 && setMode == 1){lcd.setCursor(5,0); lcd.print(F("  ")); delay(100);}
if (setAlarm <2 && setMode == 2 && bb>9){lcd.setCursor(8,0); lcd.print(F("  ")); delay(100);}
if (setAlarm <2 && setMode == 2 && bb<=9){lcd.setCursor(8,0); lcd.print(F(" ")); delay(100);}
if (setAlarm <2 && setMode == 3 && bb>9){lcd.setCursor(11,0); lcd.print(F("    ")); delay(100);}
if (setAlarm <2 && setMode == 3 && bb<=9){lcd.setCursor(10,0); lcd.print(F("    ")); delay(100);}
if (setAlarm <2 && setMode == 4){lcd.setCursor(0,1); lcd.print(F("  ")); delay(100);}
if (setAlarm <2 && setMode == 5){lcd.setCursor(3,1); lcd.print(F("  ")); delay(100);}
if (setAlarm <2 && setMode == 6){lcd.setCursor(6,1); lcd.print(F("  ")); delay(100);}
if (setMode == 0 && setAlarm != 0  && setAlarm != 1) {delay (100);}
//Relay1
if (setMode == 0 && setAlarm == 2){lcd.setCursor(11,0); lcd.print(F("  ")); delay(100);}
if (setMode == 0 && setAlarm == 3){lcd.setCursor(14,0); lcd.print(F("  ")); delay(100);}
if (setMode == 0 && setAlarm == 4){lcd.setCursor(11,1); lcd.print(F("  ")); delay(100);}
if (setMode == 0 && setAlarm == 5){lcd.setCursor(14,1); lcd.print(F("  ")); delay(100);}
//Relay2
if (setMode == 0 && setAlarm == 6){lcd.setCursor(11,0); lcd.print(F("  ")); delay(100);}
if (setMode == 0 && setAlarm == 7){lcd.setCursor(14,0); lcd.print(F("  ")); delay(100);}
if (setMode == 0 && setAlarm == 8){lcd.setCursor(11,1); lcd.print(F("  ")); delay(100);}
if (setMode == 0 && setAlarm == 9){lcd.setCursor(14,1); lcd.print(F("  ")); delay(100);}
//Relay3
if (setMode == 0 && setAlarm == 10){lcd.setCursor(11,0); lcd.print(F("  ")); delay(100);}
if (setMode == 0 && setAlarm == 11){lcd.setCursor(14,0); lcd.print(F("  ")); delay(100);}
if (setMode == 0 && setAlarm == 12){lcd.setCursor(11,1); lcd.print(F("  ")); delay(100);}
if (setMode == 0 && setAlarm == 13){lcd.setCursor(14,1); lcd.print(F("  ")); delay(100);}
//Relay4
if (setMode == 0 && setAlarm == 14){lcd.setCursor(11,0); lcd.print(F("  ")); delay(100);}
if (setMode == 0 && setAlarm == 15){lcd.setCursor(14,0); lcd.print(F("  ")); delay(100);}
if (setMode == 0 && setAlarm == 16){lcd.setCursor(11,1); lcd.print(F("  ")); delay(100);}
if (setMode == 0 && setAlarm == 17){lcd.setCursor(14,1); lcd.print(F("  ")); delay(100);}
//Relay5
if (setMode == 0 && setAlarm == 18){lcd.setCursor(11,0); lcd.print(F("  ")); delay(100);}
if (setMode == 0 && setAlarm == 19){lcd.setCursor(14,0); lcd.print(F("  ")); delay(100);}
if (setMode == 0 && setAlarm == 20){lcd.setCursor(11,1); lcd.print(F("  ")); delay(100);}
if (setMode == 0 && setAlarm == 21){lcd.setCursor(14,1); lcd.print(F("  ")); delay(100);}
//Relay6
if (setMode == 0 && setAlarm == 22){lcd.setCursor(11,0); lcd.print(F("  ")); delay(100);}
if (setMode == 0 && setAlarm == 23){lcd.setCursor(14,0); lcd.print(F("  ")); delay(100);}
if (setMode == 0 && setAlarm == 24){lcd.setCursor(11,1); lcd.print(F("  ")); delay(100);}
if (setMode == 0 && setAlarm == 25){lcd.setCursor(14,1); lcd.print(F("  ")); delay(100);}
//Relay7
if (setMode == 0 && setAlarm == 26){lcd.setCursor(11,0); lcd.print(F("  ")); delay(100);}
if (setMode == 0 && setAlarm == 27){lcd.setCursor(14,0); lcd.print(F("  ")); delay(100);}
if (setMode == 0 && setAlarm == 28){lcd.setCursor(11,1); lcd.print(F("  ")); delay(100);}
if (setMode == 0 && setAlarm == 29){lcd.setCursor(14,1); lcd.print(F("  ")); delay(100);}
//Relay8
if (setMode == 0 && setAlarm == 30){lcd.setCursor(11,0); lcd.print(F("  ")); delay(100);}
if (setMode == 0 && setAlarm == 31){lcd.setCursor(14,0); lcd.print(F("  ")); delay(100);}
if (setMode == 0 && setAlarm == 32){lcd.setCursor(11,1); lcd.print(F("  ")); delay(100);}
if (setMode == 0 && setAlarm == 33){lcd.setCursor(14,1); lcd.print(F("  ")); delay(100);}


}

//Seting Jam ,Tanggal,Alarm/Timer
void setupClock (void) {
   btnUP.read(); 
   btnDN.read();
   btnSET.read();
   btnALR.read();
   
    if (setMode == 7){
    lcd.setCursor (0,0);
    lcd.print (F("Set Date Finish "));
    lcd.setCursor (0,1);
    lcd.print (F("Set Time Finish "));delay (1000);
    rtc.setTime (hh, mm, ss);
    rtc.setDate (dd, bb, yy);  
    lcd.clear();
    setMode = 0;}

    if (setAlarm == 34){
    lcd.setCursor (0,0);
    lcd.print (F("Set Timer Finish"));
    lcd.setCursor (0,1);
    lcd.print (F("-EEPROM Updated-"));
    WriteEeprom();
    delay (2000); lcd.clear();
    setAlarm=0;
    alarmMode=1;}
    
    if (setAlarm >0){ alarmMode=0;}
    
    switch (STATE) {
        
        case WAIT:                            
            if (btnSET.wasPressed())
               { setMode = setMode+1;}
            if (btnALR.wasPressed())
               { setAlarm = setAlarm+1;} 
            if (btnUP.wasPressed())
                STATE = INCR;
            else if (btnDN.wasPressed())
                STATE = DECR;
            else if (btnUP.wasReleased())    
                rpt = REPEAT_FIRST;
            else if (btnDN.wasReleased())
                rpt = REPEAT_FIRST;
            else if (btnUP.pressedFor(rpt)) {  
                rpt += REPEAT_INCR;            
                STATE = INCR;}
            else if (btnDN.pressedFor(rpt)) {
                rpt += REPEAT_INCR;
                STATE = DECR;}
                
            break;

        case INCR:                               
            if (setAlarm<2 && setMode==1 && dd<31)dd=dd+1; 
            if (setAlarm<2 && setMode==2 && bb<12)bb=bb+1;
            if (setAlarm<2 && setMode==3 && yy<2050)yy=yy+1;
            if (setAlarm<2 && setMode==4 && hh<23)hh=hh+1;
            if (setAlarm<2 && setMode==5 && mm<59)mm=mm+1;
            if (setAlarm<2 && setMode==6 && ss<59)ss=ss+1;
            //Relay1
            if (setMode==0 && setAlarm==2 && StartHH<23)StartHH=StartHH+1;
            if (setMode==0 && setAlarm==3 && StartMM<59)StartMM=StartMM+1;
            if (setMode==0 && setAlarm==4 && FinishHH<23)FinishHH=FinishHH+1;
            if (setMode==0 && setAlarm==5 && FinishMM<59)FinishMM=FinishMM+1;
            //Relay2
            if (setMode==0 && setAlarm==6 && StartHH2<23)StartHH2=StartHH2+1;
            if (setMode==0 && setAlarm==7 && StartMM2<59)StartMM2=StartMM2+1;
            if (setMode==0 && setAlarm==8 && FinishHH2<23)FinishHH2=FinishHH2+1;
            if (setMode==0 && setAlarm==9 && FinishMM2<59)FinishMM2=FinishMM2+1;
            //Relay3
            if (setMode==0 && setAlarm==10 && StartHH3<23)StartHH3=StartHH3+1;
            if (setMode==0 && setAlarm==11 && StartMM3<59)StartMM3=StartMM3+1;
            if (setMode==0 && setAlarm==12 && FinishHH3<23)FinishHH3=FinishHH3+1;
            if (setMode==0 && setAlarm==13 && FinishMM3<59)FinishMM3=FinishMM3+1;
            //Relay4
            if (setMode==0 && setAlarm==14 && StartHH4<23)StartHH4=StartHH4+1;
            if (setMode==0 && setAlarm==15 && StartMM4<59)StartMM4=StartMM4+1;
            if (setMode==0 && setAlarm==16 && FinishHH4<23)FinishHH4=FinishHH4+1;
            if (setMode==0 && setAlarm==17 && FinishMM4<59)FinishMM4=FinishMM4+1;
            //Relay5
            if (setMode==0 && setAlarm==18 && StartHH5<23)StartHH5=StartHH5+1;
            if (setMode==0 && setAlarm==19 && StartMM5<59)StartMM5=StartMM5+1;
            if (setMode==0 && setAlarm==20 && FinishHH5<23)FinishHH5=FinishHH5+1;
            if (setMode==0 && setAlarm==21 && FinishMM5<59)FinishMM5=FinishMM5+1;
            //Relay6
            if (setMode==0 && setAlarm==22 && StartHH6<23)StartHH6=StartHH6+1;
            if (setMode==0 && setAlarm==23 && StartMM6<59)StartMM6=StartMM6+1;
            if (setMode==0 && setAlarm==24 && FinishHH6<23)FinishHH6=FinishHH6+1;
            if (setMode==0 && setAlarm==25 && FinishMM6<59)FinishMM6=FinishMM6+1;
            //Relay7
            if (setMode==0 && setAlarm==26 && StartHH7<23)StartHH7=StartHH7+1;
            if (setMode==0 && setAlarm==27 && StartMM7<59)StartMM7=StartMM7+1;
            if (setMode==0 && setAlarm==28 && FinishHH7<23)FinishHH7=FinishHH7+1;
            if (setMode==0 && setAlarm==29 && Fini

visit link download
Read more »

Kelewat Baper Satu Keluarga Ini Nangis Bareng Ketika Boy ‘Anak Jalanan’ Meninggal!

Kelewat Baper Satu Keluarga Ini Nangis Bareng Ketika Boy ‘Anak Jalanan’ Meninggal!


Setelah Stefan William memutuskan untuk hengkang dari Anak Jalanan. Hal ini tentunya membuat penulisan naskah cerita akhirnya terpaksa mematikan tokoh Boy yang selama ini diperankan oleh Stefan William. Cerita dalam Sinetron Anak Jalanan ini, Boy yang meninggal akibat tragedi kecelakaan yang ia alami. 


Pada saat itu Boy yang mengendarai motor sambil melamun hingga motornya terpeleset dan tertabrak oleh truk. Sinetron Anak Jalanan juga sempat menayangkan adegan Boy yang tertabrak truk dan meninggal pada tanggal 25 Desember 2016 kemarin. Meninggalnya Boy ini ternyata membuat heboh para penggemar sinetron ini. Tak sedikit dari para penggemar yang rela jika sosok Boy ini hilang dari Sinetron Anak Jalanan. 

Wajar saja kalau mereka tak merelakan kepergian Boy, karena wajah ganteng artis ini dan kisah cintanya bersama dengan Reva yang berliku membuat para penggemarnya ikutan baper. Pesona dari suami Celine Evangelista ini mampu membuat seorang gadis kecil yang menangis terisak-isak dan histeris akibat tayangan tentang meninggalnya Boy. 

Bahkan air matanya pun tak bisa dihentikan saat mengetahui bahwa Boy memang benar meninggal dunia akibat kecelakaan. 

Bukan hanya gadis kecil tersebut, namun seorang ibu yang berada di samping gadis kecil itu juga ikut baper saat menonton adegan meninggalnya Boy dalam Anak Jalanan ini. Tampaknya mereka sedih karena idolanya dalam Sinetron Anak Jalanan ini meninggal. Penasaran ya pastinya pengen nonton video ini ? jangan terlalu tegang ya�. Video yang memperlihatkan satu keluarga yang baper gara-gara Boy meninggal ini diunggah oleh akun instagram @Raja_ngakak. Akun tersebut mengunggah video itu pada tanggal 28/12 kemarin.


visit link download
Read more »

Cara Mudah Install Mediatek Preloader USB VCOM Driver di Windows

Cara Mudah Install Mediatek Preloader USB VCOM Driver di Windows


Salah satu kendala saat mencoba untuk flash rom pada chipset Mediatek adalah driver yang tidak terinstal dengan benar. Memang sedikit rumit bila berurusan dengan chipset Mediatek. Namun dengan tutorial ini, saya harap sobat bisa sedikit lega karena sebenarnya menginstal Mediatek preloader usb vcom driver itu tidak serumit yang sobat kira. 
Gambar Mediatek
Dalam tutorial ini akan dijelaskan cara menginstal Mediatek preloader usb vcom driver pada Windows yang berbeda versi, yaitu Windows 7, Windows 8, 8,1 dan Windows 10 melalui media gambar agar sobat dapat mudah mengerti apa yang harus dilakukan. Namun karena saya hanya punya Windows 10, jadi gambar pada tutorial ini merupakan hasil screenshot Windows 10. Tenang aja sob, menu hampir sama dengan Windows 7 dan Windows 8 kok!

Karena tutorial ini berhubungan dengan flashing, mungkin sobat tertarik juga untuk membaca "Cara Flash Stock ROM Dengan Menggunakan SP Flash Tool".

Bahan yang perlu dipersiapkan :
  1. PC/Komputer, Laptop dengan OS Windows 7, 8, 8.1 atau Windows 10 (x86 atau x64)
  2. Mediatek MT65xx Preloader USB VCOM Drivers.
Langkah Instalasi :
  1. Ekstrak hasil download diatas. Sobat bisa melihat ada folder "MT6577 USB VCOM drivers" dan didalam folder tersebut, terdapat beberapa folder yang berisikan file berekstensi "inf".
    Gambar Langkah 1
  2. Buka "Device Manager" di komputer/laptop sobat, lalu menuju menu "Action" dan "Add legacy hardware".
    Gambar Langkah 2
  3. Sobat akan melihat "hardware installation wizard". Pilih "Next".
    Gambar Langkah 3
  4. Setelah itu sobat akan melihat 2 menu pilihan. Pilih "Install the hardware that i manually select from a list (Advance), lalu pilih "Next".
    Gambar Langkah 4
  5. Pada menu "Common hardware types", langsung sobat pilih "Next" saja sampai sobat menemukan menu "Have Disk" seperti pada gambar dibawah ini.
    Gambar Langkah 5
  6. Setelah sobat memilih menu "Have Disk", muncul pop up "Install from disk". Pilih "Browse".
    Gambar Langkah 6
  7. Browse menuju file yang sebelumnya sudah sobat ekstrak dan pilih file berekstensi "inf". Untuk Windows versi 32 bit atau x86, pilih file "usb2ser_Win7.inf", sedangkan untuk Windows versi 64 bit atau x64, pilih file "usb2ser_Win764.inf", lalu pilih "Open" dan "OK".
    Gambar Langkah 7
  8. Selanjutnya akan ada pilihan "Model", sobat bisa langsung pilih "Next".
    Gambar Langkah 8
  9. Selesai! Sekarang sobat bisa flash Smartphone sobat tanpa hambatan apapun. Bila status di "Device Manager" menandakan error yang ditandai dengan segitiga berwarna kuning, abaikan saja. Itu tidak berpengaruh sama sekali terhadap proses flashing.
    Gambar Langkah 9


Itulah tutorial lengkap untuk menginstal Mediatek Preloader USB VCOM Driver di Windows. Semoga informasi ini berguna untuk sobat semua. Bila sobat masih bingung silahkan untuk bertanya selama bertanya masih digratiskan. haha!


visit link download
Read more »

Arriva Trains Wales Class 67 Repaint

Arriva Trains Wales Class 67 Repaint


I have just uploaded another new repaint to the DPSimulation website courtesy of Richard Fletcher.

Featuring the Class 67 as included with the recently released South Wales Coastal: Bristol - Swansea route, this repaint depicts the locomotive in Arriva Trains Wales livery.

This pack can be downloaded from the Locomotives section of Richards page by following this link.


visit link download
Read more »

Cara Install Aplikasi Remix OS Player Emulator Android untuk Gaming

Cara Install Aplikasi Remix OS Player Emulator Android untuk Gaming


Istilah smartphone Android dan tablet Android, tentunya sudah akrab di telinga kamu. Namun, bagaimana dengan laptop Android atau PC Android? Kedengarannya seperti project kurang kerjaan, mungkin itulah awalnya. Tapi siapa sangka, sekarang kamu bisa menikmati segala kelebihan Android di PC berkat Remix OS, buah pemikiran tiga mantan engineer Google yang akhirnya membentuk perusahaan baru bernama Jide Technology.

Nah, pada bulan Juli lalu, perusahaan asal Tiongkok ini telah merilis Remix OS versi 3 berbasis Android 6.0 Marshmallow. Sayangnya, karena menggunakan dual boot OS, proses instalasi Remix OS memang cukup sulit bagi pengguna awam. Karena takut laptop error atau lemot karena menjalankan dual OS. Terus bagaimana solusinya?

Cara Install Remix OS Player Emulator Android untuk Gaming


pasalnya Jide telah meluncurkan sebuah emulator yang telah dioptimalkan untuk bermain game Android di PC bernama Remix OS Player. Penasaran? Berikut kelebihan, fitur, dan cara memasang Remix OS Player.

Cara Install Aplikasi Remix OS Player, Emulator Android untuk Gaming

Remix OS Player pun otomatis akan bersaing langsung dengan Bluestack. Bedanya Bluestack masih menggunakan Android 5.0 Lollipop atau Nox yang masih mengggunakan Android 4.4 Kitkat. Bandingkan dengan Remix OS Player yang telah menggunakan Android Marshmallow.

Pada aplikasi Android yang telah teremulasi, sebuah strip kontrol akan menyediakan akses ke sistem kontrol seperti keyboard pada layar, volume, dan orientasi layar. Karena ini ditujukan untuk gaming, kamu juga dapat mengakses desktop Remix secara penuh dengan dock untuk melacak aplikasi yang terbuka. Sementara untuk aplikasi lainnya kamu bisa menginstalnya melalui Remix Store yang telah tersedia secara bawaan.

Selain itu, Remix OS Player menjanjikan performa yang belum pernah terjadi sebelumnya dengan memanfaatkan teknologi Android Studio terbaru untuk emulasi dan untuk menguji coba aplikasi. Kamu juga bisa menjalankan beberapa aplikasi pada waktu yang sama secara side by side. Dengan dukungan Gaming Toolkit memungkinkan kamu untuk memetakan tombol (keyboard mapping) secara tak terbatas untuk keyboard fisik setiap game dengan sistem yang mampu mengingat pengaturan kamu.


Persyaratan Aplikasi Sistem untuk Remix OS Player


Sebelum kamu memutuskan untuk men-download Remix OS Player, pastikan dulu bahwa komputer kamu mendukung. Remix OS Player ini membutuhkan spesifikasi sebagai berikut.
  • Processor: Intel Core i5/ i7 (Minimum: Intel Core i3).
  • RAM: 4GB atau lebih tinggi.
  • Sistem operasi: Windows 7, 8, dan 10.
  • Storage: 16GB (Minimum: 8GB).
  • Saat ini, Remix OS Player tidak kompatibel dengan prosesor AMD.

CAra Instalasi Remix OS Player


Untuk menginstal Remix OS dibutuhkan pengetahuan lebih. Instalasi Remix OS Player terbilang sangat mudah seperti kamu menginstal sebuah software. Bagian terbaiknya adalah emulator ini juga gratis, berikut langkah-langkahnya.

Download Remix OS Player di website resmi Jide, ukurannya 688MB.
Setelah download selesai, selanjutnya install Remix OS Player.

Cara Install Aplikasi Remix OS Player, Emulator Android untuk Gaming

Kamu bisa memilih, install secara standar atau dengan pengaturan Advance untuk mengatur CPU, RAM, dan resolusi layar.

Cara Install Aplikasi Remix OS Player, Emulator Android untuk Gaming

sekarang kamu sudah bisa menikmati berbagai kelebihan Android di PC tanpa menginstal OS yang terpisah. Daya tarik Remix OS Player adalah sudah menjalankan sistem operasi Android 6.0 Marshmallow. Bandingkan dengan emulator lainnya yang masih menjalankan OS Android yang lebih jadul. Tertarik mencoba?


visit link download
Read more »