', { cookie_domain: 'auto', cookie_flags: 'max-age=0;domain=.tistory.com', cookie_expires: 7 * 24 * 60 * 60 // 7 days, in seconds }); EagleCad의 ULP 사용예. :: MakerLee's Workspace
728x90

ULP(User Language Program) 에는 유용한 것들이 많습니다. 

 

해당 기능은 상단의 ULP 아이콘을 눌러서 사용할 수 있는데요. 

 

 

 

제가 사용하는 ULP 몇가지를 예를 들어 보여드리려고 합니다.

 

 

 

 

 

 

이런 프로젝트가 있습니다. 프로젝트 주소는 github.com/connornishijima/Pixie 이고요.

클래식 형태의 도트 메트릭스 디스플레이 프로젝트입니다. 

오픈 소스이고 제가 좋아하는 형태의 디스플레이라서 일단 회로를 그려보고 있습니다.

PCB를 제작할지 말지 결정은 못했네요. 

 

 

 

 

LED 매트릭스의 회로를 짜고요. 

 

 

 

 

보드 화면으로 넘어가면 저 많은 LED를 일일이 좌표에 맞게 배치해야 하는 험난한 과정이 남아있습니다. 

그렇지만 이 과정이 ULP로 간단하게 해결됩니다. 

 

 

 

 

 

 

 

기본적으로 C:\EAGLE\examples\ulps\examples 에 가면 ULP들이 있긴 합니다만

최신 버전은 이글캐드 홈페이지에서 찾아볼 수 있습니다.

 

 

 

 

 

 

eagle.autodesk.com/eagle/ulp 이곳으로 가면 ULP를 검색할 수 있습니다.

array를 검색해서 두번째에 나오는 component-array3.ulp를 다운받습니다. 

 

 

 

 

 

이제 보드 창에서 run ULP를 누르고, 창에서 Browse...를 눌러 방금 다운받은 ULP를 실행합니다.

 

 

 

 

 

1) 일단 처음 상단에서 사각으로 배치할지, 원형으로 배치할지 선택합니다. 

2) LED를 배치할 것이므로 Prefix에 LED를 입력합니다. 

그러면 이름이 LED로 시작되는 부품들만 배치가 됩니다. 

3) Starting Index에 몇번 부품부터 배치할지 입력합니다. 

5를 입력하면 LED1~LED4는 배치하지 않고 LED5부터 배치하게 됩니다. 

4) 시작 좌표에 첫번째 LED를 배치할 좌표를 입력하고요

5) 간격에 X / Y 간격을 입력합니다. 이 숫자는 아래의 Units에서 인치/밀리미터를 선택할 수 있습니다. 

6) 몇 행, 몇 열로 배치할지 입력합니다. (그림에는 열/행을 반대로 적었네요

 

 

 

 

 

일단 저는 이렇게 기입했습니다. 

3mm 간격에 15열 5행이죠. 

 

 

 

 

끝줄에 LED가 몇개 모자라다 보니 에러가 뜹니다.

상관없으니 확인을 눌러서 넘깁니다.

 

 

 

 

이렇게 깔끔하게 배치가 됐습니다만 

LED끼리 겹치는 것을 볼 수 있습니다. 

원래는 LED를 45도 회전해야 합니다. 

 

 

 

 

 

 

 

Group 을 누르고 전체 LED를 선택한후

Move를 누르고 상단 툴바의 각도에 45도를 누르고 회전시켜 주면

위와 같이 45도 회전이 됩니다.

 

 

 

 

 

 

다시 ULP를 실행하면 이렇게 겹치지 않고 배치가 됩니다. 

간격이 너무 좁은 것 같아 4mm로 했습니다. 

그런데 LED 네임이 너무 커서 지저분하군요. 

 

 

 

 

 

이번에는 normalize 라는 ULP를 다운받아 봅니다.

 

 

 

 

 

 

 

아까보다 더 단순합니다. 

Layers to Change에 있는 모든 글자가 정해진 크기로 바뀝니다.

지금은 tNames, bNames 레이어가 선택되어 있군요. 

Text Size를 입력하고 Normalize를 누릅니다. 

 

 

 

 

 

 

 

이랬던 글자가

 

 

 

 

 

 

 

이렇게 바뀌었습니다. 

이외에도 편리한 ULP가 많아 잘 사용하면 큰 도움이 됩니다.

 

 

 

 

 

 

 

728x90

+ Recent posts