본문 바로가기
회로설계

이글캐드를 활용한 제품개발 (SOS 조난 신호기 만들기-3)

by KlayLee 2023. 6. 27.

2023.06.30 - [회로설계] - 이글캐드를 활용한 제품개발 (신호등 만들기_2)

 

이글캐드를 활용한 제품개발 (신호등 만들기_2)

2023.06.28 - [회로설계] - 이글캐드를 활용한 제품개발 (신호등 만들기_1) 이글캐드를 활용한 제품개발 (신호등 만들기_1) 이글캐드를 활용한 제품개발 (신호등 만들기) 안녕세요. 이글캐드를 활용한

lbtglhs79.tistory.com

이글캐드를 활용한 제품개발 (SOS조난 신호기 만들기-3)

 

체험판 다운로드 | Fusion 360 | 오토데스크

Fusion 360의 30일 무료 체험판을 다운로드하려면 다운로드 프로세스를 탐색하세요.

www.autodesk.co.kr

안녕하세요. 지난 시간에 이어 SOS조난 신호기 만들기 포스팅을 하겠습니다.

지난 시간까지 회로 설계가 끝났고 이번시간에는 PCB설계를 하도록 하겠습니다.

지난 시간이 기억이 나지 않으시는 분들은 아래 링크 확인하시고 오세요~

 

8) PCB 설계

PCB설계를 시작하겠습니다.

먼저 작성된 회로도에서 아래 버튼을 클릭하세요. 클릭하시면 PCB설계를 위한 화면으로 바뀝니다

sos조난 신호기 회로도
sos조난 신호기 PCB 설계도

클릭하시면 위와 같은 화면이 나오고 PCB설계를 시작하시면 됩니다. 이전에 설명드린 내용이기 때문에 중복되는 내용은 빠르게 넘어가도록 하겠습니다.

위 화면에서 왼쪽은 회로설계했던 부품들이고 오른쪽은 PCB외형입니다.

지난 시간에 FUSION360으로 PCB 외형을 그리신 게 생각나시나요?

그때 FUSION360으로 그리기만 하고 PCB파일로 변경을 하지 않았습니다. 아래와 같이 변경 후 저장합니다.

Fusion360 PCB외형도

PCB외형을 불러오도록 하겠습니다.  먼저 FUSION360 버튼을 누르세요.

Eagle cad pcb design

그러면 다음과 같은 창이 뜨고 저흰 이미 FUSION360으로 PCB외형으 그려 놨기 때문에 'Link to an existing Fusion 360 design'을 선택한 다음 Next를 누르고 저장된 PCB외형 파일을 선택합니다. 

fusion360에서 pcb외형데이터 끌어오기

그리고 아래의 창이 뜨면 FUSION360으로부터 파일을 불러오기 때문에 Pull from Fusion... 버튼을 누릅니다.

또 창이 뜨면 Pull버튼을 누릅니다.

fusion 360에서 pcb외형 데이터 끌어오기

그러면 Fusion360에서 그린 PCB외형도가 Eagle Cad에 아래와 같이 끌어와집니다.

참 쉽죠? fusion360에서 간단한 PCB외형도는 구글이나 유튜브 무료강의 찾으셔서 1시간 정도만 공부하시면 대략 그리실 수 있습니다.

 

eagle cad pab design

그럼 PCB외형도 안에 부품 배치 및 배선을 하겠습니다.

sos 조난 신호기 PCB 설계 데이터

 

위와 같이 완료하였습니다

3D 형태로 확인하도록 하겠습니다. 이전 시간에 3D 형태로 확인하는 방법도 포스팅하였습니다.

아래와 같이 3D 형태로 우리가 만든 PCB 3D 형상을 확인하실 수 있습니다. 이건 Fusion360에서 확인이 가능합니다.

기존 회로설계자나 PCB설계자들은 본인들이 설계한 자료는 2D이기 때문에 실제 어떻게 개발이 될지 물건을 만들기 전까진 확인이 불가능했습니다. 보통 기구설계자들이 조립 시 회로부품이 기구물과 간섭이 생길 수 있기 때문에 회로 부품의 외형 정보를 회로설계자들에게 입수한 후 3D로 그리고 배치시킨 후 간섭체크를 하는 매우 번거로운 작업을 합니다. 그래서 기구설계자들은 보통 PCB 외형을 그려주고 부분별로 10mm, 20mm 등등 공간을 띄운 상태에서 간섭 없이 설계하라고 회로설계자들에게 도면을 주곤 합니다. 하지만 아래와 같이 진행된다면 앞서 설명드린 간섭체크 과정이 아주 간단해지기 때문에 잘만 사용하면 정말 좋은 툴이라고 할 수 있습니다.

sos 조난 신호기 PCB 3D 형상

여기까지 PCB설계가 끝났고 이제 코딩을 해 보도록 하겠습니다.

 

 

 

9) 코딩

코딩을 해 보겠습니다.

저흰 회로도 상에 D0번 핀을 사용하기로 했고,

D0번 핀은 SOSledPin으로 이름을 짓겠습니다.

SISledPin은 Output핀으로 사용할 예정이고,

SOSledPin의 값은 0 또는 1이기 때문에 정수형인 int를 선언하겠습니다.

상세하게 코딩을 해 봐요~

 

int SOSledPin = 0; // 0번 핀을 앞으로 SOSledPin으로 부르겠다는 의미이고 int는 정수라는 선업입니다

void setup() {

 pinMode(SOSledPin, OUTPUT);// SOSledPin을 OUTPUT을 쓰겠다는 의미입니다.

}

void loop() {

//모스부호 S 신호 만들기

 digitalWrite(SOSledPin,HIGH); //SOSledPin을 High(5V) 출력

 delay(200);delay(200);//200 msec동안 LED on

 digitalWrite(SOSledPin,LOW);//SOSledPin을Low(0V)출력

 delay(100);delay(100);//100 msec동안 LED off

 digitalWrite(SOSledPin,HIGH);digitalWrite(SOSledPin, HIGH);//SOSledPin을 High(5V) 출력

 delay(200);delay(200);//200 msec동안 LED on

 digitalWrite(SOSledPin,LOW);//SOSledPin을Low(0V)출력

 delay(100);delay(100);//100 msec동안 LED off

 digitalWrite(SOSledPin,HIGH);digitalWrite(SOSledPin, HIGH);//SOSledPin을 High(5V) 출력

 delay(200);delay(200);//200 msec동안 LED on

 digitalWrite(SOSledPin,LOW);//SOSledPin을Low(0V)출력

 delay(100);//100 msec동안 LED off

 

 delay(100); //100msec동안 LED off상태 유지하고

 

//모스부호 O 신호 만들기

 digitalWrite(SOSledPin,HIGH);digitalWrite(SOSledPin, HIGH);//SOSledPin을 High(5V) 출력

 delay(500);delay(500);//500 msec동안 LED on

 digitalWrite(SOSledPin,LOW);//SOSledPin을Low(0V)출력

 delay(100);delay(100);//100 msec동안 LED off

 digitalWrite(SOSledPin,HIGH);digitalWrite(SOSledPin, HIGH);//SOSledPin을 High(5V) 출력

 delay(500);delay(500);//500 msec동안 LED on

 digitalWrite(SOSledPin,LOW);//SOSledPin을Low(0V)출력

 delay(100);delay(100);//100 msec동안 LED off

 digitalWrite(SOSledPin,HIGH);digitalWrite(SOSledPin, HIGH);//SOSledPin을 High(5V) 출력

 delay(500);delay(500);//500 msec동안 LED on

 digitalWrite(SOSledPin,LOW);//SOSledPin을Low(0V)출력

 delay(100);delay(100);//100 msec동안 LED off

 

 delay(100);delay(100);//100 msec동안 LED off상태 유지하고

 

//모스부호 S 신호 만들기

 digitalWrite(SOSledPin,HIGH);digitalWrite(SOSledPin, HIGH);//SOSledPin을 High(5V) 출력

 delay(200);delay(200);//200 msec동안 LED on

 digitalWrite(SOSledPin,LOW);//SOSledPin을Low(0V)출력

 delay(100);delay(100);//100 msec동안 LED off

  digitalWrite(SOSledPin,HIGH);digitalWrite(SOSledPin, HIGH);//SOSledPin을 High(5V) 출력

 delay(200);delay(200);//200 msec동안 LED on

 digitalWrite(SOSledPin,LOW);//SOSledPin을Low(0V)출력

 delay(100);delay(100);//100 msec동안 LED off

 digitalWrite(SOSledPin,HIGH);digitalWrite(SOSledPin, HIGH);//SOSledPin을 High(5V) 출력

 delay(200);delay(200);//200 msec동안 LED on

 digitalWrite(SOSledPin,LOW);//SOSledPin을Low(0V)출력

 delay(100);delay(100);//100 msec동안 LED off

 

delay(5000);//5000 msec동안 LED off상태 유지

}

 

모스부터 s-o-s가 무한 반복되도록 코딩되어 있습니다.

어떠신가요?  어렵지 않죠?

다음시간엔 다른 아이템으로 찾아뵙겠습니다.