라벨이 Atmel인 게시물 표시

PLC(GMWIN)_LABVIEW_Arduino 연결하여 제어하기

이미지
➢ 전에 만들어 둔 PLC 보드를 사용하였다. ➢ 1번 버튼을 3초간 누르면 버튼 동작에 의하여 전등이 켜지고 꺼지며, 3번 버튼을 3초간 누르면 LabView의 패널 조작으로 아두이노를 통하여 릴레이를 조작하여 전등을 키고 끈다. ➢ LabView 패널과 블럭다이어 그램 ➢ 동작 영상

적외선 센서를 이용한 7segment 동작 구현

이미지
적외선 센서를 통해 입력이 감지되면 led는 이진수로 표현하여 불을 밝혀 나타내고 옆에는 7segment를 연결하여 10진수로 표현하였다. Atmega는 이미 업로드 되어 있는걸 사용하였다.

ArduinoUno(Atmega328P), LM35(온도센서)를 이용해 LCD에 Text 나타내기

이미지
조건) 1. 온도 센서를 이용하여 값을 읽어온다. 2. 읽어온 값을 ADC(Analog to Digital Converter)를 사용해 준다. 3. 변환된 값을 이용하여 온도와 변환된 값을 LCD에 출력해 준다. ➤ 실제 제품에 올리기 전 시뮬레이션으로 점검하기 실제 Atmega328P에 올리기 전 AVR studio 4 와 Proteus에서 먼저 실행하여 이상이 없는지 확인을 했다. ADCSRA |= 1<<ADEN | 1<<ADIE | 1<<ADATE | 6; →ADCSRA에서 설정해 주며 ADC를 사용하는데 세부 설정을 해준다. ADEN(ADC Enable), ADSC(ADC Start Conversion)(뒤에 main 부분에 따로 설정해 두었다.), ADATE(ADC Auto Trigger Enable), 6(ADPSn 과 연관되어 있으며 6(0b110) 으로 설정해 64분주로 설정했다.) ADMUX |= 1<<REFS0; →ADMUX에서 8번째와 7번째 비트인 REFS1, REFS0을 [01]로 설정하여 Vcc를 사용하고 Vref에는 캐패시터를 연결하여 기준 전압을 설정해 주었다. 또한, 나머지 비트는 0으로 셋팅되어 있기에 따로 설정할 필요 없이 ADC0를 사용하면 된다. (main 부분 코딩) spirintf() : LCD에 올릴 문자를 작성해 주었다. LCD_str_write() : LCD에 문자열을 작성하는 부분이며 첫 번째는 몇 번째 행인지 두 번째는 몇 번째 열인지 마지막은 어떤 문자열을 올릴지 나타낸다. (컴파일 하여 시뮬레이션 결과 문제 없이 작동하는 모습) ➤ 실제 Atmega328P에 업로드 실제 Atmega 328P에 업로딩시에는 Atmel Studio 7.0을 사용하였다. AVR studio에서 작성한 코드를 그대로 가져왔기에 달라진 부분은 없다. AVR studio에서 작성 시 LCD에 실수...

System clock, boot load

➤System Clock 1. CPU클럭[16MHz] = XTAL1, XTAL2에 수정 발진기 연결하여 사용하는 클럭 2. 외부클럭[32768Hz = 32.768kHz] = TOSC1, TOSC2에 수정 발진기 연결하여 사용하는 클럭 3. 내부클럭[int RC 8MHz] = MCU 자체의 S/W 클럭 3-1) 단순하게 클럭 주파수 8MHz 적용시 -> 클럭 주파수는 8MHz로 동작된다. 3-2) 클럭 주파수 8MHz와 8분주 적용시 -> 클럭 주파수는 1MHz로 동작된다. ➤boot load - Fuse bit 설정 ➤클럭 주파수의 용도 - 소프트웨어 시간계산을 하기 위해서 (동작에 대해서 시간의 의미를 부여한다.)

Atmel 이용하여 아두이노 이용하기

이미지
Atmel사용하기 1-1)Atmel을 이용하여 아두이노를 사용하기 위해서는 Avrdude 프로그램이 필요하다. 다운로드 1-2)다운로드 완료 후 압축을 풀고 C드라이브로 옮긴다. 폴더명은 avrdude로 바꿔준다. 2) 장치관리자를 사용하여 COM포트가 몇번 포트인지 확인을 해준다. 3) Atmel에서 avrdude사용 3-1) Tool에서 외부도구를 선택한다 3-2) 외부도구에서 설정을 해준다 3-2-1) Add 버튼을 선택한다 3-2-2) 이름은 하고싶은 이름은 하면된다('Arduino Upload'로 설정했다) 3-2-3) Command 칸 옆에 실행파일 경로를 입력한다 C:\avrdude\avrdude.exe 3-2-4) Avrdude는 'avrdude.conf파일, COM PORT, serial baud rate, 프로그램 헥사 파일, 마이크로 컨트롤러 부품 번호"를 필요로 한다. Arguments에 입력하여준다.(Arduino Uno) -C "C:\ATmel\avrdude.conf" -p atmega328p -c arduino -P COM4 -b 115200 -U flash:w:"$(ProjectDir)Debug\$(TargetName).hex":i (com포트 부분은 각자에 맞는 번호를 입력해 준다.) 4) 프로젝트 실행 4-1) File -> New -> Project선택 4-2) Installed Templates 중에 C/C++ 선택 후에 'GCC C Excutable Project' 선택후 프로젝트 이름을 입력 4-3) 사용하는 보드에 맞는 마이크로컨트롤러 선택 (ATmega328P 선택) 4-4) LED 하나를 blink하는 코드 5) 아두이노로 올리기 5-1) Tool에서 Arduino Upload를 선택한다.       성곡적으로 실행되면 LED가 깜빡이기 시작한다.