This is default featured slide 1 title

Selamat datang di blog saya, jika kalian suka ngeblogger berbagilah ilmu www.cahilangall012.blogspot.com.

This is default featured slide 2 title

Selamat datang di blog saya, jika kalian suka ngeblogger berbagilah ilmu www.cahilangall012.blogspot.com.

This is default featured slide 3 title

Selamat datang di blog saya, jika kalian suka ngeblogger berbagilah ilmu www.cahilangall012.blogspot.com.

This is default featured slide 4 title

Selamat datang di blog saya, jika kalian suka ngeblogger berbagilah ilmu www.cahilangall012.blogspot.com.

This is default featured slide 5 title

Selamat datang di blog saya, jika kalian suka ngeblogger berbagilah ilmu www.cahilangall012.blogspot.com.

Friday, March 31, 2017

TUTORIAL WEBCAM for OpenCv 2.410 and Visual Basic 2012 #Detector Obyek

TUTORIAL WEBCAM for OpenCv 2.410 and Visual Basic 2012


1.           Instal OpenCV 2.410 dan Visual Basic 2012
2.           Buka VB.12 lalu ikuti langkah-langkah berikut :

a.    Klik kanan pada main VB // Properties //



b.   Muncul tampilan seperti dibawah, lalu klik edit ....



c.    Kemudian masukan file OpenCV 2.410, lalu tambahkan ::







Contoh alamat :
1.   D:\MASTER =kursor\OPENCV\INSTAL OPENCV 2.41\opencv\build\include\opencv
2.   D:\MASTER =kursor\OPENCV\INSTAL OPENCV 2.41\opencv\build\include

d.    Kemudian masukan Linker // input // Additional ,,, EDIT




Masukan data Tersebut : "D:\MASTER =KURSOR\OPENCV\ : menurut lokasi tempat Instal OpenCV anda...

"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_calib3d2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_calib3d2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_contrib2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_contrib2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_core2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_core2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_features2d2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_features2d2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_flann2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_flann2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_gpu2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_gpu2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_highgui2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_highgui2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_imgproc2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_imgproc2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_legacy2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_legacy2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_ml2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_ml2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_nonfree2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_nonfree2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_objdetect2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_objdetect2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_ocl2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_ocl2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_photo2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_photo2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_stitching2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_stitching2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_superres2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_superres2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_ts2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_ts2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_video2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_video2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_videostab2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_videostab2410d.lib"
e.    Terakhir silahkan masukan program dibawah ,,

3.           Done




Silahkah Email : Setiawan_alik@yahoo.com



#include <iostream>
#include<opencv/cvaux.h>
#include<opencv/highgui.h>
#include<opencv/cxcore.h>
#include <sstream>
#include <string>
#include <opencv\cv.h>

#include<stdio.h>
#include<stdlib.h>

#include <Windows.h>


int H_MIN = 0;
int H_MAX = 256;
int S_MIN = 0;
int S_MAX = 256;
int V_MIN = 0;
int V_MAX = 256;
using namespace cv;

const string trackbarWindowName = "Trackbars";

void on_trackbar( int, void* )
{//This function gets called whenever a
 // trackbar position is changed
}

void createTrackbars(){

    namedWindow(trackbarWindowName,0);
        char TrackbarName[50];
        sprintf( TrackbarName, "H_MIN", H_MIN);
        sprintf( TrackbarName, "H_MAX", H_MAX);
        sprintf( TrackbarName, "S_MIN", S_MIN);
        sprintf( TrackbarName, "S_MAX", S_MAX);
        sprintf( TrackbarName, "V_MIN", V_MIN);

    createTrackbar( "H_MIN", trackbarWindowName, &H_MIN, H_MAX, on_trackbar );
    createTrackbar( "H_MAX", trackbarWindowName, &H_MAX, H_MAX, on_trackbar );
    createTrackbar( "S_MIN", trackbarWindowName, &S_MIN, S_MAX, on_trackbar );
    createTrackbar( "S_MAX", trackbarWindowName, &S_MAX, S_MAX, on_trackbar );
    createTrackbar( "V_MIN", trackbarWindowName, &V_MIN, V_MAX, on_trackbar );
    createTrackbar( "V_MAX", trackbarWindowName, &V_MAX, V_MAX, on_trackbar );

}

int main(int argc, char* argv[])
{
        // Setup serial port connection and needed variables.
        HANDLE hSerial = CreateFile(L"COM2", GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);

        if (hSerial !=INVALID_HANDLE_VALUE)
    {
        printf("Port opened! \n");

        DCB dcbSerialParams;
        GetCommState(hSerial,&dcbSerialParams);

        dcbSerialParams.BaudRate = CBR_9600;
        dcbSerialParams.ByteSize = 8;
        dcbSerialParams.Parity = NOPARITY;
        dcbSerialParams.StopBits = ONESTOPBIT;

        SetCommState(hSerial, &dcbSerialParams);
        }
        else
        {
                if (GetLastError() == ERROR_FILE_NOT_FOUND)
                {
                        printf("Serial port doesn't exist! \n");
                }

                printf("Error while setting up serial port! \n");
        }

        char outputChars[] = "c";
        DWORD btsIO;

        CvSize size640x480 = cvSize(640, 480);         
        CvCapture* p_capWebcam;                        
        IplImage* p_imgOriginal;       
        IplImage* p_imgProcessed;                      
        IplImage* p_imgHSV;

        CvMemStorage* p_strStorage;            
        CvSeq* p_seqCircles;                                   
        float* p_fltXYRadius;                          
                       
        char charCheckForEscKey;                       

        p_capWebcam = cvCaptureFromCAM(0);     

        if(p_capWebcam == NULL) {                       // if capture was not successful . . .
                printf("error: capture is NULL \n");    // error message to standard out . . .
                getchar();                     
                return(-1);                    
        }

                                               
        cvNamedWindow("Original", CV_WINDOW_AUTOSIZE);          // original image from webcam
        cvNamedWindow("Processed", CV_WINDOW_AUTOSIZE);        

        createTrackbars();
        p_imgProcessed = cvCreateImage(size640x480,            
        IPL_DEPTH_8U,           // 8-bit color depth
        1);             // 1 channel (grayscale), if this was a color image, use 3

        p_imgHSV = cvCreateImage(size640x480, IPL_DEPTH_8U, 3);

        // Variables for Arduino Control
        int servoPosition = 90;
        int servoOrientation = 0;
        int servoPosition1=90;
        int servoOrientation1=0;

        // Main program loop
        while(1) {                                     
                p_imgOriginal = cvQueryFrame(p_capWebcam);
               
                if(p_imgOriginal == NULL) {            
                        printf("error: frame is NULL \n");     
                        getchar();
                        break;
                }


                cvCvtColor(p_imgOriginal, p_imgHSV, CV_BGR2HSV);

                cvInRangeS(p_imgHSV,                            // function input
                                   cvScalar(H_MIN,  S_MIN,  V_MIN),
                                   cvScalar(H_MAX, S_MAX, V_MAX),
                                   p_imgProcessed);            

                p_strStorage = cvCreateMemStorage(0);

                                                       
                cvSmooth(p_imgProcessed,                // function input
                                 p_imgProcessed,                // function output
                                 CV_GAUSSIAN,          
                                 9,     // smoothing filter window width
                                 9);    // smoothing filter window height

                                       
                p_seqCircles = cvHoughCircles(p_imgProcessed,p_strStorage,CV_HOUGH_GRADIENT, 2,p_imgProcessed->height / 4,    100, 50, 10, 400);                              if (p_seqCircles->total == 0)
                {
                        if (servoOrientation == 0)
                        {
                                if (servoPosition >= 90)
                                        servoOrientation = 1;
                                else
                                        servoOrientation = -1;
                        }

                        if (servoOrientation == 1)
                        {
                                outputChars[0] = 'l';
                                WriteFile(hSerial, outputChars, strlen(outputChars), &btsIO, NULL);

                                // This code is identical to the one on the Arduino side
                                servoPosition+=1;

                                if (servoPosition > 180)
                                {
                                        servoPosition = 180;
                                        servoOrientation = -1;
                                }
                        }
                }
                    if (p_seqCircles->total == 1)
                        {
                        p_fltXYRadius = (float*)cvGetSeqElem(p_seqCircles, 1); 
                        printf("ball position x = %f, y = %f, r = %f \n", p_fltXYRadius[0], p_fltXYRadius[1],p_fltXYRadius[2]);     // radius of circle

                        cvCircle(p_imgOriginal, cvPoint(cvRound(p_fltXYRadius[0]), cvRound(p_fltXYRadius[1])),3,CV_RGB(0,255,0),CV_FILLED);               
                        cvCircle(p_imgOriginal, cvPoint(cvRound(p_fltXYRadius[0]), cvRound(p_fltXYRadius[1])), cvRound(p_fltXYRadius[2]),CV_RGB(255,0,0),3);                                  
                }       // end for

                cvShowImage("Original", p_imgOriginal);                 // original image with detectec ball overlay
                cvShowImage("Processed", p_imgProcessed);               // image after processing

                cvReleaseMemStorage(&p_strStorage);                    

                charCheckForEscKey = cvWaitKey(10);    
                if(charCheckForEscKey == 27) break;            
        }       // end while

        cvReleaseCapture(&p_capWebcam);                
        cvDestroyWindow("Original");
        cvDestroyWindow("Processed");
CloseHandle(hSerial);

        return(0);
}



Link MODUL : DOnwload

Wednesday, March 8, 2017

Modul Sederhana Transmisi Data Serial Menggunakan ARDUINO UNO " 3 LED "




I.            Pokok Bahasan
Transmisi Data Serial

II.          Judul
“Kendali Nyala 3 LED dengan Modul Arduino”

III.        Tujuan
Setelah selesai praktik diharapkan mahasiswa dapat :
1.    Memahami tentang konsep transmisi data serial.
2.    Memahami cara kerja teknik transmisi data paralel menggunakan modul Arduino Uno
3.    Memanfaatkan transmisi data serial untuk kendali nyala 3 LED.

IV.         Teori Singkat
Arduino IDE adalah software yang digunakan untuk mengembangkan dan mengisi program ke dalam Arduino. Arduino IDE ini dapat digunakan pada OS Windows, Mac OS dan Linux. Pastikan anda mendownload IDE yang sesuai dengan OS yang anda gunakan.




Gambar. 1. Modul Arduino Uno

Sambungkan arduino dengan komputer menggunakan kabel USB pada port USB  di komputer atau laptop anda.



Gambar. 2. Port USB

Arduino diprogram menggunakan bahasa pemrograman C. Pada materi kali ini,  kita akan mencoba mengenal beberapa dasar dalam memprogram arduino menggunakan bahasa C pada IDE Arduino yang telah kita install pada materi sebelumnya.

Setiap program Arduino (biasanya disebut sketch) memiliki setidaknya dua fungsi (biasanya disebut routines).

Tabel. 1. Arti void setup dan void loop






V.           Alat dan Bahan
1.    1x Modul Arduino
2.    1x Project Board
3.    1x Push buttun (Tactice switch)
4.    3x Lampu LED
5.    7x Kabel jumper
6.    5x Resistor 330 Ohm
7.    1x Sistem operasi Windows Xp, 7, atau 8
8.    1x Aplikasi Arduino UNO

VI.         Langkah Percobaan
Praktik kendali nyala 3 LED dengan Modul Arduino
1.    Jalankan program Arduino Uno, lalu ikuti langkah-lagkah sebagai berikut.
2.    Susunlah rangkaian seperti gambar dibawah ini.



3.    Keterangan konfigurasi Kabel
·         Pin VCC pada Arduino dihubungkan ke kaki Push button.
·         Pin 2 pada Arduino dihubungkan pada kaki Push button lainnya.
·         Hubungkan resistor 330 Ohm pada kaki Push button lainnya.
·         Pin GND pada Arduino di jumper ke semua kaki resistor.
·         Pin 9 pada Arduino dihubungkan pada kaki Anoda Led 1.
·         Pin 10 pada Arduino dihubungkan pada kaki Anoda Led 2.
·         Pin 11 pada Arduino dihubungkan pada kaki Anoda LED 3.
4.    Setelah itu sambungkan Arduino pada Laptop/PC dengan menggunakan kabel serial.
5.    Download dan Install program Arduino IDE di Arduino.cc ( If Needed )
6.    Setelah terinstall, jalankan program Arduino-nya.
7.    Klik menu "Tools -> Board -> Arduino/ Genuino Uno"
8.    Klik menu "Tools -> Port -> ( Pilih Port arduino yang terdeteksi di komputer anda )




Gambar. 3. Konfigurasi Arduino Uno

9.    Lalu masukan Sketch dibawah ini, dan terakhir klik upload.

int Power = 2; // Ini pin power
int led1 = 9; // Ini led 1
int led2 = 10; // Ini led 2
int led3 = 11; // Ini led 3
void setup() {
  // Ini setup untuk inisialisasi Pin Input atau Output
  pinMode(led1, OUTPUT); // Mendefinisikan led1 sebagai output
  pinMode(led2, OUTPUT); // Mendefinisikan led2 sebagai output
  pinMode(led3, OUTPUT); // Mendefinisikan led3 sebagai output
  pinMode(Power, INPUT); // Mendefinisikan Power sebagai input
  Serial.begin(9600);
}

void loop() {
  // Jika PB ditekan == HIGH, maka aktifkan pola Kedip-kedip LED
  if (digitalRead (2) == 1) {
    digitalWrite(led1, HIGH);
    digitalWrite(led2, HIGH);
    digitalWrite(led3, HIGH);
    Serial.println("HIDUP SEMUA");
    delay(100);
    digitalWrite(led1, LOW);
    digitalWrite(led2, LOW);
    digitalWrite(led3, LOW);
    Serial.println("MATI SEMUA");
    delay(100);
  }
  else
 {
    // Jika PB tidak ditekan == LOW, maka Aktifkan Pola LED nyala Api
    analogWrite(led1, random(156) + 100);
    analogWrite(led2, random(156) + 100);
    analogWrite(led3, random(156) + 100);
    Serial.println("STANBAY");
    delay(random(200));
  }

}

VII.       CARA KERJA RANGKAIAN
1.    Ketika kita hidupkan atau setelah kita donwloadkan program ke Arduino makan rangkaian akan langsung bekerja dengan nyala lampu LED seperti API (berkedip tidak beraturan).
2.    Lalu, ketika sklar ditekan maka nyala lampu LED akan berubah yang tadinya berkedip tidak beraturan sekaran menjadi beraturan dengan waktu jeda 100ms.
3.    Ketika tombol tidak ditekan atau kita lepaskan maka nyala lampu LED akan seperti semula yang berkedip tidak beraturan.


Gambar 4. Rangakaian lampu LED dengan satu Pust Bottom


Sumber Pustaka :



Monday, November 28, 2016

SEJARAH MUNCULNYA TAMIYA DI DUNIA *Race Jepang

SPOOL TAMIYA

SEJARAH MUNCULNYA TAMIYA

Mini 4WD (4-Wheel-Drive) adalah sejenis model miniatur mobil balap rakitan yang terbuat dari plastik berskala 1/20 (1:20) hingga 1/48 (1:48), bermesin dinamo dengan sumber tenaga sepasang baterai AA dan dikendalikan tanpa remote control.

Mini 4WD pertama kali diproduksi oleh sebuah perusahaan model berskala Jepang, Tamiya pada 1982 berupa sebuah miniatur mobil dengan mesin sebagai alternatif dari berbagai jenis miniatur mobil plastik di pasaran yang umumnya tak bermesin. Pada tahun 1989, Tamiya menugaskan Shogakukan, sebuah perusahaan penerbitan di Jepang, untuk memproduksi dua serial anime TV yang ceritanya didasarkan pada mobil Mini 4WD, salah satunya yang cukup populer berjudul Dash! Yonkuro. Semenjak itu balapan dan memodifikasi mobil 4WD telah menjadi hobi bagi banyak orang di belahan dunia. Mini 4WD sangat popular di kawasan Asia, seperti Jepang, Filipina, Indonesia, Malaysia, Taiwan, Hongkong, hingga ke Italia dan Amerika Serikat.

Mini 4WD sendiri adalah mainan yang berbentuk rakitan.dari Chasis hingga body harus dirakit sedemikian rupa agar menjadi sebuah mainan yang utuh dan dapat dijalankan.penggerak dari mainan ini adalah sebuah motor DC kecil yang terpasang di antara roda belakang atau depan chasis. Kecepatan dari mobil mainan ini bergantung dari seberapa baik penggunanya merakit motor maupun integrasi elektriknya.

Berikut adalah hal hal yang harus diperhatikan dari kita saat merakit mini 4WD:

1. Pemilihan motor: saat menjalankan mini 4WD,motor adalah hal yang sangat vital.karena seharusnya kita tahu bahwa ada 2 jenis motor yang ada di pasaran.yaitu motor bertenaga tinggi,dan berkecepatan tinggi.pemilihan motor sangat bergantung pada lintasan yang akan dilalui oleh mini 4WD tersebut.

2.Pemilihan Ban : bila mini 4WD melalui sebuah lintasan di tempat yang memang sewajarnya,maka ban karet lateks biasa cukup baik untuk digunakan.namun,juga disarankan bagi pengguna mini 4WD untuk menggunakan ban busa bila mobil hanya melaju untuk putaran singkat.

3.Pemilihan Aksesoris : aksesoris yang berlebihan pada mini 4WD juga akan mempengaruhi laju mobil tersebut.sehingga pengguna mini 4WD harusnya lebih bijak menggunakan aksesoris agar tidak berlebihan.bila lintasan yang dilalui terlalu berliku,maka disarankan untuk menggunakan minimal roler depan dan belakang sehingga membantu mobil untuk bergerak di setiap tikungan.

Sangat penting bagi kita pengguna mini 4WD agar bijak menentukan seperti apa setting terbaik dari mobil kita.sebaiknya gunakan secara maksimal kemampuan anda terutama bila anda memiliki keilmuan di bidang elektro.keilmuan di bidang tersebut tentunya akan sangat membantu karena anda tentu saja dapat mendesain sedemikian rupa mobil mini 4WD anda secara elektris dan mekanis sehingga menghasilkkan mobil mini 4WD yang tidak hanya cepat di lintasan lurus,tapi juga stabil melewati lintasan yang berliku.


Berikut ini adalah tahun & sejarah kelahiran Tamiya:

1946 : Yoshio Tamiya mendirikan pabrik penggergajian kayu di kota Shizuoka.
1947 : Divisi pembuatan model kit dari kayu dibentuk.
1953 : Pabrik penggergajian ditutup, Tamiya mengkhususkan diri pada pembuatan model kit dari kayu.
1960 : Tamiya, Inc. mulai memproduksi
1968 : Tamiya jadi perusahaan model kit pertama di Jepang yang ikut pameran di Nuremberg Toy Fair, Jerman.
1976 : Tamiya merilis R/C Porche 934 Turbo bertenaga listrik dengan skala 1/12. Rilis ini memacu popularitas mobil radio kontrol.
1977 : Shunsaku Tamiya jadi Presiden dan Pemimpin Eksekutif Tamiya Plastic Model, Co. Seri Mobil Sport mulai dipasarkan.
1981 : Tamiya meluncurkan Seri Sepeda Motor skala 1/12.
1984 : Shunsaku Tamiya diangkat menjadi Presiden dan Pemimpin Eksekutif Tamiya, Inc.
1987 : Mobil “Racing Mini 4WD” skala 1/32 yang diproduksi sejak setahun sebelumnya, mencapai total penjualan 10 juta unit.
1988 : Pendiri Tamiya, Inc., Yoshio Tamiya meninggal dunia pada usia 83 tahun.
1989 : Tamiya America, Inc. didirikan di Los Angeles, California, US. Masih pada tahun yang sama, dibuka cabangnya di Eropa.
1995 : Cabangnya di Filipina didirikan, Tamiya Philipines, Inc.
1996 : Tamiya Kakegawa R/C Circuit dibuka di Kakegawa, Shizuoka, Jepang.