실제로 접근하기 힘들었던게..
private void button1_Click(object sender, EventArgs e)
.......
만 보고 다루다가
0xFF ..
PORTD1 ..
와 같은 텍스트롤 보기엔 우선 짜증 부터 난다. 위에 것은 언어에 비교적 가깝다. 버튼이 클릭되는것이 어찌 된다는 얘기다.. 그러나 밑에것은. 암호 그 자체다.
그렇지만 주변환경이 나를 찝적거린다. 직업상 어찌 하다보니 c# USB 시리얼 통신부분 소스를 보게 되었다. 아주 일부분만 소게하자면...
{
ready = false;
usbDevices = new USBDeviceList(CyConst.DEVICES_CYUSB);
myDevice = usbDevices[0x04B4, 0x2000] as CyUSBDevice;
if (myDevice == null)
{
//Text = "No device found";
return;
}
controlEP = myDevice.EndPointOf(0x00) as CyControlEndPoint;
commandEP = myDevice.EndPointOf(0x06) as CyBulkEndPoint;
dataEP = myDevice.EndPointOf(0x82) as CyBulkEndPoint;
if (controlEP == null || commandEP == null || dataEP == null)
{
return;
}
foreach (USBDevice dev in usbDevices)
CheckFPGADone();
ResetDAQ();
}
첫 줄 보고 질린다.. 대충 이야기는 여기서 부터 시작된다. 같은 사무실에 라즈베리파이 (사실 그땐 그것이 무엇인지 전혀 몰랐다)로 3D프린터를 집에서 취미생활로 만드는 고수가 있다. 그 사람과 커피 한잔 하면서 이런저런 얘기하다가 그사람의 추천으로 아두이노를 접하게 된다. 일단 그림 부터
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println("Hello !!");
}
놀랍겠지만 이게 다다. 컴파일하고 업로드 하면 작동이 된다. 이게 문명히 C 같은데 main() 이 안보인다. 난 이게 아두이노의 성공 요인이라고 본다 main()은 사실 있다. 감추어 놓았을뿐 대충 구조는
main() {
setup();
for (;;) loop();
}
와 같이 구성되어 있다. 두 가지 면에서 놀랐다.
- 사람이 보고 직감할 수 있다. 아 시리얼을 하는구나 대충 9600의 속도로.. 아 "Hello" 라고 인사를 하는구나
- 기나긴 디바이스 셋업 과정을 한줄로 끝내는구나.. (사실 이게 최고의 매력임 !!)
모든게 그렇듯 그 안에서 일어나는 일은 어찌저찌 해볼 수 있는데, 모든게 진입장벽을 지나고 나서의 일이다.
아두이노!! 하드웨어로의 진입장벽을 뚫을 수 있는 너무나 좋은 물건이다
이에 힘입어 첫번째 프로젝트..
장난감자동차+아두이노+블루투스 를 연결 휴대폰으로 조종!!
댓글 없음:
댓글 쓰기