본문 바로가기
  • 경제적 자유를 얻는 그날까지
728x90
반응형

엔지니어링/임베디드40

728x90
반응형
[아두이노 기초교육] RGB LED 제어 RGB LED에 대한 기초 전자회로에 대해 알아보고, Push Button 3개를 이용하여 RGB LED의 밝기를 제어해본다. 1. 회로도 구성 - RGB LED의 밝기를 제어하기 위한 Push buttion이 3개 있으며 순서대로 디지털 입력 4,3,2에 연결됨 - RGB LED는 순서대로 PWM 포트(물결무늬) 11, 10, 9에 연결됨(2^24까지 색을 표현 가능) 2. 회로설명 1) RGB LED - 빛의 3원색: Red, Green, Blue - PWM을 이용하여 빛의 밝기를 제어함 - 아두이노 UNO는 약 500Hz(2ms)까지 주기 변경이 가능함 2) PWM - ~(물결무늬)가 있는 포트는 PWM 사용가능 - 아두이노에서는 AnalogWrite를 통해 PWM을 생성(https://www.op.. 2020. 2. 1.
[아두이노 기초교육] LED 제어 LED를 제어하기 위한 기초 전자회로에 대해 알아보고 Arduino UNO를 이용하여 내장된 LED를 Push button으로 제어해본다. 1. 회로도 구성 2. 회로설명 1) LED - 전류를 빛으로 변환해주는 반도체 소자 - 극성있음, 다리가 긴쪽이 + (A), 짧은 쪽은 - (K) - 약 1.7V, 10mA에서 구동됨 - 5V로 구동시 약 330ohm 저항을 사용함(옴의 법칙 이용하여 저항값 계산) 2) 저항 - 전류의 흐름을 제어 - 손실은 열로 발생함 - 일반저항은 5~10% 의 오차, 정밀저항은 약 1%이하의 오차 있음 - 저항값 읽는 법(https://m.blog.naver.com/ansdbtls4067/220625603453) 3) 푸쉬버튼 - 디지털 신호의 입력포트(High, Low, F.. 2020. 1. 16.
[아두이노 기초교육] 아두이노 소개 1. 아두이노란? 1) 오픈소스기반 마이크로 컨트롤러 2) 종류 - 우노(UNO): 8bit 마이크로 컨트롤러 - 듀(DUE): 32bit 마이크로 컨트롤러, 핀 확장성 좋음 - 트레(TRE): TI사의 32bit 비글본 블랙과 결합 - 윤(YUN): 아두이노에 와이파이 탑재 - 레오나르도: 우노의 CPU변경 버전 - 갈릴레오: 인텔과 아두이노의 합작품, 펜티엄 프로세서 탑재, 아두이노와 핀배열 동일(쉴드 이용가능) 3) 일반인들이나 예술인들이 쉽게 다룰수 있는 프로세싱 및 하드웨어 - 스크래치와 같은 프로그램과 연동(손쉽게 코딩가능) - 오픈소스 활용이 용이함 - 쉴드(납땜을 하지 않아도 됨), 쉴드 제품 2. 아두이노 우노의 구조 1) 아두이노 우노의 하드웨어 구조 - Hardware Serial -.. 2020. 1. 15.
리눅스 Ubuntu 명령어 정리 1. Path 설정 현재의 path 보여줌 ~$ echo $PATH /usr/local/sbin:/bin:/usr/sbin:/usr/bin ~$ PATH=$PATH:/home:/var ~$ echo $PATH /usr/local/sbin:/bin:/usr/sbin:/usr/bin:/home:/var 현재의 path에서 추가할 때 ~$ export PATH=/home:$PATH 모든 환경변수를 보여줌 ~$ export 자신의 환경변수를 등록하려면 ./bash_profile ./bashrc /etc/bash_profile /etc_bashrc 실행 ~$ source ~/.bashrc 2. 찾기 명령어 전체폴더내 파일명으로 검색 ~$ find / -name php /var/lib/php /usr/lib64/p.. 2019. 11. 15.
리눅스에 Boost 라이브러리 설치 1. 업데이트 ~$ sudo apt-get update 2. 소스 다운로드 ~$ wget -c 'http://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.bz2/download' ~$ tar -xvf download 3. 설치 ~$ cd boost_1_55_0 ~$ ./bootstrap.sh ~$ ./b2 install 아래 폴더에 설치됨 /usr/local/include /usr/local/lib 2019. 11. 15.
[라즈베리파이] Ubuntu에서 크로스 컴파일 환경설정 및 예제코드작성 라즈베리 파이는 간단한 프로그램은 빌드가 가능하지만 프로그램의 덩치가 커지면 데스크탑에서 빌드후 소스를 라즈베리로 복사하여 실행하는 방법을 많이 이용한다. 본 방법은 라즈베리파이 3와 Ubuntu 18.04환경에서 크로스컴파일 환경을 설정하고 프로젝트를 빌드하는 과정을 소개한다. 참고 자료는 아래에 있다. https://hackaday.com/2016/02/03/code-craft-cross-compiling-for-the-raspberry-pi/ Code Craft: Cross Compiling For The Raspberry Pi Sometimes there’s just no place like your desktop. You’ve already got your favorite development .. 2019. 11. 14.
IMU MEMS 센서 MPU6050 살펴보기 1 - 자이로 센서 IMU(Inertial Measurement Unit: 관성측정장치)는 각속도와 가속도를 이용하여 물체의 자세를 측정해주는 센서이다. 요즘 스마트폰이나 드론에 IMU 센서를 많이 사용하고 있다. 보통 IMU 센서는 3축 자이로와 3축 가속도 센서가 있다. 가속도 센서는 직선운동에 대한 가속도값을 측정하고, 자이로는 회전운동에 대한 각도 변화율을 계산하여 자세를 측정하는 용도로 사용된다. IMU MEMS 센서에 대한 내용과 가속도, 각속도 계산 방법은 아래 티스토리를 참고하기 바란다. https://swiftcam.tistory.com/95 IMU MEMS 센서(Gyroscope + Accelerometer) MEMS 란? MEMS(Micro Electro Mechanical Systems) 라고 한다. .. 2019. 10. 27.
IMU MEMS 센서(Gyroscope + Accelerometer) MEMS 란? MEMS(Micro Electro Mechanical Systems) 라고 한다. 센서의 기술이 발달함에 따라 기계식 센서를 실리콘다이와 같은 반도체 안에 구현한 초소형 센서들을 말한다. MEMS 중 주변에서 쉽게 사용할 수 있는 것이 드론에서 사용하는 IMU(Inertial Measurement Unit: 관성측정장치) 센서이다. IMU 센서에는 보통 가속도계(Accelerometer), 각속도계(Gyroscope), 지자계(Magnetometer)가 한 센서에 일체형으로 들어가 있다. 가속도계는 직선운동에 대한 가속도값을 측정하고, 각속도계는 회전운동에 대한 각도 변화율을 계산하여 자세를 측정하는 용도로 사용된다. 아래 링크는 IMU MEMS 센서를 쉽게 설명한 자료이다. 센서의 물리적.. 2019. 10. 27.
[아두이노 기초교육] Visual Studio for Arduino 설치 및 개발 환경설정 1. Visual Studio 설치 - 무료버전 - 아래의 Installer를 받아서 Visual Studio를 설치하면 된다. 용도에 따라 팔요한 구성품을 같이 다운로드 받는다. https://visualstudio.microsoft.com/ko/thank-you-downloading-visual-studio/?sku=community&rel=16 Visual Studio를 다운로드해 주셔서 감사합니다. - Visual Studio 다운로드가 곧 시작됩니다. 다운로드가 시작되지 않은 경우에는 여기를 클릭하여 다시 시도하세요 자습서, 샘플, 문서를 찾아 코딩을 시작하십시오. 자세히 보기 첫 번째 “Hello World!” 만들기 Visual Studio 2019를 사용하는 C++ 콘솔 앱. 시작 visu.. 2019. 10. 22.
[STM32] 스테핑 모터의 가감속 제어 지난번 STM32의 타이머 인터럽트를 이용하여 PWM의 주기를 펄스마다 변경하는 로직을 만들었다. 결론은 STM32F103RCT6를 사용하면 최대 50KHz의 안정적인 인터럽트를 발생시킬 수 있고 모토가 탈조를 일으키지 않고 최대로 구동할 수 있는 주파수는 5.8KHz까지 였다. 그러나 오늘은 스텝모터에 가감속 테이블을 이용하여 제어하여 보다 높은 주파수까지 제어해보았다. 스텝모터는 스루영역에서 가감속테이블을 사용하면 훨씬 더 높은 주파수까지 구동이 가능하다. 가감속테이블은 시간의 sqrt 함수에 대한 응답을 테이블로 만들어서 간략하게 적용해보았다. 스텝수는 512개 사용하였고, 테이블의 값의 의미는 가변주기 펄스를 만들기위한 Prescaler의 값이다. 펄스가 끝나는 타이머인터럽트에서 펄스의 개수를 카.. 2018. 11. 15.