1. DC모터 제어하기.

   DC모터를 제어하기 위해서는 DC모터 , DC모터 모듈 , 9V전지가 필요합니다.

   제어 부분에 대해서는 아래그림을 참고해 주시면 됩니다.



in 핀의 HIGH(또는 아날로그값 ( 0 - 250 ) , LOW 를 조절하여 방향을 원하는대로 조절하는 기능을 가졌습니다.

또한 ENA핀을 HIGH , LOW 로 조절하여 ON/OFF 관리를 할 수 있습니다.


그럼 가변저항을 이용하여 속도를 조절하며 , 버튼을 이용하여 왼쪽 오른쪽 제어하는 소스를 구현해보겠습니다.



// 소스코드 1
// 버튼하나를 이용한 DC모터제어
int P1 = 10; // IN1 Pin
int P2 = 11; // IN2 Pin
int onOff = 9; // on/off (ENA Pin)
int btn = 2;   // Left & Right Select Button Pin
int sensorPin = A0; // SensorPin 
int sensorValue = 0; // Input Sensor Value
int val=0;           // Sensor Value Mapping 
int btn_state = 0;



void setup(){
  pinMode(10,OUTPUT);
  pinMode(11,OUTPUT);
  pinMode(onOff,OUTPUT);
  pinMode(btn , INPUT);
}

void loop(){
  btn_state = digitalRead(btn);
  digitalWrite(onOff , HIGH); //onoff
  sensorValue = analogRead(sensorPin); 
    val =  map(sensorValue , 0, 1023, 0, 250);
  if(btn_state == HIGH){
    
    analogWrite(P1 , val);
    digitalWrite(P2 , LOW);
  }else{
    analogWrite(P2 , val);
    digitalWrite(P1 , LOW);
  }

}



소스만 올리고 회로도가없어서 주석을 추가적으로 달았습니다.

아두이노는 한글에 너무 약해서 한글주석도 달기 힘드내요.


위와같이 소스를 구현하시면 아래처럼 작동합니다.


조금 더 응용을 해보아서 버튼 2개를 두어 오른쪽 왼쪽 방향키처럼 제어해보겠습니다.

버튼하나만 더 추가해주시면 됩니다.


// 소스코드 2
// 버튼두개를 이용한 DC모터제어
int P1 = 10;
int P2 = 11;
int onOff = 9;
int btn1 = 2;
int btn2 = 3;

int btn_state1 = 0;
int btn_state2 = 0;



void setup(){
  pinMode(10,OUTPUT);
  pinMode(11,OUTPUT);
  pinMode(onOff,OUTPUT);
  pinMode(btn1 , INPUT);
  pinMode(btn2 , INPUT);
}

void loop(){
  btn_state1 = digitalRead(btn1);
  btn_state2 = digitalRead(btn2);
  digitalWrite(onOff , HIGH); //onoff
   if(btn_state1 == HIGH && btn_state2 == LOW ){
    
    digitalWrite(P1 , HIGH);
    digitalWrite(P2 , LOW);
  }else if(btn_state1 == LOW && btn_state2 == HIGH){
    digitalWrite(P2 , HIGH);
    digitalWrite(P1 , LOW);
  }else{
    digitalWrite(P2 , LOW);
    digitalWrite(P1 , LOW);
  }

}


소스코드를 입력하시고 구동해보시면 됩니다.

버튼 다시는 방법은 제글을 찾아보시면 됩니다.






안드로이드 어플개발시 구글맵 띄우기


xml에 구글맵을 띄우기 위해선 일단 구글맵키를 받아야 한다


  


이런식으로 구글맵이 생성이 되는데 

api키를 받아주어야 사용이 가능하다


운영체제 마다다른데 리눅스, 윈도우만 설명을 하면


우선 리눅스는(Centos)

Eclipse에서 

Window -> Preference -> Build -> “default debug keystore”에 저장된 경로를 확인합니다.

특별하지 않을경우 계정홈 .android/debug.keystore 로 지정이 되어있습니다.


그럼 터미널로 들어가서

# keytool -list -alias androiddebugkey  -keystore .android/debug.keystore -storepass android -keypass android 

를 입력해주면 키값이 뜹니다.



이 MD5의 값을 기억하고 계시고요


윈도우는 cmd로 명령프롬프트를 실행해주신뒤에 로그인한계정 .android 로 들어갑니다.

그 위치에서 dir *.keystore로 keystore가 있는지 확인하시고 있으면

위와 똑같이  

> keytool -list -keystore debug.keystore -keypass android -storepass android -alias androiddebugkey

를 입력해주세요

아래와 같은 경우처럼 안되는경우는 path등록을 안해주셨을 경우이기에 path를 등록해주시면 됩니다.




md5 값을 기억하시고

https://developers.google.com/android/maps-api-signup?hl=ko-KR

요기로 들어갑니다.


MD5 키입력란에 키를 입력하시고 확인을 눌러주시면


위와같이 사용자키가 생성됩니다


이키를 위 소스에 apikey안에 입력해주시고 실행하시면



이건 제가만드는중인 어플이라 조금 다를수가 있습니다.


이런식으로 지도가 띄워지게 됩니다.

다음에는 자기위치를 띄우는법을 쓰도록하겠습니다... 시간이 되면

+ Recent posts