전체 글 272

아두이노로 RC카 만들기

아두이노 프로미니와 서보모터,DC모터4개,HC-06(블루투스모듈)을 사용하여 RC카를 만들어보겠습니다. 위에서 말했던 재료들입니다. 앞바퀴입니다. 서보모터에 바퀴를 연결하여 좌,우로 움직일수 있게 한 모습입니다. 뒷바퀴입니다. 앞바퀴가 서보모터에 연결되어있어서 높이가 안맞으므로 따로 만들어줍니다. DC모터이므로 모터1개당 선이 2개씩 나옵니다. 앞바퀴를 만능기판에 붙여줍니다. 뒷바퀴와 메인 만능기판을 나무막대기로 연결해준 모습입니다. 외형이 완성된 모습입니다. 메인 만능기판에 아두이노와 블루투스모듈을 연결한 모습입니다. 조종하는 앱입니다. 블루투스를 연결하고 버튼을 누르고있으면 RC카가 움직입니다.

아두이노/활용 2017.05.23

74HC595 알아보기입니다.

74HC595의 동작특성은 8비트 쉬프트레지스터입니다. 작동 순서를 예를 들어서 적어보겠습니다. A,B,C 버튼 3개가 있다고 가정하겠습니다. A버튼 : 시리얼 데이터를 입력합니다. B버튼: 시리얼 데이터를 동기화시킵니다. C버튼 : 데이터가 이동합니다. 1단계 : A버튼을 3번 누르고있는상태에서 2단계 : B버튼을 3번 클릭합니다. (B버튼은 클럭 역할) 그러면 111이 입력됩니다. 3단계 : C버튼을 누르면 출력에 111이 표시됩니다. 4단계 : B버튼을 클릭하면 0이 입력됩니다.(A버튼이 안눌러져있기때문) 그 다음 5단계 : C버튼을 누르면 출력에 1110이 표시됩니다. 이런식으로 74HC595를 사용하는 것입니다. 74HC595 핀맵입니다. 첫번째 Q0~Q7은 데이터 출력핀입니다. 8비트 쉬프트 ..

각종IC 2017.05.17

안드로이드 버튼 사용하기 입니다.

안녕하세요. 이번에는 버튼을 클릭하면 화면에 있는 텍스트가 바뀌는 것을 해보겠습니다. 먼저 프로젝트를 빈 프로젝트를 만들고 layout으로가서 버튼과 텍스트뷰를 화면에 배치해줍니다. 이런식으로 배치해줫습니다. 기본 텍스트뷰의 이름과 버튼의 이름을 변경해였습니다. 오른쪽에 보면 Properties가 있는데 여기서는 위젯들의 다양한 속성들을 변경할 수 있습니다.(색깔,위치,크기 등등)ID에 보면 textView가 나와있는데 이 것이 그 배치한 위젯의 ID입니다. 여기서는 textView가 있는데 이건 텍스트뷰의 ID이고, 이것을 사용하는 곳은 java코드에 가서 사용합니다. 이제 MainActivity.java에 가서 동작할 것을 입력해주면 됩니다. 여기서 제가 할 것은 버튼 클릭->텍스트뷰의 내용이 바뀜 ..

74LS47를 이용하여 세븐세그먼트 표시하기

세븐세그먼트 1개를 사용하려면 일반적으로 10개의 핀이 필요합니다. 그러나 74LS47을 사용한다면 4개의 핀으로도 0~9숫자를 표현 할 수 있습니다. (단 DP는 표시 못합니다) (74LS47은 애노드용, 74LS48은 캐소드용입니다) 74LS47의 다이어그램입니다 핀이 여러가지있는데 복잡해보입니다. 그러나 아닙니다. A3,A2,A1,A0핀(6,2,1,7)은 표시할 숫자를 선택해주는 핀입니다 예를들어 0001을 입력한다면 1이나오고 1001을 입력한다면 9가 나옵니다. 그러나 세그먼트를 1개 사용하므로0~9까지 표현이 가능합니다. 그래서 10~15에서는 이상한 모양이 나타납니다. a' 핀,b' 핀...f' 핀(13,12...15)은 세븐세그먼트에 연결하면 되는 것입니다. LT '(3) : Lamp Te..

회로이론/활용 2017.04.20

Atmega32 딜레이 퓨즈비트설정하기입니다.

안녕하세요. Atmega32퓨즈비트 설정입니다. 외부클럭에는 16mhz를 연결했다고 가정하겠습니다. (avr studio 4.1사용합니다.)첫 delay함수를 사용해보면 시간이 정확하지않는것을 볼 수 있습니다. 기존에 atmega128은 설정이 다 되서 나오지면 atmega32는 바꿔줘야합니다. 먼저 퓨즈비트에대해 알아보겠습니다. Atmega32는 3바이트의 퓨즈비트를 가지고 있습니다. 퓨즈비트는 atmega32사용을 설정하는것입니다. 퓨즈비트는 아무거나 설정을하면 atmega가 고장나므로 잘 알아보고 설정을해야합니다. 여기서 주의할점은 퓨즈비트는 설정되면 0이고 설정이안되면 1입니다. 그러나 여기에서 알아볼것은 atmega32딜레이 제대로 사용하기위해 퓨즈비트를 설정하는 것이므로 여기에서 사용하는 CK..

아트메가/기타 2017.03.28

ISP케이블과 아트메가128 연결하기

1. ISP케이블포장을 뜯어서 사진에나온 두 부품을 연결시킵니다 2. 그림처럼 ISP케이블과 아트메가를 모양과 같이 놓고 점퍼 케이블로 순서에맞게 연결해줍니다. 3. ISP케이블에 흑색 - 빨강 - 주황 순서로 연결되있고 아트메가에 흑색 - 빨강 - 주황 순서로 연결되어있는것을 볼 수 있습니다. 4. 다 연결한 모습입니다. 5.이런식으로 브래드보드에 연결해서 사용하면 됩니다 6.그림에 빨강 동그라미가 있는 부분이 1스위치인데 디폴트는 1번이 OFF(왼쪽)되있습니다. ON(오른쪽)으로 스위치를 옮겨야 사용가능합니다.

아트메가/기타 2017.03.19

아트메가128사용법

처음 아트메가128를 접하려면 막막하다. 뭘 사야하고 뭘 다운받아야하지? 아트메가는 종류가 여러가지 있는데 가장 많이쓰는 모델이 아트메가128이다.그럼 아트메가128를 공부하기 위해서 필요한 아이템들을 말해주겠다.1.컴파일러2. 아트메가1283. ISP케이블4. 브레드보드5. 전자부품(LED,버튼,모터,센서...) 1.컴파일러아트메가128에서 많이 사용하는 컴파일러에는 여러가지가 있는데 그중에 가장 많이쓰고무료인게 atmel studio7.0이다.http://www.microchip.com/development-tools/atmel-studio-7다운받는방식은 마음에드는거 골라서 받으면된다. 2.아트메가128아트메가128 칩은 1개지만 이 칩을 직접 납땜해서 사용하기에는 초보자는 매우 무리이다.그래서 아..

아트메가/기타 2017.03.14

아두이노 블루투스모듈 사용하기(HC-06)

아두이노스마트폰을 블루투스 통신을 사용해서 LED를 제어해보겠습니다. 순서1.준비물2.HC-06사용법3.실제 연결4.코드5.스마트폰 앱 다운1.준비물아두이노는 가장 흔한 UNO모델을 사용하고 블루투스모듈로는 가장흔한 HC-06을 사용하겠습니다. 2.HC-06사용법 핀번호에 맞게 아두이노에 연결해주면 됩니다.주의할점이 TX는 RX에, RX는 TX에 연결해야 합니다. 3.실제 연결HC-06을 연결해주고 LED를 연결해주면 됩니다전 LED를 3번 디지털핀에 연결했습니다. 4.코드블루투스를 통해 스마트폰으로부터 받은 값을 시리얼모니터에 출력하고그 값에따라 LED를 키고 끄는것을 해보겠습니다. HC-06코드 void setup(){ Serial.begin(9600); pinMode(2,OUTPUT);} void ..

아두이노/이론 2017.03.14

비선점스케줄링 시간구하기

스케줄링이란? 프로세스(프로그램)이 실행되었을때 자원을 효율적으로 할당하기위한 방법입니다. 비선점스케줄? 이미 할당된 CPU를 다른 프로그램이 강제로 뺴앗아 사용할 수 없는 방법을 말합니다. 비선점스케줄링의 알고리즘에는 FCFS(FIFO),SJF,HRN가 있는데 여러가지 시간을 구하는 문제가 나옵니다 1) FCFS(First COme First Service) = FIFO(First In First Out) 차례대로 CPU를 할당하는 방법입니다. 순서대로 처리되지만, 중요도와 상관없이 순서대로 처리되므로 약간 문제가 있는 스케줄링입니다. 문제: FCFS(FIFO) 스케줄링으로 3개의 평균실행시간,평균대기시간,평균반환시간을 구하세요 (대기시간:프로세스가 대기한시간, 반환시간:대기시간+실행시간) 작업 도착시..

산술Shift연산

산술Shift는 "부호"를 고려해서 자리를 이동시킨다. 왼쪽으로 이동하면 2의 n승을 곱한 값과 같고 오른쪽으로 이동은 2의 n승으로 나눈 값과 같다. - 왼쪽 이동 양수 n만큼 이동하면 곱하기 2의 n승 해준다. 음수 1. 부호와 절대치 Padding bit : 0 2. 1의 보수법 Padding bit : 1 3. 2의 보수법 : Padding bit : 0 - 오른쪽 이동 양수 n만큼 이동하면 나누기 2의 n승 해준다. 음수 1.부호와 절대치 : Padding bit:0 오차발생:0.5증가 2. 1의 보수법 : Padding bit : 1 오차발생 : 0.5증가 3. 2의 보수법 : Padding bit : 1 오차발생 0.5 감소 예) 2의보수 1100 1000을 우측쉬프트3회 하세요 부호 1고정..