Percobaan 5 Maret 2013


Finally setelah ngutek ngutek tadi malem sampai jam 00.30 jadi juga codenya menggerakkan servo pake PS3 Controller, Arduino USB Host Shield, Arduino Mega Dfrduino mega 1280, koneksi menggunakan bluetooth yang ditancep ke USB host shield

source code ps3BT lib : http://www.circuitsathome.com


</pre>
#include <SD.h>

/*
 Example sketch for the PS3 Bluetooth library - developed by Kristian Lauszus
 For more information visit my blog: http://blog.tkjelectronics.dk/ or
 send me an e-mail: kristianl@tkjelectronics.com
 */

#include <PS3BT.h>
#include <Servo.h>
Servo myservo1;
int pos1 = 0;
int servostep = 1;

USB Usb;
BTD Btd(&Usb); // You have to create the Bluetooth Dongle instance like so
/* You can create the instance of the class in two ways */
PS3BT PS3(&Btd); // This will just create the instance
//PS3BT PS3(&Btd,0x00,0x15,0x83,0x3D,0x0A,0x57); // This will also store the bluetooth address - this can be obtained from the dongle when running the sketch

boolean printTemperature;
boolean printAngle;

void setup() {
 Serial.begin(57600);
 if (Usb.Init() == -1) {
 Serial.print(F("\r\nOSC did not start"));
 while(1); //halt
 }
 Serial.print(F("\r\nPS3 Bluetooth Library Started"));
 myservo1.attach(9);
}
void loop() {
 Usb.Task();

if(PS3.PS3Connected || PS3.PS3NavigationConnected) {
 if(PS3.getAnalogHat(LeftHatX) == 255) {
 Serial.print(F("\r\nLeftHatX: "));
 Serial.print(PS3.getAnalogHat(LeftHatX));
 pos1 = pos1 + servostep;
 if (pos1 >180) pos1 = 180;
 myservo1.write(pos1); // tell servo to go to position in variable 'pos'
 delay(50);
 }
 if(PS3.getAnalogHat(LeftHatX) == 0) {
 Serial.print(F("\r\nLeftHatX: "));
 Serial.print(PS3.getAnalogHat(LeftHatX));
 pos1 = pos1 - servostep;
 if (pos1 < 0) pos1 = 0;
 myservo1.write(pos1); // tell servo to go to position in variable 'pos'
 delay(50);

 }
 if(PS3.getAnalogHat(LeftHatY) > 200) {
 Serial.print(F("\r\nLeftHatY: "));
 Serial.print(PS3.getAnalogHat(LeftHatY));
 }
 if(PS3.getAnalogHat(LeftHatY) < 50) {
 Serial.print(F("\r\nLeftHatY: "));
 Serial.print(PS3.getAnalogHat(LeftHatY));
 }
 if(PS3.getAnalogHat(LeftHatY) == 0) {
 Serial.print(F(""));

 }
 }

//Analog button values can be read from almost all buttons
 if(PS3.getAnalogButton(L2) || PS3.getAnalogButton(R2)) {
 Serial.print(F("\r\nL2: "));
 Serial.print(PS3.getAnalogButton(L2));
 if(!PS3.PS3NavigationConnected) {
 Serial.print(F("\tR2: "));
 Serial.print(PS3.getAnalogButton(R2));
 }
 }
 if(PS3.getButtonClick(PS)) {
 Serial.print(F("\r\nPS"));
 PS3.disconnect();
 }
 else {
 if(PS3.getButtonClick(TRIANGLE))
 Serial.print(F("\r\nTraingle"));

 if(PS3.getButtonClick(CIRCLE))
 Serial.print(F("\r\nCircle"));
 if(PS3.getButtonClick(CROSS))
 Serial.print(F("\r\nCross"));
 if(PS3.getButtonClick(SQUARE))
 Serial.print(F("\r\nSquare"));

if(PS3.getButtonClick(UP)) {
 Serial.print(F("\r\nUp"));
 if(PS3.PS3Connected) {
 PS3.setAllOff();
 PS3.setLedOn(LED4);
 }
 }
 if(PS3.getButtonClick(RIGHT)) {
 Serial.print(F("\r\nRight"));
 if(PS3.PS3Connected) {
 PS3.setAllOff();
 PS3.setLedOn(LED1);
 }
 }
 if(PS3.getButtonClick(DOWN)) {
 Serial.print(F("\r\nDown"));
 if(PS3.PS3Connected) {
 PS3.setAllOff();
 PS3.setLedOn(LED2);
 }
 }
 if(PS3.getButtonClick(LEFT)) {
 Serial.print(F("\r\nLeft"));
 if(PS3.PS3Connected) {
 PS3.setAllOff();
 PS3.setLedOn(LED3);
 }
 }

if(PS3.getButtonClick(L1))
 Serial.print(F("\r\nL1"));
 if(PS3.getButtonClick(L3))
 Serial.print(F("\r\nL3"));
 if(PS3.getButtonClick(R1))
 Serial.print(F("\r\nR1"));
 if(PS3.getButtonClick(R3))
 Serial.print(F("\r\nR3"));

if(PS3.getButtonClick(SELECT)) {
 Serial.print(F("\r\nSelect - "));
 Serial.print(PS3.getStatusString());
 }
 if(PS3.getButtonClick(START)) {
 Serial.print(F("\r\nStart"));
 printAngle = !printAngle;
 }
 }
 if(printAngle) {
 Serial.print(F("\r\nPitch: "));
 Serial.print(PS3.getAngle(Pitch));
 Serial.print(F("\tRoll: "));
 Serial.print(PS3.getAngle(Roll));
 }

 else if(PS3.PS3MoveConnected) {
 if(PS3.getAnalogButton(T)) {
 Serial.print(F("\r\nT: "));
 Serial.print(PS3.getAnalogButton(T));
 }
 if(PS3.getButtonClick(PS)) {
 Serial.print(F("\r\nPS"));
 PS3.disconnect();
 }
 else {
 if(PS3.getButtonClick(SELECT)) {
 Serial.print(F("\r\nSelect"));
 printTemperature = !printTemperature;
 }
 if(PS3.getButtonClick(START)) {
 Serial.print(F("\r\nStart"));
 printAngle = !printAngle;
 }
 if(PS3.getButtonClick(TRIANGLE)) {
 Serial.print(F("\r\nTriangle"));
 PS3.moveSetBulb(Red);
 }
 if(PS3.getButtonClick(CIRCLE)) {
 Serial.print(F("\r\nCircle"));
 PS3.moveSetBulb(Green);
 }
 if(PS3.getButtonClick(SQUARE)) {
 Serial.print(F("\r\nSquare"));
 PS3.moveSetBulb(Blue);
 }
 if(PS3.getButtonClick(CROSS)) {
 Serial.print(F("\r\nCross"));
 PS3.moveSetBulb(Yellow);
 }
 if(PS3.getButtonClick(MOVE)) {
 PS3.moveSetBulb(Off);
 Serial.print(F("\r\nMove"));
 Serial.print(F(" - "));
 Serial.print(PS3.getStatusString());
 }
 }
 if(printAngle) {
 Serial.print(F("\r\nPitch: "));
 Serial.print(PS3.getAngle(Pitch));
 Serial.print(F("\tRoll: "));
 Serial.print(PS3.getAngle(Roll));
 }
 else if(printTemperature) {
 Serial.print(F("\r\nTemperature: "));
 Serial.print(PS3.getTemperature());
 }
 }
}
<pre>
Advertisement

Author: susiloharjo

Khoirunnas anfa'ahum linnas A Father, Husband and love to learn person Love my Family, Electronics, Photography, Robot, Dreaming, Programming

2 thoughts on “Percobaan 5 Maret 2013”

  1. kak itu kira2 stiknya pkek kw apa harus yang asli soalnya saya coba pkek yang kw udah seminggu ini ngotak-ngatik blum bisa sya dapet librarynya dari tkjelectronic tlong di bantu kak,.,,.

    1. Ngga harus yg asli saya pake yg biasa aja yg jelas harus yg ps3, setting bluetoothnya sudah? biasa masih nyangkut disitunya, coba aja baca2 lagi lengkap kok disitu petunjuknya

Ditunggu komennya ...

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: