제가 AVR 마이크로컴퓨터를 만지작거릴 때까지.

우리 대학 정보공학 전공은...너무 편해...


우선 이번 주 월요일은 연휴다.금요일도 쉬어요.
그리고 화요일, 수요일, 목요일은 기본적으로 오후에 쉰다.
덕분에 겨울방학은 실제로 2배로 늘었다.
또 보고가 거의 없었다.
인코딩은 매달 한 번 정도입니다.
중간고사도 없고.
...장래에 문제 없겠지.

이러다가는 고등학교 때 코딩 방식이 더 좋아질 거예요.


그래서 나는 프로그래밍을 할 수 있는 그룹에 가입했다.
로봇 경기팀.
로봇 경기의 공식 사이트는 아래 링크부터 시작한다.
NHK 학생 로봇 대회.
로봇은 제작할 때 프로그래밍을 할 수 있다.
겸사겸사 로봇에 프로그램을 삽입할 때
마이크로컴퓨터라는 작은 장치에 프로그램을 쓰고 그 프로그램을 올려라.
마이크로컴퓨터는 전압에 따라 입력, 출력을 하고 회로를 제어한다.
기본적으로 입력은 센서의 값이고 출력은 드라이버의 동작이다.
통신도 가능하고 회로를 만들면 PC와 무선통신도 가능하다.
 
 
여기까지, 작년까지면.
올해부터는 후배 교육사업으로, 주로 후배의 코딩 사업이다.
하지만 가르치는 것이 점점 가늘어지고 있어요.
너무 가늘어서 전달이 안 되는 거.
...후배가 가르쳐준 것을 다시 배워야 한다.

그래, AVR하자.


AVR은 저렴하게 살 수 있는 마이크로컴퓨터다.
AVR에도 종류가 있지만 저렴하면 가을 달에 50엔 정도 살 수 있다.
말이 좀 빗나가지만 추월전자는 전자 부품을 판매하는 사이트다.
배송도 있으니까 전자작업에 관심 있으면 가보세요.
전자 작업은 물론이고 지금 하는 말은 IoT죠.
추월전자.
본론으로 돌아가면 AVR의 Attiny 13A이다.작고 귀여워요.
크기는 10이다×10×한 열 정도 돼요.이것은 50엔입니다.
http://www.official-robocon.com/
로봇 제어, 전자 작업과는 전혀 인연이 없는 사람
나는 이 아이가 무엇을 할 수 있는지 모르겠다.
그렇지만, 아니야.
이 아이만 해도 전기회로가 있으면 대부분 할 수 있다.
나는 모두가 나에게 무엇을 하라고 하는지 매우 중요하다고 주장하고 싶다.특히 후배들은
다음은 이 아이에 적힌 절차를 소개합니다.
아주 일반적인 C 언어라는 것을 느낄 수 있다면 정말 좋겠습니다.
adc_sample_main.c
int main(void)
{
    int result;

    //出力ポートを設定
    set_bit(DDRB, DDB2, 1);
    set_bit(PORTB, PORTB2, 1);

    //A/D変換のチャネルを選択 ADC3(PB3)
    set_bit(ADMUX, MUX1, 1);
    set_bit(ADMUX, MUX0, 1);

    //基準電圧を選択(Vcc)
    set_bit(ADMUX, REFS0, 0);

    //結果を右揃えに
    set_bit(ADMUX, ADLAR, 0);

    //ADTS2-0 = 000(連続変換動作)
    set_bit(ADCSRB, ADTS2, 0);
    set_bit(ADCSRB, ADTS1, 0);
    set_bit(ADCSRB, ADTS0, 0);

    //システムクロックの分周値 1/8 -> 150kHz
    //ADPS2-0 = 011
    set_bit(ADCSRA, ADPS2, 0);
    set_bit(ADCSRA, ADPS1, 1);
    set_bit(ADCSRA, ADPS0, 1);

    //A/D変換自動起動許可
    set_bit(ADCSRA, ADATE, 1);

    //A/D許可
    set_bit(ADCSRA, ADEN, 1);

    //A/D変換開始
    set_bit(ADCSRA, ADSC, 1);

    while (1) 
    {
        //変換結果を取得
        result = ADCL + (ADCH << 8);

        if(result > 614){   // 614 -> 3.0V
            set_bit(PORTB, PORTB2, 1);
        }else{
            set_bit(PORTB, PORTB2, 0);
        }

        _delay_ms(10);
    }
}
위의 절차를 간단히 설명하자면 AVR로 AD 변환을 하는 프로그램이다.
AD 변환은 아날로그 전압 값을 디지털 값으로 변환하는 기능입니다.
입력 전압이 3.0V 이상이면 LED 불이 켜지고 3.0V 미만이면 꺼집니다.
교육용 샘플이기 때문에 사용법에 대해서...건들지 마...

총결산


강습용 자료의 총결산도 항상 몇 줄이기 때문에 몇 줄로 총결산한다.
전자 작업은 매우 즐겁다.
마이크로컴퓨터를 사용하면 무엇이든 할 수 있다.
다들 했어.

좋은 웹페이지 즐겨찾기