본문 바로가기

만들기/랩뷰(labview)7

ni labview와 dso1012a 오실로스코프 연결오류( 50% 해결) 오실로스코프 데이터를 기기에 직접연결하여 USB로 데이터를 저장하는 것이 불편해서 labview에 연결하여 직접 가져오기 위한 방법을 알아보았다. 환경조건 - 오실로스코프 : Agilent DSO1012A - 랩뷰 : 2019, 2021 먼저 Agilent 회사에서 오실로스코프에서 작동할 수 있는 드라이버를 제공하는지 찾아보았다. http://sine.ni.com/apps/utf8/niid_web_display.model_page?p_model_id=15925 Agilent Technologies / Keysight Technologies DSO1012A Oscilloscope - Instrument Driver - National Instruments Agilent Technologies / Keysi.. 2023. 1. 11.
enumeration conflict 열거형이 충돌합니다. 값(컨트롤)을 만든 뒤 프로퍼티 노드를 만들어서 값의 상태를 활성화/비활성화/ 비활성화 회색처리 와 같이 3가지로 만들 수 있다. 프로퍼티 노드에서 바로 컨트롤을 만들면 프론트패널에 컨트롤이 만들어져서 상태를 변경할 수 있다. 블록다이어그램의 팔레트에서 숫자numeric -> 열거형 상수enum constant 를 넣으면 프론트패널에서는 보이지 않는 열거형 상수를 입력할 수 있다. 열거형 상수를 연결할 때 주의할 점은 연결되는 값(프로퍼티 노드)이 가진 변경값에 대해 정확히 1:1 로 대응되야하기 때문에 순서와 이름을 똑같이 맞춰져야한다. 그렇지 않으면 enumeration conflict가 일어나 wire가 연결되지 않는다. 충돌이 일어난 상황 연결된 enum constant의 속성에서 아이템의 이름이.. 2022. 9. 15.
[matlab] 아두이노 여러개의 아날로그 데이터를 3D 그래프로 나타내기 자기장을 측정할 수 있는 홀센서를 아두이노 아날로그 핀과 연결한뒤 매트랩을 이용하여 실시간 데이터를 3D그래프로 나타냈다. 매트랩을 아두이노와 연결하기 위해 매트랩의 아두이노 하드웨어 애드온을 설치해 주었다. 아날로그 신호를 읽을 수 있도록 매트랩 코드를 짠 뒤 bar3을 이용하여 3차원 막대그래프로 만들었다. 기능적으로는 만들어졌지만 최적화되지 못한것이 몇가지 있다. 1) 실시간 데이터를 받는 과정에서 반복횟수를 정하고 for 루프가 돌아가도록 만들었다. 이것을 시간이 흐르는 동안으로 만들어야할 것 같다. 2) 데이터를 업데이트 시킬때 for 루프 안에서 아날로그값을 계속 불러오고 bar3그래프를 반복적으로 그리게되는데 bar3은 그대로 있는 상황에서 값만 업데이트하는 방법을 찾아봐야겠다. arduin.. 2022. 7. 6.
[랩뷰] LINX에서 L298N 드라이버로 DC모터 제어하기 LINX를 이용하여 랩뷰에서 아두이노를 컨트롤하고 L298N드라이버를 이용하여 2개의 DC모터를 제어할 수 있다. 준비물 - 아두이노 우노 - 랩뷰 32비트 2018년 이상 - LINX - L298N - DC모터 - 5V 이상전원 랩뷰에 LINX를 설치 후 아두이노 우노 펌웨어롤 올려준다음 아두이노와 L298N을 연결해준다. L298N에서 A enable부분을 풀어준뒤 PWM제어를 가능하게 하여 아두이노와 연결한다. 나머지 input 선은 디지털핀으로 연결시켜준다. 아두이노 자체에서 나오는 5V를 L298N에 연결시키면 전류값이 작아서 하나의 모터만 작동한다(부하없이). 2개의 모터를 컨트롤 하기 위해서는 12V에 외부전원을 연결시켜주고 GND에는 외부전원과 아두이노 GND를 같이 연결시켜준다. 랩뷰코드.. 2022. 1. 22.
LINX와 아두이노 메가는 잘 연결되지 않는다. 랩뷰에서 LINX를 설치 후 아두이노 메가 펌웨어를 설치해줘도 LINX에서 아두이노를 인식하지 못한다. 우노로 연결해서 하면 정상적으로 적동한다. 왜 그럴까? 2022. 1. 21.
[랩뷰] LINX 로 랩뷰에서 아두이노 연결하여 servo 모터제어하기(sg90) sg90 서보모터는 빨간선, 5V전원 주황선은 PWM 포트, 갈색선은 GND에 연결시켜준다. 랩뷰를 실행시킨 후 블록다이어그램에서 다음과 같이 간단한 코드를 작성해준다. 아두이노를 연결하고 서보모터를 열어준다음 펄스를 받아들이는 부분만 루프로 감싸준다. 시리얼 포트를 지정하고 서보가 움직일 각도를 펄스를 통해서 지정해준다. sg90의 경우 450us일때 -90도 2450us일때 90도로 움직인다. 입력값을 각도를 통해서 조절하려면 펄스입력 값에 를 450 + 2000/180*x 넣어주면 각도변화에 따른 펄스값을 계산할 수 있다. (x 는 0에서 180) 참고 https://www.youtube.com/watch?v=pt9d9Md7788 서보모터 데이터시트 https://servodatabase.com/s.. 2022. 1. 21.