전 글에서 앰프를 직접 만들어서 사용해 보았습니다. 이제 로드 셀(load cell)에 주로 사용하는 HX711 칩이 들어간 AD를 가지고 체중계를 써보겠습니다. 구매정보 : HX711 로드셀 측정 24비트 AD 컨버터 모듈 연관글 영역 1. 체중계 분해 전 편에서 체중계를 어떻게 분해하는지 자세하게 알아봤습니다. 참고 : [하드웨어] 체중계 분해하여 체중계 만들기 - 체중계 분해하여 로드셀(Loadcell) 사용하기 분해를 하면 보통 아래와 같이 배선되어 있을 겁니다. 기판에 글자가 안 쓰여있는 경우도 있는데 보통 양쪽 끝이 +V, -V입니다. 그리고 가운데가 +S, -S입니다. 따로 쓰여있는 내용이 없는 경우 거의 위에 사진과 같이 돼 있을 확률이 높습니다. 하지만 꼭 그런 건 아니므로 기판의 배선을..
4선 로드 셀은 그냥 배선하면 됩니다만..... 3선 로드 셀은 하프 브리지나 풀 브리지를 만들어야 합니다. 3선 로드 셀은 보통 체중계를 분해하면 많이 볼 수 있습니다. ㅎㅎㅎㅎㅎ 만약 체중계를 분해했는데 배선을 분리해야할 상황이면 이 포스팅을 보셔야 합니다. 연관글 영역 1. 3선 로드 셀 3선 로드 셀은 보통 아래와 같이 생겼습니다. 구매처 : 길드몰 - 3선식 체중계 센서(Body Load Cell) 50kg 전선의 색은 뾰족한 부분을 위쪽으로 놓고 검정(Black), 빨강(Red), 흰색(White) 순서로 되어 있습니다. 가끔 다른 색으로 되어 있는 경우가 있는데 그 경우에도 뾰족한 부분을 위쪽으로 놓고 위 순서로 되어 있다고 보시면 됩니다. 이 센서를 사용하려면 2개, 4개를 한 세트로 사용..
정류회로라는 건 교류(AC, Alternating Current)를 직류(DC, Direct Current)로 바꾸는 회로를 말합니다. 아두이노와 같은 장치를 다루면 교류를 다룰 일이 별로 없습니다.요즘은 모듈 단위로 나오는 부품도 많고 여차하면 아두이노에서 뽑아 써도 되고 아두이노 때문에 이미 DC를 써야 하기 때문이죠.그런데 센서에서 교류로 주거나 장치를 만들다 보면 정류되지 않은 값이 나올 때도 있으니 알아보고 갑시다. 1. 준비정류회로에서 필요한 건 다이오드입니다. 사용할 다이오드는 1N4005인데.....참고 : 디바이스마트 - 1N4005 필요한 사양에 따라 1N4001~1N4007 중에 고르시면 됩니다. 2. 다이오드 브리지 만들기정류회로는 다이오드로 브리지회로를 만들어서 사용합니다. 위키에..
Spy++은 프로세서의 정보와 로그등을 보기 위해 사용하는 프로그램입니다. 비주얼 스튜디오(Visual Studio)를 설치하면 Spy++이 자동으로 설치돼었던 것 같은데..... 비주얼 스튜디오 2019를 설치했는데 Spy++이 없습니다;; 1. Spy++ 설치 별도로 설치하는 방법은 모르겠군요... 비주얼 스튜디오가 설치되어 있으면 도구 > 도구 및 기능 가져오기 를 선택합니다. 개별 구성 요소 > 개발 작업 > C++ 핵심 기능 을 체크하여 설치해 줍니다. 이제 '도구' 메뉴를 보면 'Spy++'이 추가되어 있습니다. 2. Spy++ 64bit 세팅하기 64bit 응용프로그램은 Spy++ 32bit 버전으로는 모니터링할 수 없습니다. 64bit 비트용 Spy++의 경로는 아래와 같습니다. 1 2 [..
* 공개프로젝트로 전환된 포스팅입니다. * 참고 : [Arduino] ButtonClickCheck - 버튼 상태 저장 및 확인 라이브러리 버튼 처리가 귀찮아서 라이브러리를 만들었습니다. 버튼을 누르고 있을 때, 누르지 않을 때, 눌리고 첫 이벤트를 구분하여 리턴해주는 라이브러리입니다. 버튼이 플로팅(floating)상태라면 당연하게도 제대로 동작하지 않습니다. (참고 : [Arduino] 버튼(Button)의 값이 정확하지 않을때 - 풀 업(Pull Up), 풀 다운(Pull Down) 사용 방법 ) 연관글 영역 1. 버튼 구현하기 아두이노는 게임 루프처럼 무한루프가 돌면서 여러 가지 상태를 판단하여 동작하게 됩니다. 이 상태에서 그냥 버튼을 눌렸다고 동작을 시키면 버튼이 몇 번 눌렸는지, 언제 눌렸는..
간만에 만들 게 있어서 아두이노를 연결하고 버튼을 연결했는데..... 간단하게 코드를 만들어서 올리고.... #define Button01 2 void setup() { Serial.begin(9600); pinMode(Button01, INPUT); } void loop() { Serial.println(digitalRead(Button01)); delay(10); } 버튼을 누르지 않았을 때 입력값이 이상합니다??? 연관글 영역 1. 플로팅(floating) 버튼을 누르지 않고 있을 때 값이 랜덤하게 나오는 것을 플로팅(floating)상태라고 합니다. 이 상태에서는 버튼값이 0이나 1이 아닙니다. ( 참고 : stackExchange - Button state changing randomly, Ar..
C# 클래스(Class)나 모델(Model)을 Json파일로 저장했다가 다시 불러서 모델에 바인딩하기는 쉽습니다. 한단계씩 따라 해 봅시다. 1. 준비 누겟(Nuget)에서 'Newtonsoft.Json'를 찾아 설치해 줍니다. 'TestData001.cs' 클래스를 생성합니다. /// /// 테스트용 모델1 /// public class TestData001 { public string StrData1 { get; set; } public string StrData2 { get; set; } public int IntData1 { get; set; } public int IntData2 { get; set; } } 'TestData002.cs' 클래스를 생성합니다. public enum Test1Typ..
빈 프로젝트로 세팅하는 이유 중에 하나가 'ASP.NET MVC'의 잡다한 코드가 설치되지 않게 하기 위해 서 입니다. 하지만 이제는 'WebAPI' 템플릿이 있어서 그냥 이거 써도 됩니다. 그래도 템플릿 없이 어떻게 구성해야 하는지 알아두면 좋겠죠? [ASP.NET Core] 빈 프로젝트 세팅 (1) - 'index.html'을 시작페이지로 설정하기[ASP.NET Core] 빈 프로젝트 세팅 (2) - WebAPI 설정 [ASP.NET Core] .NET Core로 구현한 SPA(Single Page Applications)(1) - 기초[ASP.NET Core] .NET Core로 구현한 SPA(Single Page Applications)(2) - Ajax공통 기능, 데이터 바인드 처리[ASP.NE..
싱글 페이지 애플리케이션(SPA, Sigle Page Applications)을 만들 때 필수로 필요한 것이 자바스크립트로 구현된 라우터(router)입니다. 자바스크립트로 한 개의 웹페이지를 화면 바인딩을 제어하여 마치 웹페이지가 한 개의 응용프로그램처럼 동작하게 하려면 페이지를 이동시키지 않고 주소를 갱신하여야 합니다. 이런 기능을 구현하는 것이 라우터입니다. 라우터는 크게 해시(#) 라우터와 브라우저 라우터로 구분할 수 있습니다. 자바스크립트로 구현된 라우터는 많습니다. 저는 그중 해시 라우터인 'Sammy.js'를 사용하여 간단하게 SPA를 구현해 보겠습니다. 1. 프로젝트 준비 'index.html'파일의 내용을 아래와 같이 작성합니다. 홈 'Sammy.js'는 홈페이지에서 받을 수 있습니다. ..
ESXi를 설치하려고 하는데 아래 오류가 납니다. No Network Adapters 이 오류는 지원하는 네트워크 카드가 없는 경우 발생한다고 하네요. 이게 버전별로 들어있는 네트워크 드라이버가 달라서 특정 버전에서는 되는데 다른 버전에서는 설치될 수도 있습니다. 이런 경우 ESXi이미지에 드라이버를 추가해서 만들어야 합니다. 1. 커스텀 스크립트 다운로드 일단 'ESXi'이미지를 커스텀 하려면 커스텀을 지원하는 스크립트가 필요합니다. (참고 : VMware Front Experience - ESXi-Customizer-PS) 이 스크립트는 파워쉘(PowerShell) 스크립트입니다. 관리자 권한으로 파워쉘을 열고 아래 명령어를 넣어 실행해 봅시다. .\ESXi-Customizer-PS-v2.6.0.ps..