HDD(Hard Disk Drive) 하드디스크 또는 Hard Disk Drive의 줄임말입니다. 일반적으로 정보를 저장하는 역할로 많이 쓰이며 전원이 나가도 데이터가 날아가지 않는 비휘발성 메모리(Non-Volatile Memory)라고 할 수 있습니다. 실제 하드 안쪽은 위의 이미지처럼 실제 디스크가 있으며, 디스크가 회전하면서 자료를 읽는 형태로 구동됩니다. 따라서 RPM이 높은 HDD는 탐색에 걸리는 시간이 빠르다는 의미로 제조사별 제품군마다 RPM이 얼마인지를 가지고 Hard Disk의 스펙을 명시해 두었습니다. RPM이 높아지면 속도가 빠른 장점이 있긴 하지만 가격이 좀 더 비싸며 이 외에도 전력 소모나 소음이 더 커지는 단점도 있긴하니 적당한 HDD를 선정해서 사용해야 합니다. 보통 토렌트같..
프로그래밍 언어란 시스템을 구동시키기 위한 프로그램을 작성하는 언어를 말하며 고급 언어일수록 사람(사용자)이 사용하는 언어에 가깝다고 할 수 있습니다. PC는 모든 명령을 0과 1으로만 이해하기에 인간에게 친숙한 프로그래밍 언어(코드)를 기계가 이해할 수 있는 기계어(0과 1로 구성된 Binary 코드)로 변경하는 과정이 필요하게 되는데요. 여기서 컴파일러와 인터프리터의 개념을 알아야합니다. 하나씩 살펴보겠습니다. 컴파일러(Compiler)컴파일러는 명령어 번역 프로그램입니다. 소스 코드 혹은 원시 코드를 Object 코드로 옮겨주는 역할을 하죠. 쉽게 설명하면 여기서 소스 코드는 사람이 작성한 코드를 말하며 Object 코드는 기계어(PC가 이해할 수 있는 언어)라고 볼 수 있습니다. 실제 우리가 사..
나누기 함수(True divide function)numpy.true_divide(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = 입력 값들끼리 나누기 기능 수행합니다 (연산자 '/'와 같은 기능) ▪Parameters ‣ x1, x2 : 추가할 배열, x1.shape != x2.shape의 경우 공통 shape(출력 shape가 됨)로 브로드캐스트할 수 있어야합니다. ‣ out : 출력 타입 설정(선택 사항), ndarray, None 또는 ndarray와 None의 튜플 ‣ where : 피연산자와 함께 브로..
실습 구성 ◾ NI Data Acquisition Device : USB-6212 ◾ DAQmx Driver, numpy 실습 방법 ◾ NI DAQ 장비르 이용한 Analog Input Finite Sampling(HW Timing) 예제 ◾ AO 1채널과 AI 1채널을 물리적으로 연결 ◾ 출력은 NI MAX 테스트 패널에서 업데이트하고 입력은 명령 프롬프트 창에서 데이터 확인 (1st Video) ◾ 출력은 MAX에서 Sine 웨이브를 출력하고 입력받은 데이터를 Matplotlib로 디스플레이(2nd Video) ◾ TDMS로 파일 저장(2nd Video) ''' Copyleft © MoonNote 작성자 : MoonNote 블로그 주소 : MoonNote.tistory.com ''' import Py..
버퍼(Buffer)란, 메모리 영역 중 한 곳으로 데이터를 임시 저장하는 공간을 말합니다. 버퍼 수집이란 버퍼링(Buffering) 또는 큐(Queue)라고도 부르는데 버퍼에다가 데이터를 채우는 작업을 말합니다. 대표적으로 버퍼 구조에 따라 큐(Queue), 스택(Stack)이라 부르고, 해당 구조에 따른 데이터 처리 방식을 FIFO, LIFO라고 부릅니다. 본 포스팅에서는 큐, 스택에 대한 자세한 설명은 생략하고 추후 업데이트를 한다면 링크를 걸도록 하겠습니다. 정리해보자면 버퍼 수집은 결국엔 DAQ와 PC쪽 메모리 영역 어딘가에서 데이터를 주고 받기 전 데이터를 버퍼에 저장하는 작업을 말합니다. 이후 샘플링 작업으로 서로 데이터를 주고 받는 것인데 리마인드가 필요하신 분들은 이전 포스팅에서 '샘플링 ..
블로그에 꾸준히 포스팅을 한지 5개월차로 접어들 무렵... 애드센스 누적 금액이 10달러를 넘어서면서 PIN번호를 등록하라고 우편이 날라왔다. 아직 많은 글들을 다 정리해서 올리진 못했지만,,(생각보다 머리 속에 내용을 글로 쓴다는 것이 시간이 많이 걸린다.) 그래도 이렇게 PIN번호가 날라오니 나름 또하나의 동기 부여가 되는 것 같다. 애드센스 승인 후 1월부터 3개월반가량 기간동안 적립된 애드센스 금액이다. 아직까진 유입수를 늘리고 애드센스 수익을 올리기위해 노력하는 것은 아니지만 언젠간 애드센스의 수익 구조와 어떠한 로직이 적용되는지 공부해보고싶다.(해보고 싶은건 많고..시간은 없고..몸은 하나고..가끔 귀찮고...) 자, 그럼 한번 등록해보도록 하자. 1단계 : 애드센스 로그인 애드센스(www.g..
나누기 함수(Divide Function)numpy.divide(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = 입력 값들끼리 나누기 기능 수행합니다. (연산자 '/'와 같은 기능) ▪Parameters ‣ x1, x2 : 추가할 배열, x1.shape != x2.shape의 경우 공통 shape(출력 shape가 됨)로 브로드캐스트할 수 있어야합니다. ‣ out : 출력 타입 설정(선택 사항), ndarray, None 또는 ndarray와 None의 튜플 ‣ where : 피연산자와 함께 브로드 캐스트되는 부..
곱하기 함수(Multiply Function)numpy.multiply(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = 입력 값들끼리 곱하기 기능 수행합니다 (연산자 '*'와 같은 기능)▪Parameters ‣ x1, x2 : 추가할 배열, x1.shape != x2.shape의 경우 공통 shape(출력 shape가 됨)로 브로드캐스트할 수 있어야합니다. ‣ out : 출력 타입 설정(선택 사항), ndarray, None 또는 ndarray와 None의 튜플 ‣ where : 피연산자와 함께 브로드 캐스트되는..
빼기 함수 (Subtract Function)numpy.subtract(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = 입력 값들끼리 빼기 기능 수행합니다 (연산자 '-'와 같은 기능)▪Parameters ‣ x1, x2 : 추가할 배열, x1.shape != x2.shape의 경우 공통 shape(출력 shape가 됨)로 브로드캐스트할 수 있어야합니다. ‣ out : 출력 타입 설정(선택 사항), ndarray, None 또는 ndarray와 None의 튜플 ‣ where : 피연산자와 함께 브로드 캐스트되는 ..
이번 포스팅에서는 폴더를 ISO 파일(*.iso)로 변경하는 소프트웨어를 소개하겠습니다. Folder2ISO 홈페이지(http://www.trustfm.net/software/utilities/Folder2Iso.php)에 접속하여 Folder2Iso를 받도록한다. (포스팅은 1.7버전 기준이지만 홈페이지의 최신 버전은 22.04.29 기준으로 3.1버전이다.) Folder2Iso - Official Page www.trustfm.net 실행 방법 다운로드 받고 프로그램을 실행시키면 다음과 같은 창이 나타난다. 위쪽에는 내가 iso로 변경시키고자하는 파일 경로를 지정하고 아래쪽에는 iso파일 생성 경로를 설정하면 된다. 그럼 프로그램 설치 USB(D 드라이브 경로)의 파일들을 iso로 한번 만들어보겠다...
더하기 함수 (Add Function)numpy.add(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = 입력 값들끼리 더하기 기능 수행합니다 (연산자 '+'와 같은 기능) ▪Parameters ‣ x1, x2 : 추가할 배열, x1.shape != x2.shape의 경우 공통 shape(출력 shape가 됨)로 브로드캐스트할 수 있어야합니다. ‣ out : 출력 타입 설정(선택 사항), ndarray, None 또는 ndarray와 None의 튜플 ‣ where : 피연산자와 함께 브로드 캐스트되는 부울 배열을 ..
넘파이(Numpy)◾ Numerical + Python의 합성어. '넘파이'라고 부름◾ 행렬이나 일반적으로 대규모 다차원 배열(ndarray)을 쉽게 처리할 수 있도록 지원하는 파이썬 라이브러리◾ 데이터 구조 외에도 수치 계산을 위해 효율적으로 구현된 기능 제공 (선형 대수와 관련된 다양한 기능 제공)◾ 일반 list에 비해 빠르고 메모리 사용이 효율적임◾ Numpy에서 차원은 축(Axis)이라고 함◾ C, C++, 프토란 등의 언어와 통합 가능 설치(Installation)pip 이용시,pip install numpy conda를 사용한다면,conda install numpy 심플 예제(Example)◾ 배열 생성#Python에서 라이브러리를 호출하는 방법import numpy as npx = np...
실습 구성 ◾ NI Data Acquisition Device : cDAQ-9174, NI-9223, NI-9401 ◾ DAQmx Driver, numpy 실습 방법 ◾ NI DAQ 장비를 이용한 Digital Output Finite Sampling 예제 ◾ Digital Output 1채널과 Analog Input 1채널을 물리적으로 연결 ◾ UI 툴은 따로 사용하지 않아 Python에서 단일 샘플 출력을 하고 NI MAX에서 정상 동작하는지 확인 ''' Copyleft © MoonNote 작성자 : MoonNote 블로그 주소 : MoonNote.tistory.com ''' import PyDAQmx import numpy as np from PyDAQmx import Task data = np.a..
실습 구성 ◾ NI Data Acquisition Device : cDAQ-9174, NI-9223, NI-9263 ◾ DAQmx Driver 실습 방법 ◾ NI DAQ 장비를 이용한 Analog Output Finte Sampling 예제 ◾ Analog Input 1채널과 Analog Output 1채널을 물리적으로 연결 ◾ UI 툴은 따로 사용하지 않아 Python에서 단일 샘플 출력을 하고 NI MAX에서 정상 작동하는지 확인 ''' Copyleft © MoonNote 작성자 : MoonNote 블로그 주소 : MoonNote.tistory.com ''' from PyDAQmx import Task import PyDAQmx value = 0 task = Task() task.CreateAOVol..
캠핑장 정보 주소 : 강원 홍천군 서면 밤벌길 131-53(도로명) 모곡리 528(지번), (우)25100 시설 : 샤워장(유료, 온수 가능), 매점, 개수대, 화장실 장점 : ¹ 매점에서 15,000원 이상 구매하면 캠핑은 무료 ² 입장 후 1박이 아닌 2박 가능(예: 금요일 들어가서 일요일 나옴. 단, 텐트 치고 너무 오래 자리 비우지 말 것) ³ 서울(잠실) 기준 1시간 거리 (65km 정도) ⁴ 반려견 입장 가능 ⁵ 홍천강을 끼고 있으며, 벚꽃 시즌에 가면 "벚꽃 캠핑" 가능 ⁶ 여름철 물놀이시 구명조끼 무료 대여 ⁷ 근처 마을이랑 가까워 음식 배달 가능(예 : 치킨) 단점 : ¹ 화장실이 깨끗하지는 않은 편임(휴지 없음, 물티슈 넣으면 안 됨) ² 전기 사용 불가 ³ 넓은 공간 대비 개수대 개수..
파이썬(Python) 설치 파이썬 설치를 위해 홈페이지(https://www.python.org)에서 Download >> Windows 탭으로 접속한다. Welcome to Python.org The official home of the Python Programming Language www.python.org 최신 버전 64비트용으로 받아서 설치를 진행하면 된다. (AI 분야는 아직까지 3.9 버전까지 호환된다고 하는 것 같다..추후 필요하면 다운그레이드 할지도..) 설치 파일을 실행해서 진행할 때 반드시 PATH 항목을 체크한 다음에 설치를 진행하자. 그렇지 않으면 직접 환경 변수 설정을 해줘야하는데 귀찮다...(필자는 파이썬을 너무 오랜만에 만져서 처음에 그냥 넘겼다가 재설치를 하였다...OTL..
예제 파일 LabVIEW 2012 or 이후 버전 개요 LV 8.6 이후에 출시된 [센서 맵핑] 함수를 사용하여 3D 설계 파일(*.stl) 이미지를 불러와서 LabVIEW 3D Image로 디스플레이해주는 예제 실행 순서 Sensor Mapping Example.vi 실행 Data Input LED 클릭 유무에 따른 Modeling 데이터 변화 확인 Data Input 클릭시, User-Generated 클러스터 내의 슬라이더로 센서 값 조절 ※ 이 글이 도움이 되었다면 "🤍공감" 버튼을 클릭해주세요. 클릭 한번이 글 쓰는데 큰 힘이 됩니다.
이번 시간에는 분기문 또는 조건문에 대해서 알아보겠습니다. 프로그래밍 언어란 결국에는 사람의 생각하는 방법을 모방하여 문법을 형성한 것인데요. 프로그래밍이 아니더라도 우리는 항상 매번 선택을 해야하는 순간들이 있죠..이 선택 한번에 의해 결과는 달라지게 되는데, 이러한 특성을 가지고 있는 것이 바로 조건문(분기문)입니다. 프로그래밍을 접해보신 분들이라면 우리가 익히 알고 있는 If문, Switch/Case문 등이 바로 이런 문법이라고 할 수 있겠네요. LabVIEW에서는 CASE 구조 하나로 조건에 따른 서로 다른 기능을 구현할 수 있습니다. 케이스 구조(CASE Structure)케이스 구조는 함수 팔레트 >> 프로그래밍 >> 구조 >> 케이스 구조를 선택하시면 생성하실 수 있습니다.케이스 구조를 선..
요즘은 정말 시대가 많이 변해서 인터넷과 의지만 있으면 공부할 수 있는 그런 세상인 것 같네요. 수포자들이나 너무 오랫동안 수학을 크게 다루지 않아 까먹으신 분들에게 유용한 미적분 사이트가 있어서 공유하고자 합니다. 저 또한 한 때 수리 영역은 1등급이었는데,,,제가 푼게 맞나 싶더라고요. 사이트에 수식만 입력하면 Step별 연산 과정 확인이 가능하니 직접 풀어본 값과 검증을 해볼 때에도 유용하게 쓸 수 있을 것 같습니다. 미분(derivate) 계산 사이트 Derivative-Calculator라는 사이트(http://www.derivative-calculator.net/)로 접속하시면 수식을 입력한 후 바로 미분 값에 대한 결과나 과정을 살펴볼 수 있는 사이트입니다. Derivative Calcula..
임피던스 매칭(Impedance Matching)이란, 하나의 입력과 출력단을 연결할 때 서로 다른 두 연결단의 임피던스 차에 의한 리플렉션을 줄이기 위해 입∙출력의 임피던스를 맞추어주는 작업을 말합니다. 임피던스란 교류 회로에서 리액턴스 성분까지 고려한 값이라고 하였는데요. 참고가 필요하신 분들은 지난번 포스팅을 한번 읽어보시길 바랍니다. 임피던스(Impedance, 온저항)와 리액턴스(Reactance, 반응저항) 임피던스(Impedance, 온저항)란, 임피던스란 회로에 전압이 인가되었을 때 전류의 흐름을 방해하는 값을 말하며 저항과 마찬가지로 단위는 옴[Ω]으로 표현하고 알파벳 Z를 사용하여 나타냅니다. moonnote.tistory.com 따라서 임피던스 매칭은 '정합'이라고도하며 전력 손실 및..
이번 시간에는 신호 소스와 접지 모드(터미널 설정)에 대해서 알아보겠습니다. DAQ 시스템이란 결국엔 사용되는 센서의 출력 신호를 DAQ 장비가 측정하는 것인데요. 센서와 장비간 물리적인 연결을 할 때 신호 소스 타입이 어떻게 되는지, 그리고 신호 소스 타입에 맞추어 적절한 접지를 잡아주는 것이 관건이라고 하겠습니다. 센서의 경우에도 종류가 워낙 다양하지만 결국에는 전기적인 신호로 변환시켜 출력을 보내주게 되므로 대부분의 센서 출력은 전압(또는 전류)이라고 볼 수 있습니다. '전압'이란, 두 지점 사이의 전위차를 말하며 전류가 흐를 수 있도록하는(전하가 이동시킬 수 있는) 능력입니다. 신호 소스 타입(Grounded vs Floating) 신호 소스 타입의 경우 크게 접지된 신호(Grounded Sign..
웨이브폼(Waveform)이란, 웨이브폼(Waveform)이란 '파형'이란 의미로 파동과 같은 신호의 모양과 형태를 말합니다. LabVIEW에서도 웨이브폼(Waveform) 데이터 타입을 지원하고 있는데 주기적인 신호 측정을 표시하고 저장하는 목적으로 사용됩니다. 주기적인 신호라는 말처럼 웨이브폼은 데이터의 크기 정보 외에 시간 정보를 같이 포함하고 있는데요. 기본적인 LabVIEW 웨이브폼의 구성 요소는 ¹시작 시간(t0), ²시간 간격(dt), ³데이터 배열(Y[]) 3가지로 구성됩니다. 위의 이미지는 LabVIEW 웨이브폼 상수인데요. 웨이브폼도 결국 클러스터 타입으로 구성되어있는 것을 보실 수 있습니다. 다만 Wire 색상을 Pink가 아닌 Brown으로 구분 짓고 있습니다. (숫자형으로 이루어진..
What is a LabVIEW file type extension? Select all that apply. 1. *.vi 2. *.lvx 3. *.ctl 4. *.lvlib 정답 보기는 아래 더보기 클릭 더보기 정답 : 1. *.vi, 3. *.ctl, 4. *.lvlib LabVIEW 파일 타입인 것을 고르는 문제이다. 가장 많이 사용하는 LabVIEW 코드 파일의 경우 저장할 때 파일 포맷이 *.vi로 Virtual Instrument라는 의미이다. 따라서 1번은 정답이고, 타입 정의 또는 사용자에 의해 디자인된 컨트롤/인디케이터는 *.ctl이라는 확장자로 저장됩니다. CTL은 컨트롤 파일이라는 의미로 CTL 파일에는따로 코드 작성과 관련된 블록다이어그램은 없습니다. 마지막으로 LabVIEW에서도..
다운로드 파일폰트 정보이름 : 고운 바탕 Regular형식 : TTF웹폰트로 사용 :@font-face { font-family: 'GowunBatang-Regular'; src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2108@1.1/GowunBatang-Regular.woff') format('woff'); font-weight: normal; font-style: normal;} 글꼴 미리보기(예시) 주의 사항 ※ 이 글이 도움이 되었다면 "🤍공감" 버튼을 클릭해주세요. 클릭 한번이 글 쓰는데 큰 힘이 됩니다.