hwidong0102의 등록된 링크

 hwidong0102로 등록된 네이버 블로그 포스트 수는 84건입니다.

(C언어 순한 맛집) ASKII이용하여 문자형 표현 + 커서 깜박이게 입력하기 [내부링크]

문자형으로 선언 시에 여러 형태로 표현하게 되는데요. 이유는 아스키코드를 이용하기 때문입니다. 이번에는 아스키코드를 이용한 표현 방법을 알아보겠습니다. . 아스키 코드 표입니다. 참고해주세요.코드코드 분석값 비교를 하기 위해서 char 자료형으로 선언을 2가지 표현방식으로 했습니다. a1에 저장된 'A'를 문자표현으로 하면 A로 나오고, 정수표현으로하면 65로 나옵니다. 그리고 a2에 저장된 65도 마찬가지네요.결국 char로 선언할 때 'A' 와 65는 같은 것으로 판단하네요.따라서 1을 더하더라도 65+1 이니까 B가 나오게 됩니다. 결과실습1) 띵동~ 벨소리 나게 하기 위의 표를 이용.......

(STM32 순한 맛집 ) HAL명령어로 LED 켜기 [내부링크]

AVR을 하시는 분들에게는 익숙한 이름이죠. STM32F4를 공부하게 되었습니다. 이름이 무서워보이는게 흠이지만 Atmega128보다 성능이 훠~ㄹ 씬 좋습니다.기초가 튼튼해야 어려운 것도 만들 수 있겠죠 ㅎㅎ한번 시작해 봅시다~ 준비물 stm32f429zi보드, stm32CubeIDE 프로그램 , LED 1개, 할 수 있다는 용기(?)설정방법예제1코드코드분석pinout과 configuration에서 설정했던 것들을 초기화시켜줍니다. HAL_GPIO_WritePin 명령어로 각각 핀에 high, low 값을 넣습니다. 확실히 아두이노, 아트메가 보단 복잡시럽죠잉 ㅎㅎ그래도 하다보면 명령어가 긴거 뿐이니 익숙해지니 똑같아 집니다. ㅎㅎ풀업 상태이니까 RESET.......

(STM32 순한 맛집 ) UART 폴링 방식으로 통신하기 [내부링크]

저번 Gpio에 이어서 이번에는 UART통신 폴링 방식을 알아보겠습니다. UART통신 방식에는 폴링 방식과 인터럽트 방식이 있는데 먼저 폴링방식부터입니다.UART통신을 많이 쓰는 이유가 오랫동안 사용되어 왔기에 호환성이 뛰어나기 때문이라고 합니다. 준비물 stm32f429zi보드, stm32CubeIDE 프로그램 , LED 1개, 할 수 있다는 용기(?)설정방법참고: 바로 앞 포스팅 했던 GPIO예제와 다른 점은 uart3을 활성화 시키는 것입니다. UART를 폴링으로 설정하기 때문에 더 이상 설정 할것이 없습니다. ㅎㅎ예제1코드코드분석UART3를 설정 했기 때문에 이렇게 초기화되죠. HAL_UART_Receive()함수는 pc에서 stm32f4로 입.......

(stm32 GPIO설정) 문제 [내부링크]

준비물: stm32f429zi 보드와 IDE문제1: 500ms마다 LD3핀이 On/OFF 되게 코드를 작성하시오. 단, HAL_GPIO_TogglePin() 함수를 사용하시오.문제2: 파란색 User button을 누르는 동안 LD2가 On이 되고 때면 Off가 되게 코드를 작성하시오.HAL_GPIO_ReadPin() 함수를 사용하여 구현하시오.//결과 보드 위에 있는 파란색 버튼을 누르면 LD2가 불켜진다. 문제3: PC13의 설정을 External interrupt, Rising Edge trigger로 셋팅하고 User button을 한번 누르면 LD2가 켜지고 다음 누르면 LD2가 켜지게 (즉, toggle) 되게 코드를 작성하시오.결과 문제4: PC13의 설정을 External interrupt, Falling Edge trigger로 셋.......

알고리즘 설계에 대한 고민이 있습니다. 디모님. [내부링크]

예를 들어서 보시면이런 얼개 있는 짜임있게 코딩을 설계하려면 어떻게 해야 하나요? 의사코드로 미리 작성해야 하나요?지금 배운 것이 c언어의 기초적인 지식이 있는데, 코딩으로 머리 속에 있는 뭔가를 구현하려니 잘 안됩니다...나름 생각을 정리를 하고 해도 뒤죽박죽이 되어 잘되지 않습니다. 위 코드를 하려면 어떤 방식으로 설계를 해야 할까요?

(stm32 uart3) 200318 키보드로 터미널과 LED컨트롤 [내부링크]

문제1: 새로운 프로젝트 stm32_uart를 생성하고 다음 코드들을 작성하시오. 아래의 샘플 코드를 사용하여 USART3를 사용하여 1초에 카운터 값이 1씩 증가되는 문자를 출력하는 코드를 작성하시오. 첫번째 코드는 폴링방식으로 두번째 코드는 인터럽트 방식으로 작성.하시오. 추가) enabled 체크 하면 -> 폴링방식 + 인터럽트 방식 둘 다 가능해제하면 -> 폴링방식만 가능속도 180으로 Drivers-src 밑에 보면 이런 것들이 있다. transmit이 3가지가 있다. 첫번째 것은 우리가 avr에서 자주 사용했던 폴링 방식이고 두번째는 cpu코어가 아니라 DMA라는 기계의 코어를 사용하는 것이다. 세번째는 인터럽트 모드이다. 인터럽트와.......

(stm32 uart 공부) printf 사용하기 [내부링크]

C:\Users\Dr. GoldenBoy\STM32Cube\Repository\STM32Cube_FW_F4_V1.25.0\Projects\STM32F446ZE-Nucleo\Examples\UART\UART_Printf\Src안에 있는 main.c를 들어가면 아래 검은색 창처럼 _GNUC로 시작하는 코드가 있다. 이것을 복사해서사용할 코드의 /*USER CODE BEGIN PHP */ 아래에 붙여 넣는다. 그리고아래에 prototype에 대한 코드를 사용할 코드의 USER CODE BEGIN 4 아래에 붙여 넣는다. 그리고 밑줄 친 곳을 우리가 쓰고 있는 huart3로 바꿉니다. 이제 printf함수를 사용할 수 있습니다.

asdf [내부링크]

문제1STM32F429의 최대 CPU속도는 180MHz입니다. 이 속도로 동작할 수 있도록 clock을 설정하시오출처 입력사진 설명을 입력하세요.pinout 설정에서 내부 클락을 켜고 속도를 180으로 맞춘다.문제2STM32F429는 몇 개의 Timer를 가지고 있나?출처 입력STM32F4 계열 보드의 타이머는 종류는3가지이고 총 14개를 내장하고 있습니다. 그리고 아래의 테이블이 상세 내용입니다.사진 설명을 입력하세요.https://stm32f4-discovery.net/2014/05/stm32f4-stm32f429-discovery-pwm-tutorial/를 참고 하였습니다.문제3Systick Timer는 몇 비트 timer이며 용도는?출처 입력systic timer란?모든 cortex-M core에 내장되어 있는 Tick timer로써 사용됩니다.Tic.......

(stm32 ADC제어) LCM1602 버튼 컨트롤하기 [내부링크]

문제:Activity① 새로운 프로젝트 stm32_adc를 생성하고 폴링모드 방식의 ADC 코드를 작성하시오. ADC 입력핀은 아두이노 호환핀의 아날로그 입력핀인 A1핀을 찾아 설정하고 입력받는 코드를 작성하시오.폴링방식으로 써야 하니까 회로가변저항을 A1핀을 쓰기로 했으니까 갈색선을 A1로그리고 5v,와 GND에 꽂습니다. main.c에서 파일결과프로젝트 파일(최고 존엄 클래스의 압축으로 올림)폴링모드 문제: 인터럽트 방식의 ADC코드를 작성하시오. ADC 입력핀은 아두이노 호환핀의 아날로그 입력핀인 A0핀을 찾아 설정하고 입력받는 코드를 작성하시오. 핀 초기설정 인터럽트 채널3번을 PA3으로.......

(C언어 순한 맛집) visual studio 에서 scanf 안될 때 해결방법 [내부링크]

초보자들이 다른 컴파일러에서 scanf를 잘 사용하시다가 visual studio컴파일러로 사용하다보면 scanf가 작동 안될 때가 있는데요 어떻게 하면 해결할 수 있는지 알아보겠습니다. . ^^이렇게 에러가 생기는 데요. 이유는 c언어에서 scanf와 C++언어상에서 scanf를 함께 쓰다보니 보안상의 위험이 생겼기 때문이라고 하네요. 총 3가지가 있는데, 우리는 쉬운 맛이니까 2가지로 해결해보겠습니다. ㅎㅎ첫번째는 scanf대신에 scanf_s를 사용하는 것입니다. 위쪽에 #define _CRT_SECURE_NO_WARNINGS 를 추가합니다. 결과이렇게 하면 해결이 되네요. 만약 실행이 안되거나 설명이 필요하시면 언제든 댓글로 알려주세요.ㅎㅎ 저도 함.......

(C언어 순한 맛집) 진수 표현하기 [내부링크]

숫자를 표현 할 때 여러가지 표현 방식이 있습니다. 우리가 일상생활에서 쓰는 10진수. 그리고 프로그래밍에서 쓰이는 2진수, 8진수 16진수까지 C언어에서 진수 표현을 어떻게 자유자제로 바꿀 수 있는 지에 대해서 알아보겠습니다. 코드결과 16진수 %X로 쓰게 되면 ffff ffff로 나와도 알아들을 수 있지만 보통 0x를 붙여서 표현하죠. %#x를 쓰면 소문자로 표현되고 %#X 를 쓰면 대문자로 표현이 되네요. 만약 실행이 안되거나 설명이 필요하시면 언제든 댓글로 알려주세요.ㅎㅎ 저도 함께 고민해서 댓글로 답할게요. 더욱 순한 맛과 깊은 맛이 나도록 노력하겠습니다. 읽어 주셔서 감사합니다. ㅎㅎ

(IT) 기본 용어들 간단 정리하기 [내부링크]

CISC: Complex INstruction Set Computer의 약자이며,특징:-명령어가 길고 다양 -> 하는 일이 복잡한 CPU다. -> 호환성이 좋은 편이다. BUT 트랜지스터 집적 효율이 낮다.-명령어를 하나씩 처리하는 비파이프라이닝 방식 사용 -> 파이프라이닝보다 처리시 비효율적-메모리 부족 현상 자주 일어남 -> 자주 사용하는 명령어만으로 갯수 줄인 RISC를 만듬-전력 소모가 크고, 속도가 느리고, 가격이 비쌈RISC Reduced instruction set computer -트랜지스터 기반의 메인프레임을 개선하는 과정에서 개발된 아키텍쳐-CISC에서 BIT길이가 너무 다양해서 복잡하던 것들을 16BIT , 32BIT로 간편하게 만들었다. -빠른 속도, 전력소모.......

(라즈베리파이 팁) 라즈비안 설치 후 root 비밀번호 [내부링크]

처음 설치 했을 때root 권한을 실행하기 위해서 su 명령어를 치고 암호를 치면 무조건 인증실패 뜨더군요. 그때는 이렇게 sudo passwd root로 새로운 암호를 설정한 해 줘야 su명령어에서 제대로 root권한을 얻게 되요 ^^

(라즈베리파이 순한맛) leafpad 명령어가 안될 때 [내부링크]

서버를 만들다가 생긴 오류를 해결하는 법 공유 해요 ㅎㅎleafpad인데요.위 사진처럼leafpad 명령어가 없다고 뜰때가 있어요. 그럴 때 해결방법은 설치하면 되요ㅎㅎsu로 root 로그인 해서apt-get install leafpad 명령어 칩니다. 그럼 설치가 되요 ㅎㅎ

(라즈베리파이 갖고 놀기) php, apache2, mariaDB 워드 프레스 설치하기 [내부링크]

php, apache2, mariaDB, wordpress설치하기^^(홈페이지에 있는 것으로 하다가 오류가 많이 생겨서... 5일간 고생해서 워드프레스 설치하는 방법을 알아냈습니다. )중간 중간 다른 부분이 있으니 주의해주세요^^먼저아파치 웹서버를 설정합니다.그리고 크롬브라우저를 켜고 http://localhost 하면 이렇게 떠야 정상입니다. 그리고 아파치가 제대로 작동한다는 것이죠.이제 index.html보다 우선순위가 먼저인 index.php가 켜져야 하니까 index.html을 제거 해야 해요그리고 php를 설치합니다. 그리고 index.php 안에다가 이렇게 써야 해요.이렇게 쓰고 ctrl + s 누르고 ctrl + x 눌러요.크롬브라우저로 localhost 로 들.......

(라즈베리파이 갖고놀기) 한글 깨짐 해결, 한글 입력하기 [내부링크]

라즈베리파이 한글 입력, 출력 해결~^^라즈베리파이를 처음 깔았을 때 한글이 깨져서 ㅁㅁㅁㅁㅁㅁ이런식으로 표현되거나 한글입력이 안되는데요 해결해 봅시다~먼저 한글 폰트 출력 해결하기 위해서 한글 폰트 설치합니다. 그리고 Y를 누릅니다. 그럼 밑의 사진처럼 ibus가 생겨요.그리고add에서 korean을 써서 한글입력을 추가합니다. \한글 클릭해시면 끝입니다.ㅎㅎ한/영 버튼을 누르시거나 안되면 shift + space누르면 바뀝니다. 드디어 해결!! 만약 실행이 안되거나 설명이 필요하시면 언제든 댓글로 알려주세요.ㅎㅎ 저도 함께 고민해서 댓글로 답할게요. 더욱 순한 맛과 깊은 맛이 나도록 노력하겠습니다. 읽어.......

라즈베리파이 워드프레스에서 url변경 시 관리자 모드 못 들어갈 때 해결방법 [내부링크]

워드프레스 초보분들 한번 쯤 겪는 문제라고 들었는데요. 기본적으로 설정되어 있는 url을 바꾸려고 아래 사진처럼 관리자모드-설정-url변경하시다가 관리자모드로 못들어가는 경우가 생기는데요. 그럴 때 해결방법을 알려드릴게요.데이터베이스에 있는 내용을 초기화 해야해요 wordpress에 만드신 데이터베이스이름을 넣으세요.그리고 비밀번호를 넣으시면 데이터베이스에 접속됩니다. MariaDB [ 데이터베이스] > 일단 현 상황을 봐야 하니까 이런식으로 입력하세요.그럼 예전 url이 보입니다. 그리고 로그인하거나, 컨텐츠 볼 때도 연결되기 위해서 밑의 것들도 쓰셔야 합니다. 그리고 ctrl + D 누르면 데이터.......

워드프레스 이미지가 안나올 때 해결법 [내부링크]

초기 설치 했을 때 초보자들이 어려움 겪을 만한 것들(제가 다 겪은 것들)에 대한 해결법.워드프레스 이미지가 제대로 안나오거나 text로만 나올 때예를 들어서 워드프레스 로그인 사진에서 밑처럼 나와야 하는데 아래처럼 text로만 나오는 상황이 있습니다. 해결방법웹서버 파일 중에서 wp-config.php가 있을 겁니다. (저같은 경우는 html디렉토리에 있네요.)거기에서 맨밑에이렇게 되어 잇을 텐데요. 만약 내가 가진 domain주소가 'http://워드프레스url' 이라면이렇게 하면 해결될겁니다. 다시 접속하면 글자가 안 깨지고 보입니다.

블로그 글쓰기 방법, 이것만 알면 초보탈출 (1편) [내부링크]

글을 쓴다는 것은 처음 시작하는 블로거들에게 쉽지 않은 일 입니다. 저 또한 글을 조리있기 쓰기 위해서 노력하고 있었는데요. 처음에는 글 한개 한개에 최선을 다해 노력을 많이 했지만... 점점 가면 갈 수록 .. 이모티콘들과 이미지를 많이 쓰게 되고 양질을 컨텐츠를 제대로 못살리게 되더라구요. 이러한 고민을 가지신 분들이 많을 것이라 생각이 드는데요. 그분들에게 도움이 될만한 정말 피가 되고 살이 되는 꿀팁들을 나누어보려 합니다. 이 글을 읽으시면 초보 탈출이 가능합니다.메인 키워드-키워드 리서치 도구로 검색하기 저는 주로 http://www.keyword-insight.com/ 이 사이트를 이용합니다. 여기에서 사람들이 이 핵심 키워.......

(ARM Stm32) uart로 출력 + 키보드로 버튼입력 -> 시계만들기 1편 [내부링크]

연습하기 출력문자열도 uart로 출력할 수 있구나. ~ㅇㅅㅇ1편: 시계입력을 키보드로 입력 받기(엔터3초로 모드, 방향키) + uart 통신 2편: 시계의 시간과 mode를 키보드로 컨트롤하기코딩이 너무 긴 관계로 부분만 넣습니다. main문 위입니다. 1편: 시계입력을 키보드로 입력 받기(엔터3초로 모드, 방향키) + uart 통신 2편: 시계의 시간과 mode를 키보드로 컨트롤하기

(워드프레스 애러)The uploaded file could not be moved to wp-content ~ 해결법(with 시놀로지) [내부링크]

워드프레스에서 이미지나 동영상을 업로드 하려고 할 때 이런 애러가 생깁니다. The uploaded file could not be moved to wp-content그리고 플러그인을 설치할 때도 애러메세지가 뜹니다. 이럴 때는 http라는 사용자의 권한이 '읽기' 로만 되어 있어서 그렇습니다.근데 이상하죠. http라는 사용자를 만든 적이 없는데... 제 생각에는 아마도 브라우저에서 업로드하는 행동은 http 사용자로 이루어지는 것 같습니다. 그러니 http사용자의 권한을 바꿔주면 됩니다. 시놀로지의 파일스테이션에서 web에서 사용자 http를 선택한다음에 읽기, 쓰기를 체크합니다. 이 폴더, 하위 폴더 및 파일에 적용을 체크해줍니다. 그럼.......

(stm32f 공부) 애러 해결방법 [내부링크]

첫번째 애러 & 대처법이런 식으로 애러가 생길 때가 있습니다. 왜냐하면 이 프로그램에서는 프로젝트 이름의 띄어쓰기나 괄호( ) 같은 문자를 인식하지 않기 때문이죠. 해결방법 프로젝트의 이름을 바꾼다. 200314_UART(Polling) -> 200314_UART_Polling1으로 바꾸니 실행 되었습니다.

(C언어 공부) 열거형 enum 이론+ 실전 [내부링크]

결과실전에서는 switch문을 이용해서 사용한다.몇개의 변수를 가질 수 없게 만든 뒤에 switch문으로 선택한다. 결과시계 만들기 예제에 적용시킬 수 있도록 바꾸기결과

(C# 공부) opencV 사용하기 [내부링크]

준비물: 웹캠 + visual studio설치하기 그리고 F5를 눌러서 컴파일을 해야 합니다. 그리고그리고 도구상자에 드래그 해줍니다. 그럼 밑처럼 PictureBoxIpl이 생깁니다. 도구상자에 가면 이런게 생깁니다. PicutreBoxIpl 디자인timer로 디자인 꼭 넣으세요. 그리고 타이머에 인터벌을 300으로 넣으시고코드결과 카메라가 연결되었네요. 흑백으로 나오게 하고 싶으면위의것에서 timer1만 바꾸세요. 그럼이제 Canny 엣지를 쓰기 위해서 진행하겠어요.Canny엣지는 영상에서 form의 바탕을 클릭하면 formClosing 이펙트를 켜줘야 합니다. 결과이렇게 엣지만 표현할 수 있게 되었어요. hough 알고리즘을 이용.......

(zbrush 공부) zModeler 사용 법 [내부링크]

끝에서3번째 것을 선택해서 Extrude 사용 드래그 하면서 shift누르면 연결된다. babel 사용하기면추출결과 Inset기능선옵션에서 Crease 설정 디비전 올렸을 때 Crease한 곳만 각진다. 한번 클릭에 eade 둘러서 crease 넣기Insert 기능줄이 생깁니다. split 기능이렇게 보이는게 이상해 지죠. 원하는 모양이 되었네요. 이제 열린 것을 매우기 우해서 이렇게 가이드를 넣고이렇게 빈공간이 채워진다. 점 옵션점으로 선그리기하나의 폴리곤에서만 쓸 수 있다. .......

(NX12.0 공부) 1일차 2d 도형익히기 [내부링크]

구속되어 있어서 각도 바꿀 수 없다. 해결방법 구속을 지워야 한다. 참조선 만들기선 옵션에서 우클릭선이 점선으로 바뀌었고 나가게 되면 선 자체가 스냅 포인터들이다. 원호를 이용해서 원을 만들 수 있다. 트리밍 하면선대칭으로 반사시키려면 이렇게 한다.

(NX 12.0 공부) 3D 모델링하기 [내부링크]

일단 2차원대칭곡선한다. 회전한다. 폐곡선으로 만들 기 위해서 기둥의 밑가지 선을 이은다. 그리고 왼쪽 위에 있는 스케치 종료를 누른다. 그러면 모델링 모드가 시작된다.여기서 회전, 돌출을 하 ㄹ수 있게 된다. 시작하는 곳이 어디인지 설정 할 수도 있다. 타스크 스케치로 다시 들어가서 원래 있던 원을 그대로 쓸때 이렇게 한다. 화살표 처림 짙녹색이 내가 지금 선택된 스케치에 대한 것이라서 조종할 수 있고새파란색은 다른 스케치에 있는 거라서 컨트로이 안된다.돌출해본다.부울 없음으로 하면 1개가 아닌 2개의 솔리드로 나뉘어서 된다. 스케치에서 돌출 누른다음에(돌출된 솔.......

(NX 12.0 공부) 어벤져스!? 어쎔블! [내부링크]

핸들만 움직인다. 어셈블 1개를 고정시킨다. 어셈블할때 무조건 1개를 고정시키고 시작해야 한다. 안그러면 왔다갔다함축과 축을 어셈블한다. 대칭복사하기새로생성 눌러서 dusing01 만들기 하고 특징Bushing01을 더블 클릭한다.(이렇게 해야 잘못된 곳에 저장이 안된다.) 꼭 이렇게 할것바디 배율 조정하려면 작업 파트로 선택해야 한다. 아니면 윈도우에서 1개 파트만 열어서 봐야한다. 하나의 바디로 만들기 마스터파일을 하나 만들어야지 거기에서 어셈블리들을 모아서 쓸 수 있다. 그러니파일-새로만들기 한다.그런다음에 패턴-직선으로 부품검색 2D 3DMISUMI.......

(브로들과 맛집 탐험) 수원 맛집 진미통닭에서 치맥치맥^^ [내부링크]

오늘은 치킨 맛집을 가기 위해서 수원에 다녀왔어요ㅎㅎ수원 팔달문에 가서 맛있는 치킨도 먹구 팔달문과 산성을 볼수도 있으니 꿩먹고 알먹고 겠죠ㅎㅎ수원역 4번 출구 쪽 버스정류장에서 11번 13번 버스를 타고 6정거장을 가면 팔달문이 나옵니다ㅎㅎ팔달문... 조명에 비치기만 했는데 진짜 멋진 문이네요. 오오... 조선시대에 정조대왕이 얼마나 공들였었는지 알수 있을 것같아요. 오른쪽으로 돌아보면 팔달문시장이 보이고 치킨 거리가 나옵니다.버스 타고 가는 동안 너무너무 배가 고팠습니다ㅠ 괜히 맛집 블로그 검색했어ㅠ괜히 더 배고파졌어ㅠㅠ 5분 후 드디어 도착! 한 주간 도시락 만 먹은 나의 위를 위하.......

(Atmega128 공부 ) avr에서 printf쓰기(feat. 시리얼통신) [내부링크]

결과 결과설명putty를 켜보면 숫자가 1씩 올라갑니다.

(Atmega 공부) 온도센서 사용해서 시리얼 출력 [내부링크]

준비물 온도 센서 (LM35)Atmega128a결과이제 이것을 textLCD에 나타나도록 만들어 보아요.textLCD에 대해서 더 알고 싶다면http://blog.naver.com/hwidong0102/221811201679여기를 보세요. 코드결과

단돈 5만원으로 살아 돌아온 스마트폰 액정 이야기 [내부링크]

광고비xx 제돈 5만원 정직히 내고 올리는 리뷰 글입니다 ㅎㅎ이럴수가... 그동안 써오던 노트8 스마트폰 액정이 가셨습니다 ㅠ액정님 못난 주인을 만나 ㅠ 고생 많으셨습니다. 길가다가 와장창 ㅠㅠ그냥 쓰려해도 유리파편이 계속생겨서 어떻게든 해결해야ㅠㅠ그래서 액정 교체가격을 알아보니 삼성서비스센터에서는 20만원 중반 그리고 사설업체에 맞겨도 10만원 초반이더군요 가격이 후뎔뎔@게다가...다시 커버글라스 3만원짜리 사야하니 으이구ㅠㅠ그래서도 뭔가 해결책을 찾을거란 생각에 인터넷 정보를 헤엄치던 중 후훗 5만원에 저렴히 해결하는법을 알았어요 그래서 리뷰함뉘당다가액정 위에 uv본드.......

(C# 공부) class 이용 [내부링크]

MyClass로 클래스 이름을 넣고 코딩한다. 그리고 Form1에해당 코드맨 위에 추가해주고 밑에다가 출력 창을 켜고 클릭할때마다 10이 넣어진다. 콤보박스로 선택을 하고 클릭하면 메시지창에 뜨는 것에 가격이 뜨도록Prudoct 클래스 안에쓴다. 그리고 '빌드'해야 된다.멤버 표시와 값 멤버 선택한다. 해당 코드폼 자체를 눌렀을때 속성에서 Load가 뜬다. 결과이 창에서 글씨를 쓰면 데이터베이스를 추가해서 만들 수 있다.

(C# 공부) 계산기 만들기 [내부링크]

과제:계산기 레벨 1계산기 레벨2 한자리 수만 계산하기계산기 레벨3 여러자리 숫자 계산하기. 계산기 레벨 1 만들기 form디자인에서 레이블과 textbox, button을 조합해서 이렇게 디자인한다.+을 클릭하면 이벤트를 만들기 위해서 속성창에서 click을 누른다. 그리고 코딩.결과 레벨 2 만들기디자인으로 form을 만듭니다. 코딩 글 3개를 합쳐서 넣으세요.결과 Clear누를 시

( C#공부) 시계 업데이트창 만들기 [내부링크]

시간 업뎃하는 UI만들기도구상자로 디자인 한다. 시간 업데이트 버튼을 더블클릭하고결과시간 업데이트 버튼을 누리면이미지 버튼을 넣어서 시간 끄고 켜는 것을 이미지로 알기디자인하기picturBox의 속성크기 모드에서 strietchImage로 바꾸고 그림도 넣습니다. 경로로 찾아가서 gray를 엽니다. 코드결과

(C# 공부) pcl 가상으로 구현 [내부링크]

window창을 만들고 버튼 누르면 파일이 생기게 해보자. 디자인하기코드중간에 오류가 생기면 이렇게 using을 추가한다. 결과파일을 열어보면 기록되어 있을 것이다.같은 결과를 class를 활용해서 해보자.디자인은 위와 같다. 클래스 CFileWriter.cs를 만든다.코드Form1.cs에는CFileWriter.cs코드오류가 생기면 이렇게 만든다. static이 지역함수로 사용되면 '메모리에 항상 거주하도록'static이 전역변수로 사용되면 bussy상태일때 사용할 수 없도록 하는 것이고new를 사용하면 CFileWriter.cs파일 코드에서 public 앞에 static을 넣고바로 CFileWriter.SaveText를 쓸수 있다. 도표.......

(C# 공부) DataGridView데이터 삽입하기 [내부링크]

https://www.titorus.com/?p=537데이터 그리드 설정디자인코드결과(실행하면)이제 버튼에 기능 추가해보자. 결과버튼 누를 때마다 추가된다. 특정 셀 검색 방법참고: http://www.hoons.net/Board/qacshap/Content/77565버튼을 하나 더 만들고 디자인그 버튼 더블클릭해서 결과직업을 '어린이'라고 하고 button2누르면 텍스트창이 뜬다. 학생은 그리드에 없으므로 '없다'창이 뜬다. 이때까지 배운 거 가지고 과제하기이렇게 만들기.(아나... 이게 뭐여...)밑의 csv파일을 가지고 datagridView에 넣는다. 열면 엑셀이 뜬다 하지만 comma로 구분해서 저장된 것으로text프로그램으로 열면.......

(유용 저장소)통계청 자료 가져 오는 방법 [내부링크]

http://kostat.go.kr/portal/korea/index.action그리고요원하는 자료를 검색합니다. 예를 들어 교통사고률, 자살률 등등클릭하면원하는 다운로드 형을 선택할 수 있습니다. 이렇게 하면 원하는 데이터형을 받을 수 있어요. C#에서 원하는 UI를 창을 만들때 CSV를 이용하면 유용하답니다. 메모장으로 열면이렇게 나오구요. C#을 통해서 이렇게 만들 수도 있어요. 좋은 하루 되세요 ^^

(C# 공부~) 아두이노 연결하기 + led 켜고 끄기 [내부링크]

아두이노와 시리얼 포트로 연결 해 보아요.먼저 아두이노를 열어서하고 업로드 합니다. 디자인도구상자에서 시리얼포트 검색하고 디자인에 집어 넣어요. 시리얼 속성 옵션 맞추기장치관리자 가셔서 어떤 포트를 쓰시는지 확인하셔야 합니다. 저는 com5네요 ㅎㅎbaurate는 아까 아두이노에서 9600했으니까 여기에서도 9600으로 맞춰줘야 해요. 이제 버튼 이벤트를 만들어 보아요. serialPort1을 클릭하고 이벤트 창을 열면 이런게 떠요. 데이터를 받았을때 이펙트.결과대략적 원리이제텍스트박스에 올려보자. 디자인에 textbox를 올리구요아두이노의 LED를 켜고 끄기아두이노 켜시구 그리고 Fo.......

(C# 공부) 쓰레드 이용하기 [내부링크]

쓰레드란?하나의 프로그램은 하나의 프로세스를 가진다.메인 쓰레드가 프로세스다.다운로드도 받으면서 브라우저로 검색 할 수 있는 것은 다운로드받는 쓰레드가 1개 작동되면서 메인쓰레드에 접근해서 GPI를 계속 그리고 있고인터넷 검색하는 쓰레드가 1개 차례차례메인쓰레드에 접근해서 작동되고 있는 것이다.이렇게 초고속으로 쓰레드가 번갈아가면서 메인에 접하고 있는데, 우리는 동시에 작동하는 것처럼 보이는 것이다. 그래서 코어 수가 높을 수록 디자인여기에serialPort를 도구박스에서 가져옵니다. 아두이노쪽 코드C# form코드CSerialControl.cs 코드결과

(C# 공부 ) 리스트로 학생이름 나이 추가하기 [내부링크]

form디자인입력하기 버튼 name은 button2 입니다.ㅎㅎ더블클릭하세요 form.cs 코드CStudent.cs 코드결과

(대림동 맛집 2탄/ 훠궈 샤브샤브) bro들과 함께 홍중샤브샤브집에서 냠냠냠 [내부링크]

저번 주 훠궈를 처음 영접해서 일까요? 쉽게 잊혀지지 않더군요훠궈가 생각 많이 나더군요. 진짜 너무 맛있었답니다 훠궈의 매력을 이제서라도 알아서 참 다행! ㅋㅋ이번에도 훠궈의 맛을 진하게 느끼기 위해서 향한 곳은 대. 림. 동 !이제 중국말로 북적거리는게 적응되었네요대림동 더 깊숙한 곳을 찾다보니 손님이 미어터지는 곳을 발견! 알아보니 대림동에서 꽤 오래된 훠궈집이고 네이버 맛집 평점도 높더라구욯ㅎㅎ그래서 바로 들어 갔습니다가게 이름은 맵다는 뜻의 "홍"가 들어간 홍중샤브샤브.한국어로는 "매운집" 무한 리필집이구.가격은 1인당 1만 5천원 이었습니다.저번과 같네여 여기 동.......

(openCV 순한 맛) 직선 검출하기 (미완성) [내부링크]

코드결과선을 잘 인식하기 위해서는이진화같은 간단화하는 작업이 필요하고영상의 화소도 중요해요. 영상 화소가 높을 수록 잡음이 적어요. 원 검출하기코드결과minDist값을 20이 아닌 5로 해놓았을때 해리스 코너 검출기엥 ? 또 해리스가 만들었네요... 해리스.... 천재인가?코드결과

(C언어 푸딩같은 맛집) typedef 로 편하게 코딩하기^^ [내부링크]

준비물: 비쥬얼 스튜디오, 손가락, 눈까락 (?)준비 끝!주의: "파일이름.c" 로 소스파일을 만들어야 합니다. 코드왜 typedef를 쓸까요?바로 우리가 원하는 자료형을 잘 쓰기위해서예요.예를 들어서int같은 짧은 자료형 이름이 있는가 하면 반대로const unsigned int 같이 긴 이름의 자료형이 있습니다. 이렇게 긴것을 칠때마다 쓴다면 손가락 아프죠? 눈까락도 아플거예요...그래서 편리하게 컴퓨터야. 내가 Cuin라고 치면 너는 const unsigned int라고 받아 들여!이렇게 컴퓨터와 약속 한것이 typedef의 핵심이예요그럼 앞에 typedef const unsigned int Cuin; 쓰면 되요.그럼 푸딩같이 쉬운 예제부타들어갈게요.......

(C언어 푸딩같은 맛집) struct 뜯고 씹고 맛보고 즐기고^^ [내부링크]

준비물: 비쥬얼 스튜디오, 손가락, 눈까락 (?)준비 끝!주의: "파일이름.c" 로 소스파일을 만들어야 합니다. 저번에 배웠던 typedef를 복습 겸 이용해서 struct를 만들어봐요코드결과 메모리상에서 표현은이제 사용해보겠어요.코드결과정말 푸딩같은 설명이었다고 만족스럽습니다. 읽어 주셔서 감사합니다.

(openCV 순한 맛집) 영상분류, 머신러닝 (영역 구분, 필기 숫자 인식) [내부링크]

영상 분류이번에는 이때까지 배운 opencv를 이용해서 머신에게 영상을 가르쳐보아요. 먼저 영상 영역 나누기머신 러닝이란 무엇일까요? 주어진 영상들을 분석하고 규칙성과 패턴을 찾고 이를 이용하여 의미있는 데이터로 추출하는 과정입니다.Knn을 이용해서 숫자 인식 결과숫자 인식하기 결과 만약 실행이 안되거나 설명이 필요하시면 언제든 댓글로 알려주세요.ㅎㅎ 저도 함께 고민해서 댓글로 답할게요. 더욱 순한 맛과 깊은 맛이 나도록 노력하겠습니다.

(openCV 순한 맛집) 영상에서 원하는 영상 검출하기.(객체 검출) [내부링크]

객체 검출하기이번에는 이때까지 배운 opencv를 이용해서 머신에게 내가 원하는 객체를 찾아보라고 해보아요. 사진 설명을 입력하세요.코드 입력영상찾을 대상결과 노멀라이즈 했으니까 유사도 높으면 1이고, 낮으면 -1입니다. 거의 1에 가깝게 나왔으니 엄청 비슷한 거죠ㅎㅎ여기에서 특이한 점이 있는데요. 검색가능했던 result의 값은 크기가 입력보다 작습니다. 왜그럴까용?찾을 대상 영상의 시작 화소가 밑의 노란색 우측하단점이기 때문입니다. 이번에는 모드를 바꿔서 해보죠 ㅎㅎTM_SQDIFF모드 입니다. 아까 설명했듯이 완벽히 일치하면 0 아니면 양수가 나옵니다. 따라서 min값을 반환해야 하기 때문에 MA.......

(C++ 공부 ) 객체 생성과 소멸 , 정적맴버 [내부링크]

결과정적 맴버변수는 무엇일까?-클래스에 속하지만 객체 별로 할당되지 않고 공통된 메모리 영역을 가지는 멤버변수다.-해당 클래스의 모든 객체가 하나의 데이터를 공유할 수 있다는 장점이 있다. 일단 정적맴버함수를 사용하지 않고 일반 함수로 써보자. 결과그럼 이제 함수를 class로 넣어서 맴버함수화 시켜보자. 그러면 이점이 있다. 결과이점은 무엇이 있을까? 맴버함수로 ㅇ왔기 때문에 private에 접근 할 수가 있다. 그래서 GetR()함수 안쓰고 바로 private의 맴버 변수를 쓴다. 이렇게 말이다. return Color((a.r + b.r) / 2, (a.g + b.g / 2), (a.b + b.b / 2));결과

(C++ 자습) 클래스 부모, 자식 상속 공부 [내부링크]

(C++ 자습) 클래스 부모, 자식 상속 공부결과

(C# 공부) windows forms 기초 [내부링크]

코드를 통해서 변경하기버튼을 클릭하고 속성에서 name을 바꾼다. 코드에서 요소의 속성을 지정할 수 있다. 결과결과에서 보듯이 원래 '코드에서'였는데, '코드에서 변경!'으로 변경되었다.버튼 5개 만들기1결결과버튼 5개 만들기2 (작동안됨)결과(작동 안됨)'코드에서' 누르면 버튼이 하나씩 생긴다. timer이벤트 추가 하기도구상자에서 text박스를 드래그해서 만들고(흰색바탕 사각형) timer도 드래그해서 만든 뒤에 속성에서 1초 뒤에 +가 추가되도록 interval에 1000넣는다. 결과+가 1초마다 하나씩 추가된다. Timer 이벤트 끄고 켜기결과timer off 누.......

(openCV 약매 맛) 침식연산 과제 [내부링크]

문제1코드결과왼쪽이 3x3 구성요소이고, 오른쪽은 5x5 구성요소 입니다. 5X5가 좀 더 검은색 점이 큰것을 보면 미세하지만 더 많이 깍인 것 같습니다.문제2코드결과문제3아직 미완성 내것화 안함 결과

(Atmega128 순한 맛집) USART통신로 atmega128 조종하기. [내부링크]

준비물UART 통신이란?코드 설명일반 C를 공부했다면 포인터에 대한 개념이죠. 문자형 변수의 주소를 가리키는 pStr을 선언해요.문자열을 전송할 때는 순차전송이기 때문에 이렇게 포인터 이용하는 것이 건강에 이롭겠죠.레지스터 설정UCSR0A는 USART0 제어와 상태에 관련된 레지스터TXEN0이 켜져 있으니 송신이 가능한 상태가 되죠.비트를 길이를 선택하는 레지스터예요 밑을 확인하시면 8비트로 한 것을 알 수 있네요. 여기에서는 비트6번째 자리를 0으로 했으니까 비동기모드를 사용합니다. 이 설정을 통해서 8비트 사용하는 것이구요. 그리고 우리가 지금 비동기모드를 쓰고 있으니까 비트0자리는 사용하지 않습니다. 결.......

(ATmega128 순한 맛집) Atmega128로 서보모터 돌리기. [내부링크]

준비물코드 설명 각도를 만들 때 필요한 값입니다. 나중에 계산 할때 알려드릴게요 ㅎㅎWGM11은 Waveform Generation Mode라는 것인데요. 파형을 1110으로 했으니 우리는 14번 모드인 fast pwm에서 입력캡처값을 top으로 사용하는 것을 사용 할거예요. pwm의 주파수를 얻기 위한 top계산은 밑을 따릅니다. 그리고 서보 모터를 돌리려면 0도일 때는 듀티비 5%,90도 일때는 듀티비 7.5%,180도 일때는 듀티비 10%이니까 계산을 해보면 결과결과 설명 0도-> 90도 ->180도 -> 0도 이렇게 반복해서 움직이는 것을 보실 수 있네요 ㅎㅎ

(ATmega128) 오류 목록과 해결했던 경험 기록장 [내부링크]

참고 사항으로만 쓰세요 ㅎㅎ개인적으로 오류 날때마다 어떻게 해결했는지를 적는 공간입니다. 오류1: recipe for target 'main.o' failed88번째 줄에서 무슨 오류가 있다고 뜬다. 해결선언하지 않았던 변수가 있었다. 이걸 지우니 잘 실행됨

(OpenCV 맛집)영상 이진화, 필터링(블러링) [내부링크]

준비물.png 파일이나 .jpg 파일이 소스코드에 표시되어 있는 폴더에 있어야 합니다. 오늘 할일이미지에 대해서 마스크 들을 바꿔가면서 적용해보기. 쓰레 홀드 49로 하면 이렇게 배경과 내가 원하는 물체를 나눌 수 있다. 와우... 신기하다. 이렇게 내가 원하는 내용과 배경을 나누어서 사용할 수 있게 하는 것이다. 그래도 아직 배경에는 쓸데 없는 정보가 남아 있네. 만약 "otsu 알고리즘"을 쓰면 결과오쯔아저씨가 96으로 자동으로 해주셨네요 ㄳ하지만 임계값이 하나이다 보니, 이렇게 검은색으로 안보이는 값도 나오게 된다. 뭔가 방법이 없을까? 다음은 "적응 이진화"를 써보겠어요. 하나의 임계값으.......

(OpenCV 맛집) sobel 필터와 prewitt 필터, canny 에지 3가지 검출기 결과 비교 + 엠보싱 효과 [내부링크]

sobel 마스크 중심화소의 차분을 증폭시킨 마스크입니다. x성분과 y성분 그리고 대각선 성분의 윤곽선도 잘 검출하는 특징이 있습니다. 코드sobel 1차 미분은 축에 따라서 다른 메트릭스가 들어갑니다. 참고로 옵션은//CV_8UC1 : 8 - bit unsigned integer : uchar(0..255)//CV_8SC1: 8 - bit signed integer : schar(-128..127)//CV_16UC1 : 16 - bit unsigned integer : ushort(0..65535)//CV_16SC1 : 16 - bit signed integer : short(-32768..32767)//CV_32SC1 : 32 - bit signed integer : int(-2147483648..2147483647)//CV_32FC1 : 32 - bit floating - point number : float(-FLT_MAX..FLT_MAX, INF, NAN)//CV_64FC1 : 64 - bit fl.......

(openCV 맛집) 사진 두개를 합치기 (아직 미 완성) [내부링크]

합성하기에 앞서서 먼저 서로 크기가 다른 사진을 합치려면 imageROI에 대해서알아야 합니다. 결과:이효리님이 있는 배경의 크기는 열 573, 행 850 이네요. 그리고 산길댁이라는 로고를 열 350, 행 500에 놓은 모습입니다. 이렇게 해야 원하는 자리에 로고를 넣을 수가 있습니다. 그러다가 계속 크기에 대한 오류가 생겼습니다. 그러다 발견한 원인은 배경이 될 메시사진이 로고사진보다 더 작다는 것이었어요. 그러면 로고사진을 작게 해야 겠네요...resize() 함수를 써서 openCV로고 파일을 작게 해주어야 겠어요. 다시 resize()함수에 대해서 배워봅시다. 코드로 크기를 바꿔주었습니다. 결과결과에서 보듯이 로고가 256, 256.......

(openCV 순한 맛집) 모폴로지로 침식,팽창, 열기, 닫기, 레이블링 [내부링크]

원본결과이진화 된 것에서침식과 팽창을 이용해서 글자 주변의 잡음을 없애기결과원본에 비해서 오프닝에서 아주 깔끔하게 때가 벗겨졌네요.속이 다 시원 합니다. ㅎㅎ형태학적 그라디언트 이용해서 객체의 윤곽선 구하기결과세선화(뼈만 추리겠다.)결과모폴로지 응용해서자동차 번호판위치 후보들을 인식하기.결과레이블링결과

(openCV 약매맛) 과제: 영상에 로고 넣기. [내부링크]

결과: 동영상 속에서 openCV로고 위치가 바뀌면서 표시됨.

(openCV 맛집) 어파인으로 영상 편집 [내부링크]

영상 크기 변경이런 방식으로 가운데에 화소를 비게 만들어서 크게 만듭니다. 결과오 2배 된 것은 좋은데... 가운데 화소가 비게 되어 아쉽네요 채우는 방법이 없을까용?일단 채우기 전에 영상 위치 이동시키기를 하고 가겠습니다. 결과위치가 행,열 30씩 옮겨졌습니다. 역방향 사상: 2배 늘리면서 색 채우기이런 방식으로 바꾸는 것입니다. 결과하지만 자세히 확대해서 보면 이렇게 깨져서 보입니다. 이렇게 네모네모 안나오게 하는 방법이 없을까요? 보간법 영상 코드 알기직사각형 영상을 평행사변형으로 평행이동시키기 (어파인)결과어파인으로 회전시키기코드결과어파인이용해서 평행이동 하기(가끔 에러생김)다른 것들.......

(OpenCV 순한 맛집) 마우스와 키보드 이벤트를 이용해서 그리기. [내부링크]

코드결과마우스로 누른 것 1번, 2번,3번,4번키보드 c누르면 그렸던 것들 초기화됨키보드 q누르거나 esc누르면 창 꺼짐.

(Atmega128 순한 맛집) 타이머카운터1/3 이용 LED 점멸 [내부링크]

AVR 공부에 대해서 참 고민이 많았습니다. 블로깅하는 것에 어떤 깊이로 써야 하는가... 그래서 일단 제가 이해하는 수준에서만 올리려고 했었습니다만 그렇게 하면 공유하는 의미가 없어지기에 비록 만드는데 시간이 오래 걸리겠지만 교본을 보여주면서 제대로 설명해야 공유하는 의미가 있고 저도 공부가 제대로 되겠다는 생각이 들었습니다. 그래서 다시 포맷을 짜서 올리게되었습니다. . 그래서 조금 길어지더라도 읽어 주시면 감사하겠습니다. 그림을 친절히(?) 설명한 펜글씨를 첨부해서 이해를 돕겠습니다. 많이 부족하더라도 잘 봐주셨으면 좋겠습니다. 준비물문제를 풀어보겠습니다. 코드 전략 타이머카운트3쓰기 핀.......

(Atmega128 순한 맛집) 타이머카운터0 이용해서 LED 켜기 [내부링크]

준비물atmega128문제를 풀어 보아요.오버플로우 인터럽트를 사용하고 타이머/카운터 0을 사용해서 0.5초 간격으로 PB0핀에 연결된 led를 점멸시켜보아요.코드설명오버플로가 발생한 횟수를 저장하기 위해서 count을 선언합니다.state는 led 점멸 상태를 뜻합니다. 타이머카운터0을 오버플로우 모드로 사용하겠다는 표시입니다.오버플로가 32회 발생하면 0.5초가 경과하죠. 그러면 카운트가 다시 0으로초기화 되고, led는 상태가 반전됩니다. 그것을 출력해줍니다. 제가 봐도 난해해요 ㅎㅎ 그러니 더욱 자세히 풀어 써볼게요. 잘 따라오세요. (뒤에서도 나오지만 우리 ATmega128은 16MHz 클럭이 고정되어 있구요. 분주비는 1024로 설정해.......

(Atmega128 순한 맛집) 오버플로우 사용해서 LED 끔뻒꿈뻒 [내부링크]

대단하십니다. 여러분 우리는 단순한 LED를 껌벅거리는 것이 아닙니다. 타이머카운터를 사용하는 것입니다. 조금만 더 참고 이어 나갑시다. ^^화이팅!오버 플로우를 사용한 예제코드코드 설명타이머카운터0을 비교모드로 사용하겠다는 선언과 같습니다. 우리가 설정한 것에 따라서 주기적인 시간이 생기고 그 때마다 오버플로우가 생길하여 이쪽 함수로 옵니다.ㅎㅎ그래서 이 안으로 오게 되면 count는 하나씩 커지게 되구요. TCNT0값은 점점 숫자가 올라가는 것인데요, 우리가 비교해야 할 숫자를 OCR0을 128로 해놓았으니까 TCNT0값이 128이 되면 다시 0으로 초기화시켜줘야 겠죠. 그래야 다시 0부터~ 128까지 갔다가 TCNT0 과 OCR0이 같아.......

(Atmega128 순한 맛집) 타이머카운터0 파형 출력 출렁츌렁~ [내부링크]

이제 우리는 지정된 핀을 통해서 신호를 출력할 거에요.파형이 나오는 핀은 따로 있답니다. 혹시 혼자 하실때 고생하지 않도록 적어 놓았어요. 코드를 설명하기 앞서 먼저 결과를 보여드릴게요 결과(이거 사진 아닙니다. 동영상인 gif파일 이랍니다. )오오 신기하죠. LED를 켜라는 명령을 내린 적도 없는데 이렇게 켜져 있잖아요 ㅎㅎ왜 그럴까요? 바로 ' 파형 생성기 ' 때문이랍니다. 비교 일치 인터럽트가 발생 할때마다 OC0 핀의 출력을 반적시킴으로써 LED를 점멸시키는 겁니다. 보시죠. 오실로스코프에 이렇게 파형이 생기죠. 지금은 너무 너무 짧은 시간으로 깜박거리고 있어서 계속 켜진 것처럼 보이죠. 더 긴 시간으.......

(Atmega128 순한 맛집) 16비트 타이머카운터 LED가 껌뻑껌뻒! [내부링크]

Atmega128 16비트와 8비트가 다른 점은 분주비가 다르다는 것과 또 전체 펄스 갯수가 256개인 8비트에 비해서 16비트는 65535개 랍니다. 이 계산을 통해서 우리가 최대로 늘릴 수 있는 오버플로우 1개당 시간은 4초까지 될 수 있답니다. 8비트할대는 1024분주로 하여도 최대 0.016초였는데 말이죠. 여기에서 약 1초로 맞추려면 이렇게 사용하면 되요 ^^ 계산을 해보니 참 편하쥬 ㅎㅎ이제 이용해서 1초 간격으로 led를 점멸해볼게요. 코드설명하기 위해서 밑의 표를 봐주세용 우리는 CS12를 켰으니 100이 된 셈이죠 그럼 256분주를 켠거예요. 그럼 어찌되겠나요?그래요 이 식에 의해서 1초마다 깜빡거리겠죠 결과 입니다. (Alr.......

(Atmega128 순한 맛집) delay를 이용해서 PWM제어 [내부링크]

여러분 그 동안 보시느라 고생 많으셨어요ㅎㅎ이제 드디어 우리가 해왔던 노력의 결실을 이룰 차례입니다. 드디어 이제 PWM을 다룰 능력이 되셨고, 이걸 이용해서 모터를 다루실 수 있을 거예요.제가 비록 부족하지만 꼼꼼히 하려고 노력할게요 그러니 잘 붙들고 따라오세요 ㅎㅎㅑㅓPWM이 무엇일까요?PWM은 Pulse Width Modulation의 약자로 펄스 폭 변조 뜻을 가지구요. HIGH와 LOW인 부분의 비율을 조절하여 아날로그 신호와 유사한 효과를 얻을 수 있는 아주 유용하고 유용한 디지털 신호의 일종이어요 ㅎㅎ이걸 가지고 다시 LED 밝기를 조절해보고 더 나아가서 모터를 조절해 봅시다. ㅎㅎ그래요 해낼 수 있어요!!이제 밑을 보시.......

(Atmega128 순한 맛집) PWM을 이용한 LED 밝기 제어 [내부링크]

준비물 atmega128 보드, 브레드보드, led 1개, 470옴 저항, 수수선 준비물 겸 회로도 PB4에연결시키세용코드 설명dim 듀티비를 넣을 값이예요direction은 만약 밝기가 증가하는 방향이면 1을 넣고 밝기가 어두워지는 방향이라면 -1입니다. pwm파형을 출력 할 수있는 핀이 PB4입니다. 다른 말로 OC0핀이죠. 이렇게 기능을 쓰려면을 해주어야 해요 ㅎㅎ 그리고 이것을 비반전모드라고 하죠. 쉽게 말하면 TCNT0값이 OCR0값과 비교해서 일치하면 LOW가 되는 거예요. 밑의 PPT를 봐주세요 고속 PWM모드로 해주기 위해서 이렇게 한거예요 ㅎㅎ결과 좋아요. 댓글은 큰 힘이 된답니다. ㅎㅎ

(C++입문) 기본 코드의 기능과 오버로딩 공부와 연습문제3개 [내부링크]

c언어에서는 안쓰는 몇가지가 추가되었다. using namespace std가 무엇이란 말인가?그래서 그것을 안쓰고 실행하면 cout과 endl등을 쓸 수 없는 함수라고 나온다. 아하 그렇군.. 그럼 cout과 endl을 쓰기위해서는 using namespace std를 써줘야 하는 것이라는 것을 알게 되었다. 출력화면c++을 제대로 하기 전에 \몸풀기 문제: 짝수와 홀수를 나눠서 더해보자. 출력화면값에 의한 호출 출력화면안바뀐다.참조에 의한 호출로 하면 출력화면바뀐다. 주소에 의한 호출 출력화면바뀌었네요. 사용자 정의함수에서 디폴트 값을 넣을 수도 있다. 출력화면사용자정의함수 이름이 같은데 선언된 함수의 형태에 따라서 다.......

C++공부 클래스 + 생성자 +소멸자 에 대하여 [내부링크]

클래스를 왜 쓰는 걸까? 클래스를 잘써야 객체지향 프로그래밍을 할 수 있다. 아.. 근데 또 객체지향이란 무엇인가? 쉽게 설명하기 위해서 비교되는 절차지향 프로그래밍과 비교해보자. 세상을 표현할때 한번에 전체를 한번에 쭈욱 표현하는 절차지향 프로그래밍이라한다. 그리고 세상을 표현할 때 각 파트별로 나누어서 표현하는 것이 객체지향 프로그래밍이라고 한다. 그리고 캡슐화와 상속화 그리고 다형성이라는 3가지 특징을 가지고 있다고 한다. 파면 팔 수록 더 난해해진다. 이럴땐 더 깊이 파려하지 말고 프로그램을 하면서 차차 이해하는 게 좋을 것 같다. 일단 객체 생성과 사용을 배워보자.코드 설명 이렇게 객체를 생성하는 부분.......

C++공부 기록장 포인터 [내부링크]

처음에 클래스를 공부하다가 자료형에 *라든지 &가 붙는 ... 그런 것들을 볼 때마다 무엇인지 몰라서 겁이나고 C언어 자체가 어렵게 느껴졌다. (이게 다 심화과정으로 왔기 때문에... 앞의 것을 못해서 이다.) 그래서!!이번에 제대로 정리해 보기로 했다. 포인터란 무엇일까? 우리 주변에서도 포인터의 개념을 비유할 수 있는 곳이 많은 것 같다.예를 들어보자면 편지를 보내기 위해서 상대편 주소를 편지봉투에 쓴다. 이 문장 안에서도 포인터의 개념이 숨어 있다. 그렇다. 상대편의 주소를 쓴 이유는 그 주소 쪽으로 보내달라는 소리다. 이것이 포인터의 정체다. 즉, 포인터는 가리키는 곳의 주소를 가리키는 것인데, 그럼 주소.......

(라즈베리파이 순한 맛집) PWM이용해서 LED 밝기 서서히 조절 [내부링크]

LED밝기를 서서히 줄이기이번에는 LED를 켜거나 끄는 것이 아니라 LED의 밝기를 조절해보아요. ^^LED 밝기를 조절하려면 PWM(Pulse Width Modulation, 펄스 폭 변조) 신호를 이용해야 하죠.PWM이란 펄 스 폭 변조라고 하는데, 일정 간격으로 신호의 하이 레벨과 로우 레벨의 폭을 전환해서 원래 디지털 신호에서라면 표현 할 수 없는 하이레벨과 로우 레벨의 중간 값을 유사하게 표현하는 신호방식이예요.LED를 하이 레벨로 켜는 회로라면 하이 레벨의 시간이 짧을수록 led가 어둡게 켜지고 길수록 밝게 켜지게 되요. 이 때 비율을 듀티비(duty ratio)라고 해요.코드코드 설명 기본형은 wiringPi(int pin, int value); 이구요. 이 함수는.......

(라즈베리파이 순한 맛집) 풀업,풀다운 저항 예제 [내부링크]

풀업 저항 & 풀 다운 저항풀업 저항, 풀다운 저항이 필요한 이유:스위치가 연결되지 않은 상태에서 전류가 흐르는 지 않흐르는 지 알 수 없는 상태가 된 것이 플로팅 현상이예요. 이러한 플로팅 현상이 생기는 이유는 디지털핀을 입력상태로 설명하면 5V값은 HIGH이고 0V 값은 LOW로 인식해요. 그런데 핀자체의 칩에서는 0인지 5인지 1인지 인식 할 수가 없기 때문에 이것저것도 아닌 플로팅 현상이 생기게 되죠.즉 입력 단자 주위의 정전기나 잡음등에 의해서 오류가 생기는 것입니다. 이를 방지하기 위해서 사용해요. 풀업 저항 저항을 스위치 앞에 붙여주어서 플로팅 현상을 해결하는 방법이 풀업저항이예요.뗀 상태에서 입력 핀으로 전.......

(라즈베리파이 순한 맛집) pwmSetRange함수를 이용한 LED [내부링크]

pwmSetRange함수를 이용한 LED 제어준비물코드코드 설명 보통은 pinMode에서 LED를 켜고 끄기만 하는 것은balanced모드라고 해요. 그리고 이번에 우리는 LED를 끄고 켜는 것으로만 쓰는 게 아니라 서서히 켜지고 서서히 꺼지도록 사용하겠다는 말입니다. inMode(int pin, int mode) 이 기본형이고, PWM_OUTPUT을 쓰겠다는 것입니다.( PWM 출력은 wiringPi핀 1,23,24,26번만 가능합니다. 기본형은 pwmSetClock(PWM클럭)이고 라즈베리파이는 19.2MHz의 클럭주파수를 가진다고 하네요. 그리고 이 명령어를 통해서 PWM클럭을 넣어주면 주기를 구할 수가 있어요. int형 숫자를 받아서 19가 들어가 있구요기본형은 pwmSetRange(분해능)이.......

(라즈베리파이 순한 맛집) 서보 모터 제어 실습1 [내부링크]

준비물서보 모터란 무엇일까요?영어로는 Servo이죠 어감 상 뭔가를 따른다는 뜻처럼 보이죠.맞습니다. 우리가 특정한 값을 입력하면 그 값을 따라서 구동하는 모터입니다. 이 모터는 제어구동보드를 포함하고 있는 장치입니다. 그래서 모터 + 제어가 되는 전자 장치이죠주로 로봇관절 같은 곳에 쓰입니다. 제어 하기 전에 약간 지식이 필요한데, 어려운 것은 아니구요. 간단히 3가지만 기억하면 됩니다. 움직이는 각도는 듀티비에 따라서 움직인다.듀티비는 3가지다.0도 일 때는 듀티비 3%, 90도 일 때는 듀티비 7.5%, 180도 일때는 듀티비 12%PWM 출력 할 수 있는 핀은 4개 밖에없습니다. GPIO 12,13,18, 19번 이렇게 4개만 됩니다.......

(라즈베리파이 순한 맛집) 서보모터 실습2(터미널로 조종) [내부링크]

안녕하세요. 저번에 했던 내용에 이어서 진행하겠습니다. 준비물은 동일합니다. softpwm 함수를 쓰기위해서 해더함수로 불러보아요. 서보모텉를 1번으로 맞추었어요. 이번에는 BCM이 아니라 wiringPi핀 모드예요. 주의하세용즉 GPIO 18번과 같은 거예요. 이 함수에 대해서 설명하자면 기본형은 int softPwmCreat(int pin, in initialValue, int pwmRange); 이구요 소프트웨어 제어 pwm핀을 생성하는 것 이랍니다. 여기에서는 1번 핀을 사용하였고, 초기값으로 0이니 초기값은 low레벨이고 pwmRange는 주기를 말하는데 0.1ms를 의미하구요. 우리는 20ms주기 pwm신호를 만들어야 하니까 200을 지정하시면 됩니다. 1번 핀으로 초기 레.......

(대림동 맛집/ 샤브샤브) bro들과 함께 해성샤브샤브집에서 냠냠냠 [내부링크]

오늘은 연말이기도 해서 저의 bro들과 함께서울 대림동에 있는 훠궈 샤브샤브를 먹기 위해서 왔어요.대림역 입구부터 북적북적ㅎㅎ 훠궈에 한약재료들도 들어있다고 하니 몸에도 좋고 또 제가 샤브샤브를 좋아하거든용 ㅎㅎ해성 샤브샤브에 들어와서 2층에 가니 이런 분위기였어요.벽지는 이렇게 중국풍이구요.서왕별희에서 볼만한 가면들이 많았어요. 이 중 연개소문 가면도 어디있겠죵ㅋㅋ식탁이 다닥다닥 붙은거보면 중국식이 아니라 한국식같기도ㅎㅎ수저도 한국식이네요. 아마 한국에 맞춘게 아닐까 생각이 드내요과연 맛은 어떨지?어허! 음과 양의 조화로다 ~이런 국그릇은 처음 봐요ㅎㅎ이것도 중국 스타일~?그러다가.......

서울시 주최 성균관대 3d프린터 캠프 [내부링크]

어렸을 적부터 레고를 좋아해서 그런지 3d 프린터 모델링을 할때 비슷한 기분이 들어서 한번 빠지면. 작품을 만들어 낼때까지 계속 앉아 있었고 처음에는 힘들어 하지만 가면 갈수록 재미를 느껴 가고 있었다.그 동안 fusion360에서 주최했던 곳에서랜더링까지 마치고그러다가 서울시 캠퍼스사업단에서 스폰하고 성균관대가 사업하는 3d 프린터 캠프 2박3일에 지원하게 되었고 자소서를 길게 써서 그런지 운이 좋게도 기회가 생겼다.나는 정말 증말 운이 좋다..성균관대학교 앞에 있는 정말 거대한 은행나무.하지만 시간이 너무 바빠서 자세히는 못보고 빨리 걸음을 옮겨야 했다.드디어 캠프 갈 사람들이 모여 있는 곳에 도달버스에 타기 전.......

임베디드 시스템 배우기. 2주차 첫번째 과제 끝!! [내부링크]

한국 폴리텍 융합기술교육원의 '임베디드 시스템 과정'얼마 전에 네이버 블로그에서 경영학과였던 학생이 이 곳에서 10개월 수강하고, 균형잡는 로봇을 만드는 것을 본일이 있다. 오랫동안 임베디드를 꼭 배우고 싶다고 생각했던 나에게 큰 용기를 주었고,나도 해보고 싶어졌다. 그래서 이렇게~ 남들이 원하는 편한 길을 마다하고 다시 도전을 시작했다. 이 곳에서 지난 2주가 어떻게 지나갔는지 모를 정도로,시간이 빨리갔다. 남들보다 2개월 늦은 심화과정으로 왔는데, 실력이 모잘라서, 시간을 더 들였고, 질문도 더 했다. 그렇게 조금 조금씩 성장!남들보다 2개월 늦게 시작해서인지, 따라가는 것이 쉽지만은 않다. (내.......

(라즈베리파이 순한 맛집) push버튼 이용해서 LED제어 [내부링크]

PUSH버튼을 사용한 LED 점멸 제어준비물푸쉬 수위치란?단추 모양의 버튼으로 스위치를 동작시키는 역할을 하며 하단의 4개 단자는 회로와 스위치를 연결하는 다리 역할을 해요.단추 모양의 버튼으로 스위치를 동작시키는 역할을 하며 하단의 4개 단자는 회로와 스위치를 연결하는 다리 역할을 합니다. 단자 연결은 대각선 방향이 한쌍으로 연결되어 있습니다. 전자기호: 푸쉬버튼은 2가지 종류로 나뉘어집니다. 하나는 버튼을 누르는 동안 전류를 흘려주는 A tpye과 B type이 있습니다. A type을 쉽게 말하면 눌렀을 때 도선이 연결되는 것이고,B type은 눌렀을 때 도선이 끊어지는 역할을 해요. 이제 회로를 구성해 볼게요코드 코드 설.......

(매우 순한 맛)라즈베리 파이에서 LED 밝기 제어 [내부링크]

어제부터 마주친 라즈베리파이… 생각보다 쉽진 않았습니다. 하지만 차근차근 하다보면 나아지겠죠? 먼저 LED를 켜는 예제부터 시작을 하겠습니다. wiringPi에 관련된 함수는 여러가지가 있는데요. 보시다보면 아두이노와 비슷한 면이 많습니다. 그래서 아두이노를 먼저 하고 오신분들은 익숙하실 거예요. 함수들은 차근차근 말씀드릴게요. <입문단계>wiringPi로 LED 반짝이게 하기. 준비물코드함수 설명#include <wiringPi.h> wiringPi에 대한 함수들을 쓰기 위해서 필요한 것입니다. wiringPinSetup() 라즈베리는 핀모드가 2가지가 있는데요. 그중에서 보드모드로 해주겠다는 선언입니다.pinMode(led_pin), OUTPUT) 선택한 핀을.......

(라즈베리파이 순한 맛집) 피에조 부저와 PWM [내부링크]

저번 시간에 PWM에 대해서 배웠죠.이번 시간에는 피에조 부저에 대해서 배워보겠습니다. 피에조 부저는 어떤 원리를 소리를 내는걸까요?이 부저는 압전효과에 의해서 소리를 내는 전자 부품입니다. 피에조 부저라고도 불려요.우리 주변에서 많이 쓰이죠.이름에 피에조가 들어가 있으니, '피에조'와 연관있겠죠? 피에조란 무엇일까요? 피에조 효과란 "결정에 압력을 가할때 전기 분극에 의해서 전압이 발생하는 현상"이라고 말해요. 수정이나 세라믹 같은 일부 물질의 경우 전기적 신호를 주면 물질이 응축하거나 신장하거든요, 결정의 어느 방향에서 힘을 가한 경우, 정해진 방향에 전기분극을 일으키는 현.......

크리스마스 계획 [내부링크]

크리스 마스 이브에는 공! 부! 까햐ㅏ하하하ㅏㅎ하하하미ㅏㄶ미ㅏ너하왜냐면 1월 9일 시험이니까 시험도 매우 어려울 것 같으니 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ이걸 만들었으니 올해 크리스마스 이브에 할일은 다했다.