아두이노는 형 변환이 좀 까다로운 것 같습니다 ㅡ,.ㅡ;; 보통 문자열을 정수로 변환하는 메소드나 클래스를 제공하기 마련인데 그런 거 없음;;; 형 변환 관련된 레퍼런스를 다 확인한 건 아니지만 변수 간 형 변환을 바로 할 수 있는 라이브러리는 몇 개 없는 것 같습니다. 1. 아두이노에서 String의 특징 어느 언어든 String은 'char[]'로 구현된다는 점입니다. 'char[]'를 직접 다루는것이 불편하니 'String'클래스를 만들어서 제공해주는 것이죠. 아두이노도 마찬가지 입니다. (참고 : Arduino Reference - StringObject ) 아두이노에서 char는 아스키코드가 들어 있어서 '+'연산을 하면 char이 합쳐지지 않고 덧샘이 됩니다 ㅎㅎㅎ 2. String to ch..
비스타때부터 권한 관련 내용이 강화되면서 '관리자 권한으로 실행'이라는 항목이 생겼습니다. 문제는 이 선택이 사용자의 선택이기 때문에 관리자 권한이 없으면 안 되는 프로그램들은 난감한 상황에 빠졌죠. 그래서 프로그램을 관리자 권한으로만 실행할 수 있도록 해야 합니다. 오른쪽 프로그램은 실행하면 바로 안내 메시지가 출력됩니다. (관리자 권한으로 실행된다는 표시인 방패 모양이 오른쪽 아래에 붙어 있음) 이런걸 UAC(사용자 계정 컨트롤)라고 합니다. 1. 테스트 프로젝트 테스트용 프로젝트를 생성하고 빌드해봅시다. 관리자 권한으로 실행되는 방패 모양이 표시가 없습니다. 2. 권한 파일 생성 프로그램이 관리자 권한으로 실행되게 하기 위해서는 'app.manifest'파일이 필요합니다. 2-1. 직접 생성하는 방..
보통 스테핑모터를 제어할때는 모터 드라이버라는 것을 사용 합니다. 모터드라이버의 역활이 몇가지 있긴하지만 모터를 구동하려면 콘트롤러만 있으면 됩니다 ㅡ.-; (그리고 전기 ㅎ) 제가 찾은 자료에는 'L293D'칩을 이용하고 있어서 'L293D'칩을 구했습니다. 이 칩은 유니폴라 방식의 모터를 구동할 수 있습니다. (참고 : adafruit learning system - Arduino Lesson 16. Stepper Motors) 모터는 'FL42STH33-0956A'를 사용 했습니다. (참고 : 디바이스마트 - FL42STH33-0956A) 가격은 7000원 정도 합니다. (참고 : 디바이스 마트 - L293D ) 당연이 다른 칩들도 있는데.... 그건 다음 시간에 알아보도록 하죠 ㅎㅎㅎ 사용한 모터..
아이피타임계열은 리눅스용 드라이버가 제공된다고 해서 usb타입인 'N150UA'를 구매했습니다. 리눅스용 드라이버를 받은다음 컴파일할걸 생각하니 막막한데 그냥 꼽아도 되는 기종들이 있다고 하길례 그냥 꼽았는데.... 오잉? 그냥 인식되네요 ㅎㅎㅎ 주변에 wifi가 보이네요 ㅎㅎ 인터넷도 잘되네요 ㅋ
'근접센서'라 고도하고 '거리 측정 센서'라고도 하는 센서입니다. 종류에 따라서 측정할 수 있는 거리의 범위가 다릅니다. 필요한 거리범위를 생각해서 구입하셔야 합니다. 저는 10cm~80cm 범위를 측정할 수 있는 거리 측정 센서를 구입했습니다. (참고 : 디바이스 마트 - GP2Y0A21YK[케이블포함]) 1. 보드 구성 선은 아래와 같이 연결합니다. 테스트용 LED를 꼽아도 되는데..... 가변저항보다 값이 불안정해서 그런지 LED가 너무 깜박거려서 밝기를 알 수 가 없습니다;; 2. 펌웨어 작성하기 코드는 '가변저항'과 똑같습니다. (참고 : [Arduino] 가변저항(potentiometer) 이용하여 LED 밝기 조정) #define LED 13 #define ANALOG A0 //가변저항값 i..
간만에 WPF를 하는데.....버튼으로 테스트해 보니 프로그램이 잘 돌아가서 타이머를 하나 만들어서 주기적으로 실행하려고 돌렸는데...에러가 퐝~ 연관글 영역 1. 원인많은 UI 구성 요소에서 호출 스레드가 필요하므로 해당 스레드는 STA여야 합니다.혹은"다른 스레드가 소유하고 있는 오브젝트에 현재 스레드가 접근할 수 없다"(The calling thread cannot access this object because a different thread owns it.) 이런 식의 오류가 나기도 합니다. 하도 오랜만에 WPF를 해서 감이 없네요;;WPF나 실버라이트에서 타이머는 다른 스레드기 때문에 UI스레드에 접근할 때 에러가 납니다. 2. 해결 방법이럴 때는 디스패처(Dispatcher) 인보크를 ..
정말 산넘어 산이네요 ㅡ,.ㅡ;;; 하나 해결하면 하나가 튀어 나오니 김이 빠지네요;; 어찌됬건 또 make를 해보니 다음과 같은 오류가 났습니다. `arch/x86/tools/relocs'에서 필요로 하는 타겟 `arch/x86/tools/relocs.c'를 만들 규칙이 없습니다. 멈춤. 별생각없이 'relocs.c'를 열심이 검색해 보았으나... 검색되는 것이 너무 없습니다-_-; 오이려 'arch/x86/tools/relocs'로 검색하니까 나오네요. 참고 : Linux Cross Reference - Linux/arch/x86/tools/relocs.c 위 파일을 /usr/src/linux-headers-3.5.0-27-generic/arch/x86/tools/ 에 넣습니다. 그러면 완료!! 당연..
가변저항은 간단하게 컴퓨터로 보낸 값을 체크할 때 좋은 부품입니다. 이걸 이용해서 테스트한 다음 다른 센서를 붙여보면 디버깅하기가 좋죠. 1.보드 구성하기 보드를 구성하기 전에 가변저항의 구조를 보도록 하겠습니다. 다행히 쓰여있는 데로 꼽으시면 됩니다 ㅎㅎ LED는 평상시처럼 13번 핀에 꽂았습니다. 전 그라운드(GND)는 하얀색으로 꽂습니다. 가변저항은 돌리기 쉬운 곳에 꽂아서 테스트 합시다 ㅎㅎㅎ 완성 2.펌웨어 작성하기 가변저항의 값을 받기 위해 'A0'의 값을 읽어야 하는데 아날로그 입력을 받을 때 사용하는 함수가 'analogRead([읽을 포트])' 입니다. #define LED 13 #define ANALOG A0 //가변저항값 int nA0_Value = 0; void setup() { p..
우노와 레오나르도중 뭘 살까 고민하던중에 레오나르도가 키보드처럼 인식 시킬 수 있다라고 주어 듣고 샀다가 좀 난감한 일을 격었습니다. 알고보니 설정문제라니-_-; 1.값이 안 읽힌다? 원래 .net에서는 시리얼 포트에 'DataReceived'만 연결하면 시리얼 포트에서 값이 넘어오면 이벤트가 발생해야 합니다. 그런데 'DataReceived'이벤트는 오지 않고..... 그래서 쓰래드를 만들어서 돌리니 쓰래드가 그냥 죽네 ㅡ,.ㅡ;;; (오류 메시지도 없이 죽는 경우는 처음 봤습니다;;;) 이상해서 타이머추가해서 돌려보니 같은 현상.. (어차피 타이머도 쓰래드같은 역활인지라-_-;;;) 2.해결 방법 이것 때문에 거의 하루를 날려먹고 망연자실하던중 우연이 검색내용중에 '아두이노 기판 종류에 따라 다른 설..
리눅스에서 root권한은 윈도우의 administrator권한과 같습니다. 그래서 우분투에서는 root 계정이 숨겨져 있습니다. 보통 루트권한이 필요하면 명령어 앞에 'sudo' 붙이고 사용합니다. 평상시는 문제가 없는데 테스트용으로 설치해둔 우분투는 이것저것 테스트를 해야 하다 보니 불편해서 말이죠 ㅎㅎ 당연한 이야기지만 이 설정하면 보안에 문제 생깁니다. 테스트용으로 사용할 때만 사용하셔야 합니다. 이글에서는 루트계정으로 로그인하는 방법과 계정에 루트권한을 주는 방법을 다루도록 하겠습니다. 1. 루트계정으로 로그인 하기 콘솔에서 아래 명령어를 입력하여 루트계정에 비밀번호를 설정합니다. 1 sudo passwd root [원하는 비밀번호] cs '/ect/lightdm/lightdm.conf' 파일을 ..