사용 버전 : KiCad 5.1.0 kicad 새로운 소자 추가하기에 대해서 알아보겠습니다. 추가할 소자는 시멘트 저항을 추가해 보겠습니다. 'Symbol Editor'를 눌러줍니다. 아래와 같은 화면이 나옵니다. 파일 - 'New Library...' 적당한 위치에 저장합니다. 만든 라이브러리를 KiCad의 어떤 프로젝트든 적용하고 싶다면, 전체 적용을 눌러주고, 이번 KiCad 프로젝트에만 적용하고 싶다면, Project를 눌러줍니다. 라이브러리에 추가된 것을 확인할 수 있습니다. 클릭 후, 'Create new symbol'을 눌러줍니다. 이름과 레퍼런스 이름을 적어주고, 확인을 누릅니다. 입력한 문구가 나타났습니다. 라이브러리에 수정 중인 상태는 색깔과 '*'문자가 생성됩니다. 우리가 추가할 시멘트 저항은 핀이 2 개입니다. 그리고, 네모난 형태를 가지고 있습니다. '키보드 M'으로 적당히 이동시켜줍니다. 'Add graphic rectangle to symbol body'를 눌러줍니다. 다음과 같이 네모를 그려줍니다. 네모 위에 마우스를 대고, '키보드 E'를 눌러줍니다. background를 선택해주고, 확인 누릅니다. 다음과 같이 네모에 색깔이 채워졌습니다. '키보드 P'를 눌러, 핀을 추가해줍니다. 저항이라, 'Pin name'은 안 적으셔도 상관없습니다. 'Pin number'은 'footprint'와 연결되기 때문에 잘 적어주셔야 합니다. 적당한 위치에 놔둡니다. 동일하게 한 번 더 합니다. 핀 회전은 '키보드 R'입니다. 저장해줍니다. 'Save a...
사용 버전: Kicad 5.1.4 저번 시간에 이어서 Freeroute를 사용해보겠습니다. 각 PCB 제조사마다 디자인 룰이란 것이 존재합니다. 우리는 그것에 맞추어서 선이나 구멍을 만들어줘야 합니다. 디자인 룰 설정을 합시다. 우선 PCB Layout Editor을 실행합니다. 파일 - Board Setup을 누릅니다. Design Rules - Net Classes를 누릅니다. 위의 창에서 디자인 룰을 설정합니다. '+'를 눌러 디자인 룰을 새롭게 만들든지, 기존의 Default를 변경하든지 편하신 대로 조정해줍니다. 유격: 선과 선 사이 간격 트랙 두께: 선 굵기 Via Size: Via 납 지름 비아 드릴: Via 구멍 지름 uVia Size: 모름 uVia Drill: 모름 dPair Width: 모름 dPair Gap: 모름 저는 Power Class를 추가하여, +5V와 GND에 Assign To Selected Nets로 한꺼번에 적용시켰습니다. 나머지 전선은 Default Class 적용을 받고, +5V와 GND만 Power class 적용을 받습니다. Ctrl + S로 저장을 한 번 해줍니다. 파일 - 내보내기 - Specctra DSN... 을 눌러줍니다. 적당한 위치에 dsn 파일을 저장합니다. NetBeans에서 Autoroute를 실행합니다. Open Your Own Design을 눌러, 아까 저장한 dsn 파일을 불러옵니다. Autorouter를 눌러줍니다. 전선 긋기, 최적화하기 순으로 진행되고, 완료가 되면, Postroute completed라는 문구가 나옵니다.전선 긋기나 최적화 중 마우스 왼쪽 버튼을 누르면, 그 상태로 정지됩니다. 최적화가 필요 없으면, 정지 후 바로 PCB에 사용하셔도 됩니다. File - Export Specctra S...
사용 언어: Swift 5 사용 버전: Xcode Version 16.4 (16F6) iOS 오류 Undefined symbol Testing.Trait를 알아보겠습니다. Xcode를 최신 버전으로 업데이트해서인지, OS를 최신 버전으로 업데이트해서 인지, 잘 되던 빌드가 갑자기 안되었습니다. 오류 내용은 다음과 같습니다. Showing Recent Messages Could not find or use auto-linked framework 'CoreAudioTypes': framework 'CoreAudioTypes' not found Could not find or use auto-linked framework 'Testing': framework 'Testing' not found Could not parse or use implicit file '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Frameworks/SwiftUICore.framework/SwiftUICore.tbd': cannot link directly with 'SwiftUICore' because product being built is not an allowed client of it Undefined symbol: associated type descriptor for Testing.Trait.TestScopeProvider Undefined symbol: protocol descriptor for Testing.SuiteTrait Undefined symbol: method descriptor for Testing.SuiteTrait.isRecursive.getter : Swift.Bool Undefined sym...
사용 버전: Python 3.7 운영 체제: Windows 10 Home x64 1909 사용 도구: Uncompyle6 포렌식 .pyc 파일 .py로 복구하기에 대해서 알아보겠습니다. 만약 여러분이 파이썬 파일을 지워버렸는데, .pyc 파일은 남아있다면 다시 복구할 수 있습니다. 보통 .pyc 파일은 수동으로 만들지 않는 이상 main 함수가 남아있지는 않습니다. 자동 생성되는 경우는 다른 python script를 참조할 때, 참조한 script가 pyc로 생성합니다. uncompyle6를 설치합니다. python -m pip install uncomply6 저는 해당 .pyc 파일을 사용하겠습니다. 아래 git에 들어가면 동일한 파일을 사용할 수 있습니다. https://github.com/shwoghk14/mnist_tensorflow/tree/master/Start%204/__pycache__ 사용법은 다음과 같습니다. cmd 창을 엽니다. uncompyle6 [복구할 .pyc 파일 이름] 완료되면, 다음과 같이 원본 py 내용이 나옵니다. uncompyle6 version python bytecode 버전 python 버전 file name compiled 날짜 Size 등의 중요한 정보와 함께 원본 python script가 출력됩니다. 해당 파일의 원본은 mnist_util.py입니다. 비교해 보시면 좋을 것 같네요. https://github.com/shwoghk14/mnist_tensorflow/tree/master/Start%204 끝. 카테고리: forensic [계수기] 앱 광고 외국: Hand Counter https://play.google.com/store/apps/details?id=starlight.jaehwa.handcounter 계수기 앱. 하나씩 개수를 셀 때 사용해보세요. ...
사용 프로그램 : MuseScore 3 총보와 파트보에 대해서 알아보겠습니다. 총보는 모든 악기들의 보표가 표시된 악보입니다. 보표의 악기 순서는 다음과 같습니다. 목관악기, 금관악기, 타악기, 독주 악기(피아노, 하프), 현악기 파트보는 자신이 연주하는 악기에 대한 보표만 존재하는 악보입니다. 총보(score) 파트보(part) 위의 악보에서 Flute 1은 첫마디를 한 뒤, 31마디는 아무 음도 없습니다. 그래서 뒤에 31로 숫자 적힌 긴 막대로 표시됩니다. Flute 2의 경우는 앞 2마디를 쉬고, 연주하고, 뒤 29마디를 쉽니다. 끝. 카테고리: Music
사용 버전: Python 3.6.8 사용 프로그램: Atom 1.40.1 x64 파이썬 urllib.parse.quote()에 대해서 알아보겠습니다. 괄호 안에는 string, safe, encoding, errors 인자가 들어갑니다. urllib.parse.quote()는 아스키코드 형식이 아닌 글자를 URL 인코딩 시켜줍니다. String 인자에는 string, bytes 형식이 들어갑니다. String 형식. Bytes 형식 Safe 인자에는 URL encoding에서 제외할 문자를 넣습니다. 기본으로 '/'이 설정되어 있습니다. Encoding 인자에는 인코딩 이름이 들어갑니다. string에 들어가는 문자와 맞지 않으면 오류가 나옵니다. 기본적으로 'utf-8'이 들어갑니다. Error 인자에는 'strict', 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace', 'namereplace', 'surrogateescape', 'surrogatepass'가 들어갑니다. 기본적으로 strict가 설정되어 있습니다. unicode 오류를 알려줍니다. Ignore의 경우 오류는 무시하고, 변환할 수 있는 것만 변환합니다. Replace는 에러 글자를 '?'로 변환해줍니다. 그리고 quote(...
사용 버전 : KiCad 5.1.0 kicad PCB 만들기에 대해서 알아보겠습니다. 'PCB Layout Editor'를 눌러줍니다. 만약 아래와 같은 알림 창이 뜬다면, 선택은 자유입니다. 내용은 그래픽 카드를 사용할 것인지, 말것인지 입니다. 쓰면 속도도 좋고, 부드러워진다고 설명하고 있군요. 다음과 같은 창이 뜹니다. 'Update PCB from schematic'을 눌러줍니다. 'Match Method'와 설정을 적절히 선택해줍니다.(저처럼 하셔도 됩니다.) 그리고 'Update PCB'를 눌러줍니다. 다음과 같이 마우스를 따라다니는, footprint가 생성됩니다. 적당한 곳에 클릭합니다. footprint 이동은 '키보드 M', footprint 회전은 '키보드 R'입니다. 'Hide board ratsnest'를 켜면, 전선이 연결되어야 할 가이드 선이 표시됩니다. 'Ctrl + 좌 클릭'은 선택된 패드에 연결될 부분만 밝게 표시합니다. 해제 방법은 빈 땅에 'Ctrl + 좌 클릭'하면 됩니다. 옆에 있는 '레이어'는 PCB의 어느 영역에 그릴 것인지를 선택할 수 있게 해줍니다. F.Cu는 PCB 윗부분 전선 B.Cu는 PCB 뒷부분 전선 F.Paste는 PCB 윗부분 SMT 접착제 B.Paste는 PCB 뒷부분 SMT 접착제 F.Mask는 PCB 윗부분 패드 B.Mask는 PCB 뒷부분 패드 Edge.Cuts는 PCB의 전체 모양 F.SilkS는 PCB 윗부분 하얀 선 또는 글자 B.SilkS는 PCB 뒷부분 하얀 선 또는 글자 전선을 그려봅시다. 'Route tracks'를 눌러줍니다. 레이어를 보시면, F.Cu에 화살표가 있으니, 전선은 F.Cu 레이어에 그려집니다...
사용 버전 : KiCad 5.1.0 kicad 회로도 만들기에 대해서 알아보겠습니다. 우선, 프로젝트를 만듭니다. 파일 - 새 파일 - Project... 'Create a new directory for the project'를 눌러주면, 폴더도 같이 생성됩니다. 'Schematic Layout Editor'를 눌러줍니다. 맨 처음 실행하면, 라이브러리 설정이 나옵니다. 추천(recommended) 하는 항목을 선택합시다. 위와 같은 화면이 나옵니다. '키보드 A'를 눌러줍니다. led와 저항이 있는 간단한 회로를 그려보겠습니다. 적당한 위치에 '마우스 좌 클릭'을 합니다. 화면 이동은 '마우스 휠 버튼'입니다. 같은 과정으로 저항도 추가합니다. 소자의 회전은 '키보드 R'입니다. '키보드 P'를 눌러줍니다. 5V를 넣어줍니다. GND도 넣어줍니다. 사이에 전선을 넣어줍니다.'키보드 W'입니다. 저항과 LED 위에 '?'가 있습니다.이것은 소자가 확정되지 않았다는 뜻입니다. 확정해줍니다. Annotate schematic symbols를 눌러줍니다. Annotate를 눌러줍니다. complete(완료) 되면, 닫기를 눌러줍니다. 아래 그림과 같이 '?'가 사라지고, 숫자가 자리 잡은 것을 볼 수 있습니다. 저항 위에 있는 'R'을 저항값으로 변경해봅시다. 위와 같이, 마우스를 올리고 '키보드 E'를 눌러줍니다. 변경 창이 나옵니다. 5k로 변경하고, 확인을 눌러줍니다. R이 5k로 변경된 것을 확인할 수 있습니다. 다음은 풋프...
서브넷 마스크에 대해서 알아보겠습니다. 제가 간편하게 IP를 구할 수 있는 Android 앱을 만들었습니다. https://play.google.com/store/apps/details?id=starlight.jaehwa.aboutsubnetmask 도움이 되면 좋겠습니다. (개선사항은 언제나 환영입니다) 서브넷 마스크는 네트워크를 잘게 나눠서 사용하기 위해서 만들어졌습니다. 표기법은 두 가지가 있습니다. 192.168.0.1/255.255.255.0 (10 진수 표기법) 192.168.0.1/24 (CIDR: Classless Inter-Domain Routing 표기법) 사용법은 다음과 같습니다. Subnet mask는 1인 부분은 Network를 나타내는 숫자이고, 나머지 0인 부분이 host의 개수입니다. 위의 경우 host의 개수는 2^8 = 256개입니다. 그런데, 0과 255는 지정된 IP이므로, 사용할 수 있는 host의 개수는 254개가 됩니다. 즉, 192.168.0.0 ~ 192.168.0.255까지 가 같은 Network가 되고, 192.168.0, 192.168.0.255를 제외한 모든 IP를 사용할 수 있습니다. 다른 경우를 보겠습니다. 위의 경우 host의 개수는 2^4 = 16개입니다. 범위의 처음과 끝인 0(처음)과 15(끝)는 사용하지 못하므로, 14개입니다. 제가 표시하지는 않았지만, 나머지 범위도 마찬가지 이유로 처음과 끝은 사용할 수 없습니다. ...
사용 버전 : 5.1.0 kicad 만든 PCB 주문하기에 대해서 알아보겠습니다. 지금까지 만든 PCB를 주문 제작해보겠습니다. 'PCB Layout Editor'를 눌러줍니다. PCB 남는 부분에 구리를 채우는 과정입니다. 만약, 전선 이외의 PCB 부분을 비워두고 싶다면, 이 부분은 건너 뛰셔도 됩니다. F.Cu 레이어를 선택하고, 'Add filed zones'를 눌러줍니다. 눌러줍니다. 레이어를 선택하고, 네트를 선택합니다. 확인을 누릅니다. 그려줍니다. 다음은, B.Cu 부분으로 채울 겁니다. 자세히 보면, GND 패드가 덮입니다. 만약 이 부분의 전선 굵기를 변경하고 싶다면, 다음과 같이 합니다. Zone을 클릭합니다. '키보드 E'를 누릅니다. Thermal spoke width를 원하는 굵기로 변경합니다. 굵기가 변경된 것을 볼 수 있습니다. 만약 수정사항이 생겨, Zone을 다시 그려야 할 상황이 생기면, 키보드 'B'를 눌러주세요. Zone을 다시 그려줍니다. '플로트 (HPLG, Postscript 또는 Gerber 형식)'을 눌러줍니다. gerber 파일이 생성될 폴더를 선택하고, 필요한 레이어를 선택한 후, '플로트'를 누릅니다. 생성된 것을 확인할 수 있습니다. 'Generate Drill Files...'를 누릅니다. drill 파일이 생성될 위치, 설정 등을 선택하고, 'Generate Drill File'을 누릅니다. 완료되면, 닫기를 누릅니다. 'Save board'를 누르고 닫습니다. 생성된 파일입니다. ...
댓글
댓글 쓰기
궁금한 점은 댓글 달아주세요.
Comment if you have any questions.