변수

컴퓨터 언어에선 '변하는 수' 보다는 '하나의 데이터를 저장 할 수 있는 메모리 공간'이라고 생각 하자. 나중에는 변수를 '데이터가 저장되어 있는 레퍼런스를 담는 메모리 공간'으로 디테일 하게 이해 될 것이다.


1
>>> 철수의나이 = 17
cs
기본적인 변수 사용방법이다. '='를 기준으로 오른쪽의 있는 값왼쪽에 있는 변수에 저장 한다.


1
2
3
4
>>> 철수의나이 = 철수의나이 + 10
>>> 철수의나이
27
>>> 
cs

철수의나이 변수에 저장된 값과 10을 더해서 철수의나이 변수에 저장 한다. '=' 기준으로 어느쪽에 변수가 위치함에 따라 변수에 저장 할지 변수에 저장된 값을 가져 올지 결정 한다.


왜 변수를 사용할까 의문이 든다면, 앞으로 코드를 작성할때 변수를 사용안하고 작성해 보면 몸으로 느낄것이다.


질문

스터디를 하면서 연습문제에 대한 질문이 있었다. 

1) '반지름이 10 인 월의 넓이 = 314.1592' 이렇게 나와야 하는데 왜 '314.0'으로 나오나요? 원하는 만큼 소수부분을 출력하고 싶어요.

1
2
3
4
5
>>> 10 * 10 * 3.14
314.0
>>> 10 * 10 * 3.141592
314.1592
>>> 
cs

우리는 파이를 3.14로만 기억하지 3.141592를 기억하지 않는다. --.--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


참고 코드

1
2
3
4
5
6
>>> import math
>>> math.pi
3.141592653589793
>>> 10 * 10 * math.pi
314.1592653589793
>>> 
cs


2) (num1 + num2 + num3) / 3으로 평균을 구했는데, 파이썬에서 제공하는 함수가 있나요?

있지만, 아직 초본이기 때문에 설명은 안하고 이렇게 평균을 구할 수 있는것만 알고 있자. 


1


2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
>>> num1 = 30
>>> num2 = 90
>>> num3 = 120
>>> (num1 + num2 + num3) / 3
80.0
>>> import statistics
>>> dir(statistics)
['Decimal''Fraction''StatisticsError''__all__''__builtins__''__cached__''__doc__''__file__'
'__loader__''__name__''__package__''__spec__''_coerce''_convert''_counts''_exact_ratio'
'_fail_neg''_find_lteq''_find_rteq''_isfinite''_ss''_sum''bisect_left''bisect_right''collections'
'groupby''harmonic_mean''math''mean''median''median_grouped''median_high''median_low''mode'
'numbers''pstdev''pvariance''stdev''variance']
>>> help(statistics.mean)
Help on function mean in module statistics:
 
mean(data)
    Return the sample arithmetic mean of data.
    
    >>> mean([12344])
    2.8
    
    >>> from fractions import Fraction as F
    >>> mean([F(37), F(121), F(53), F(13)])
    Fraction(1321)
    
    >>> from decimal import Decimal as D
    >>> mean([D("0.5"), D("0.75"), D("0.625"), D("0.375")])
    Decimal('0.5625')
    
    If ``data`` is empty, StatisticsError will be raised.
 
>>> statistics.mean([num1, num2, num3])
80
>>> 
cs


마무리

변수가 무었인지 어떻게 사용하는지만 이해 했다면 좋다. 나머지는 경험을 통해서 배워가면 된다. 


다음글

이전글 2020/06/04 - [STUDY/파이썬] - [파이썬 스터디] 지인과 함께 하는 파이썬 with 두근두근 파이썬 No. 02 - IDLE와 turtle


반응형
블로그 이미지

두리뭉실2:해피파인더그룹

레고가 좋고~ PBL 매력에 빠졌으며~ 취미로 개발하는 두리둥실

,

컴퓨터 프로그램

컴퓨터가 수행할 명령어를 적어 놓은 문서

어떤 문제를 해결하기 위해 컴퓨터에게 주어지는 처리 방법과 순서를 기술한 일련의 명령문 집합체

프로그래머

프로그램을 만드는 사람

IDLE

파이썬 코드를 작성하고 실행하고 저장하고 불러오는 것을 쉽게 해주는 것이 IDLE(Integrated Development and Learning Environment)다. 이 책의 코드를 작성하고 실행하는 것은 IDLE만으로도 충분할 것으로 생각 된다. 조금 인터넷을 검색해보면 '파이참' 또는 '주피터 노트북'이라는 통합개발환경 툴이 있다. 어느 것이든 한번쯤 사용해 보는걸 추천 하고, 툴 설치 사용에 서투르다면 나중에 해보길 바란다.

turtle

아마도 이 책을 혼자 공부를 한다면, 처음부터 막막할거 같다. 변수나 객체에 대한 얘기가 없기에 뭔지 모를거 같지만, 그냥 따라하면 된다. 어자피 앞으로 자세하게 배울테니까. 그리고 기존의 코드를 살짝 바꿔주고 결과가 어떻게 표시되는지 여러번 확인 하면, 정확하게는 아니더라도 대충은 어떻게 사용하는지는 알게 된다. 


1
2
3
4
5
6
7
>>> import turtle
>>> han = turtle.Turtle()
>>> han.shape('turtle')
>>> han.shape('turtle')
>>> han.forward(100)
>>> han.right(90)
>>> han.forward(100)
cs


이 코드를 하나씩 실행하게 되면 

화면이 하나 생기면서 

가운데 화살표가 표시 된다. 

그리고 화살표가 거북이로 변경 되고,

거북이가 보는 방향으로 100만큼 이동하면서 선이 그려진다.

그리고 시계방향으로 90도 거북이가 회전하고

거북이가 보는 방향으로 100만큼 이동하면서 선이 그려진다.


여러번 해본다면 어렵지 않게 자연스럽게  선을 그릴 수 있다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
>>> dir(turtle)
['Canvas''Pen''RawPen''RawTurtle''Screen''ScrolledCanvas''Shape''TK''TNavigator'
'TPen''Tbuffer''Terminator''Turtle''TurtleGraphicsError''TurtleScreen''TurtleScreenBase'
'Vec2D''_CFG''_LANGUAGE''_Root''_Screen''_TurtleImage''__all__''__builtins__''__cached__'
'__doc__''__file__''__forwardmethods''__func_body''__loader__''__methodDict''__methods'
'__name__''__package__''__spec__''__stringBody''_alias_list''_make_global_funcs'
'_screen_docrevise''_tg_classes''_tg_screen_functions''_tg_turtle_functions''_tg_utilities'
'_turtle_docrevise''_ver''addshape''back''backward''begin_fill''begin_poly''bgcolor''bgpic'
'bk''bye''circle''clear''clearscreen''clearstamp''clearstamps''clone''color''colormode'
'config_dict''deepcopy''degrees''delay''distance''done''dot''down''end_fill''end_poly'
'exitonclick''fd''fillcolor''filling''forward''get_poly''get_shapepoly''getcanvas'
'getmethparlist''getpen''getscreen''getshapes''getturtle''goto''heading''hideturtle''home'
'ht''inspect''isdown''isfile''isvisible''join''left''listen''lt''mainloop''math''mode'
'numinput''onclick''ondrag''onkey''onkeypress''onkeyrelease''onrelease''onscreenclick''ontimer'
'pd''pen''pencolor''pendown''pensize''penup''pos''position''pu''radians''read_docstrings'
'readconfig''register_shape''reset''resetscreen''resizemode''right''rt''screensize''seth'
'setheading''setpos''setposition''settiltangle''setundobuffer''setup''setworldcoordinates''setx'
'sety''shape''shapesize''shapetransform''shearfactor''showturtle''simpledialog''speed'
'split''st''stamp''sys''textinput''tilt''tiltangle''time''title''towards''tracer'
'turtles''turtlesize''types''undo''undobufferentries''up''update''width''window_height'
'window_width''write''write_docstringdict''xcor''ycor']
>>> dir(turtle.Turtle)
['DEFAULT_ANGLEOFFSET''DEFAULT_ANGLEORIENT''DEFAULT_MODE''START_ORIENTATION''__class__''__delattr__'
'__dict__''__dir__''__doc__''__eq__''__format__''__ge__''__getattribute__''__gt__''__hash__'
'__init__''__init_subclass__''__le__''__lt__''__module__''__ne__''__new__''__reduce__'
'__reduce_ex__''__repr__''__setattr__''__sizeof__''__str__''__subclasshook__''__weakref__'
'_cc''_clear''_clearstamp''_color''_colorstr''_delay''_drawturtle''_getshapepoly''_go'
'_goto''_newLine''_pen''_polytrafo''_reset''_rotate''_screen''_setDegreesPerAU''_setmode'
'_tracer''_undo''_undogoto''_update''_update_data''_write''back''backward''begin_fill''begin_poly'
'bk''circle''clear''clearstamp''clearstamps''clone''color''degrees''distance''dot''down'
'end_fill''end_poly''fd''fillcolor''filling''forward''get_poly''get_shapepoly''getpen''getscreen'
'getturtle''goto''heading''hideturtle''home''ht''isdown''isvisible''left''lt'
'onclick''ondrag''onrelease''pd''pen''pencolor''pendown''pensize''penup''pos''position'
'pu''radians''reset''resizemode''right''rt''screens''seth''setheading''setpos''setposition'
'settiltangle''setundobuffer''setx''sety''shape''shapesize''shapetransform''shearfactor''showturtle'
'speed''st''stamp''tilt''tiltangle''towards''turtlesize''undo''undobufferentries''up''width'
'write''xcor''ycor']
>>> help(turtle.Turtle.forward)
Help on function forward in module turtle:
 
forward(self, distance)
    Move the turtle forward by the specified distance.
    
    Aliases: forward | fd
    
    Argument:
    distance -- a number (integer or float)
    
    Move the turtle forward by the specified distance, in the direction
    the turtle is headed.
    
    Example (for a Turtle instance named turtle):
    >>> turtle.position()
    (0.000.00)
    >>> turtle.forward(25)
    >>> turtle.position()
    (25.00,0.00)
    >>> turtle.forward(-75)
    >>> turtle.position()
    (-50.00,0.00)
 
>>> help(han.forward)
Help on method forward in module turtle:
 
forward(distance) method of turtle.Turtle instance
    Move the turtle forward by the specified distance.
    
    Aliases: forward | fd
    
    Argument:
    distance -- a number (integer or float)
    
    Move the turtle forward by the specified distance, in the direction
    the turtle is headed.
    
    Example (for a Turtle instance named turtle):
    >>> turtle.position()
    (0.000.00)
    >>> turtle.forward(25)
    >>> turtle.position()
    (25.00,0.00)
    >>> turtle.forward(-75)
    >>> turtle.position()
    (-50.00,0.00)
 
>>> 
cs


help와 dir 내장함수를 이용하여 우리가 사용하는 것(?)에 대하여 정보를 얻을 수 있다.

반응형
블로그 이미지

두리뭉실2:해피파인더그룹

레고가 좋고~ PBL 매력에 빠졌으며~ 취미로 개발하는 두리둥실

,

지인이 파이썬을 하고 싶다 하여, 지인의 일정에 마춰서 스터디를 만들었다. 아직 이름은 없다. 수요일 저녁 8시에 하기로 했으니까 그때 스터디 이름을 만들어야 겠다. 


생능출판사의 '두근두근 파이썬' 책으로 진행한다.

<두근두근 파이썬 표지>


학교 교재이기 때문에 강의 계획서도 있다.

•1주: 1장 파이썬 소개
•2주: 2장 변수
•3주: 3장 계산기능
•4주: 4장 자료의 종류
•5주: 5장 조건
•6주: 6장 반복
•7주: 7장 함수
•8주: 중간고사 중간 평가 및 프로젝트 제안서 발표
•9주: 8장 프로젝트 I
•10주: 9장 리스트와 딕셔너리
•11주: 10장 tkinter
•12주: 11장 파일
•13주: 12장 라이브러리 사용
•14주: 13장 객체와 클래스 개요
•15주: 14장 프로젝트 II
•16주: 기말고사 기말 평가 및 프로젝트 결과 발표


전반적인 내용을 다루지는 않지만, 입문서로는 괜찮은듯 하고 KAIT에서 진행하는 '파이썬 마스터' 자격증도 준비 할 수 있을거 같다. 부족한 부분은 문제 풀이를 통해 보충하면 되니까!


스터디 첫주 범위는 '1장 파이썬 소개' & '2장 변수'다. 내일 스터디를 위해서 연습문제를 풀면서 정리 해야 겠다.


다음글 2020/06/04 - [STUDY/파이썬] - [파이썬 스터디] 지인과 함께 하는 파이썬 with 두근두근 파이썬 No. 02 - IDLE와 turtle

이전글





반응형
블로그 이미지

두리뭉실2:해피파인더그룹

레고가 좋고~ PBL 매력에 빠졌으며~ 취미로 개발하는 두리둥실

,

<딥러닝 온라인 스터디 교재 : 밑바닥부터 시작하는 딥러닝>


한달 전부터 딥러닝 스터디를 온라인으로 시작 했다. 예전에 OpenCV 공부할때(마무리 못함) 따로 공부할려고 사 놓은 책인데, 스터디 교재도 선정되어 기분이 좋았다. 앞부분만 보고 덮었던 책이다. 아마도 이번 스터디에서 마무리 될거 같다.

반응형
블로그 이미지

두리뭉실2:해피파인더그룹

레고가 좋고~ PBL 매력에 빠졌으며~ 취미로 개발하는 두리둥실

,

<수술대 위에 있는 부가티>


토요일 저녁 부터 일요일 저녁까지 이녀석을 가지고 놀았다. 수술대 위에 올라온 이유를 말하자면......


한동안 레고 부품을 구할려고 당근에서 이녀석(+ 포르쉐)을 보게 됐는데, 그냥 구매 했다. 사실 실물을 본적이 없어서 어느정도 크기인지 거래 금액과 맞는지는 모르지만 거래를 했다. 실제 거래하면서 처음 봤을때 괜찮았다. 그래서 집에 와서 굴러 보는데......


<부러진 유니버셜 조인트>


사진에 보이는 유니버셜 조인트 부품이 부러지는 소리와 함게 툭 하고 밖으로 나왔다...... 동작 한다길래 막 굴렸는데...... 나중에서야 알게 된거지만 호환  레고라도 잘 구동이 되는 것도 있지만 조립시 잘 확인 못하거나, 호환 레고의 특성(품질이 안 좋음) 때문에 부하로 인하여 동작 안하는 경우가 생긴다. 


부러진 유니버셜 조인트는 정품으로 국내에서 구매를 했다. 


<서스펜션 조립도 중 유니버셜 조인트와 스티어링 CV 조인트 연결 부분>


이 부분이란걸 처음 부터 알았다면 부분적으로 했을텐데, 모르니까...... 한번 다 분해해서 조립하고 싶은 마음에 분해 하면서 여기란걸 알게 됐다^^. 


그런데 한번에 잘 되면 좋은데...... 어디선가 파란색 기어가 툭 뒤어 나왔다;;;;;;;;;;;;;;;;;;;;;;;;; 어쩔 수 없이 인스를 처음 부터 차근 차근 봐서 찾았다^^. 어쨋든 찾아서 조립해 주고 구동인 잘 되나 바퀴를 끼워 주고 동작을 해보니...... 잘 안된다. 잠시 고민 끝에 평일엔 할 수 없으니, 주말에 다시 할려고 잘 정리해서 구석이 넣어 놨다.


분해하면서 다시 한번 느낀게 레고를 가지고 이렇게 까지 표현이 가능하다는게 참 신기하게 느껴졌다. 


최근 출시한 레고 람보르기니 시안 동영상이다. 조만간 실물을 영접하러 레고 스토어에 가봐야 겠다.


반응형
블로그 이미지

두리뭉실2:해피파인더그룹

레고가 좋고~ PBL 매력에 빠졌으며~ 취미로 개발하는 두리둥실

,

알고리즘 스터디

작년 부터 프로그래머스 사이트를 5명의 멤버와 함께 지금까지(5월 말) 진행 하였다. 개인적으로 좋은 평가를 주고 싶은 스터디다. 처음 시작 했을 때와 마무리 할때의 스터디는 조금 바뀌어 있었다. 

 

바뀐 부분은 정리해 보면

1) 주 2회 저녁때 온라인 스터디 -> 주 1회 토요일 아침 스터디

2) 쉬지 않고 계속 진행 -> 1 시즌을 4 ~ 5 로 정하고 시즌과 시즌사이에 1주 휴식으로

3) 네이커 카페를 통한 코드 공유 -> github를 통한 코드 및 일정 공유

4) 프리컨퍼런스 콜을 이용한 화면 공유와 카톡 음성 채팅 -> 행아웃을 통한 화면공유와 음성 채팅

5) 멤버의 추가

 

바뀌지 않은 부분은

7) 열정
8) 모르면 먼저 발표
9) 문제에 대하여 한명 한명 생각을 공유

 

처음 스터디 시작 할때 8) & 9)의 항목 때문에 많이 놀랐다. 이전 스터디는 너무 개인 의사를 존중하여 할 사람만 하고 안할 사람은 하지 않아서 스터디라고 생각하지 않았다. 그래서 인지 8) & 9)의 항목이 너무 좋게 느껴졌다. 이것 때문인지 몰라도, 묻고 답하는게 자연스럽게 진행 되었다.

 

1) 항목은 조금은 힘들 수 있었는데, 나름 잘 된거 같다. 나도 사람인지라, 스터디 전날 4시까지 공부하다가 9시에 못 일어나 정신 없이 스터디에 참여한 기억이 있다. 아침에 스터디를 한 나름의 이유가 있다. 저녁때 하면 집중도 안될뿐더러 짜증을 유발할 수 있는 상태가 되기 쉽기 때문에 개인적으로 아침에 스터디 하는 것을 선호 한다. 같이 하는 멤버들이 잘 해준 덕분이라 생각 한다.

 

2) 중간에 쉬지 않고 하다보니, 시간이 지날 수록 지쳐갔다. 그래서 나온 방법이 시즌제! 그동안 했던거 정리하고 쉬는 시간을 가지는게 도움이 많이 됐다. 

 

나머지는 거의 일반적인 내용이고, 중간에 스터디 진행 툴을 행아웃으로 했는데, 젊을 수록 디스코드를 이용하는거 같다. 디스코드를 개인적으로 이용해본 결과 편하고 좋다.

 

확실하게 이번 스터디를 하면서 느낀것이 있다. 바로 수학이다. 코딩의 중요성이 커지면서 덩달아(?) 아니 당연한거지만 수학이 더 중요한게 되었다. 스터디를 진행하면서 느낀것이 수학적 이해와 풀이 능력에 따라서 문제를 보는 관점이 다르다는걸 느꼈다. 이런 이해와 풀이 없이도, 문제를 해결 할 수 있다. 그러나 어느 정도까지 만이다. 응용부분에서는 많이 차이 나는걸 느꼈다. 

 

프로그래머스 레벨1 ~ 레벨3단계를 진행 하는 동안, 기본 자료구조와 일반적으로 알려진 알고리즘 풀이를 했다. 집에 자료구조 및 알고리즘 책 한권 정도는 구비해 두고 진행하면 짧은 시간이 많은 것들을 얻을 수 있을거 같다. 이걸 기반으로 나름 조금씩 레벨4, 5의 문제들을 해결해 봐야 겠다.

 

여기에 이름은 밝히지는 않지만 같이 해준 4명의 멤버에게 고마움의 마음을 전한다.

반응형
블로그 이미지

두리뭉실2:해피파인더그룹

레고가 좋고~ PBL 매력에 빠졌으며~ 취미로 개발하는 두리둥실

,

당근을 통해서 충분하게 레고 부품을 구했음에도 괜찮은 재료가 나으면 나도 모르게 거래 약속을 잡는다. 판매자가 정확한 정보를 주지 않으면, 사진으로 어느 정도양인지 상태인지 모른다. 그럴대는 직거래 현장에서 확인 후 거래 하자고 한다. 불편 할 수 있지만, 그래도 불편하게 구매나 판매를 예방 할 수 있기 때문이다. 그래도 몇번 했다고 물건을 담은 봉지에 실루엣을 보기만 해도 알 수 가 있게 되었다 ^^. 0.8 짜리 레고 벌크 거래 할때는 그냥 보기만 해도 많다는걸 느낄 수가 있어서 확인도 안하고 거래 했다. 이번 3점짜리 레고는 멀리서만 봐도 거래 실패라는 느낌이 왔다 ㅠㅠ. 역시나 ㅠㅠ. 


레고 벌크라기엔 판매 가격에  비해 상당히 수량이 적고,

누락을 알 수 없는 단품으로 보기엔 가격이 비싸고,

내가 원하는 테크닉 부품이 없었다.


이런 저런 얘기를 해주면 좋겠지만, 기분이 그닥 좋지 않을거 같아 가격이 안맞는다고 하고 거래를 취소하고 뒤돌아 왔다. 지갑을 두둑하게 하고 갔었는데......



반응형
블로그 이미지

두리뭉실2:해피파인더그룹

레고가 좋고~ PBL 매력에 빠졌으며~ 취미로 개발하는 두리둥실

,

당근 마켓

일상다반사 2020. 5. 28. 00:42

오래전에 지인이 당근을 하는걸 보고 재미 있을까 생각했는데......


최근에 내가 재미 있게 하고 있다--.--. 처음엔 알리에서 호환 레고 테크닉 부붐을 구매 했는데, 그것 마저도 비싸다고 느껴졌다. 그래서 당근에서 검색하니 괜찮은 가격에 괜찮은 부품 또는 제품들이 보였다. 사실 테크닉 부품만 사려고 했는데 결국은......


레고 첫번째 거래 성사때 기분이 좋았다. 일반 레고 부품에 비해 테크닉 부품은 없었지만, 지인과 같이 종류별로 분류 하면서 기분이 좋았기 때문이다. 지인은 테크닉 부품 보다는 미니피규어에 관심이 많아 정리하면서 좋은 것만 정리 하였는데, 그냥 줬다. 너무 좋아해서 나중에 당근에서 프렌즈 미니피규어를 사서 줬다. 그때까지만 해도 미니 피규어에 관심이 없었는데, 자꾸자꾸 보니까 상당히 괜찮다고 느껴졌다. 그 이후 일이지만, 정말 정말 싸게 프렌즈 여러 제품이 묶음 으로 나온게 있는데, 10초 차이로 거래를 못한적이 있는데...... 확실하게 레고 정품 제품이 퀄리티는 좋다. 보면 볼수록 좋게 느껴진다.


그러다가, 호환레고 제품인 부가티와 포르쉐를 구매 했다. 약간의 문제는 있었지만, 잘 샀다고 생각 한다. 포르쉐는 부품 교체하여 어느 정도 구동 되게 재조립 했고, 구매 하자마자 굴리다가 부품이 부러진 부가티는 현재 나의 손을 기다리고 있다. 


이러쿵 저러쿵 해서 동네 직거래를 통해 원하는 만큼 부품도 구했다. 별거 아닐거 라고 생각한 당근이 동네 직거래라는 나름 매력적인 부분이 있는거 같다. 좀전에도 당근을 통해서 직거래 약속을 했다.


결론은 당근은 좋다이고! 호환레고 조립하는 손맛에 호환 레고 제품을 구매와 예약 구매를 했다는 것이다.^^




반응형
블로그 이미지

두리뭉실2:해피파인더그룹

레고가 좋고~ PBL 매력에 빠졌으며~ 취미로 개발하는 두리둥실

,

정품 레고가 아닌 몰드킹 호환 레고다. 


<몰드킹 13107 모바일크레인 얼티메이트 MKII>


레고를 알게 되고, 부품으로 호환레고를 알게 되면서 알리에서 눈여겨 본 제품이다. 크기도 그렇지만, 레고로 만들 수 있고, 파워펑션을 이용하여 구동되는 제품 중에 하나다. 알리는 달러로 결제를 해야 해서 환율이 적용된다. 그래서 국내에서 구매하는 것보다 몇만원 비싸다. 


정품과 호환은 품질에서만큼은 비교불가지만, 조립하여 구동만 어느 정도 된다면 가성비 만큼은 꽤 좋은거 같다. 며칠동안 아무 생각없이 조립하면서 힐링할 생각을 하니 기분이 좋아 진다^^. 

반응형
블로그 이미지

두리뭉실2:해피파인더그룹

레고가 좋고~ PBL 매력에 빠졌으며~ 취미로 개발하는 두리둥실

,

자세한 정보 


판매사로 부터 제공 받은 마이크로 비트를 이용한 드론이다. 어디서 많이 본 듯한 부품들이다. 지인이 다니던 학원에서 아두이노로 만들었던 드론 그것과 비슷하다. 아니 본체부분(FC) 부분만 빼고 똑같다. 찾아 보니 서민우 저자의 아두이노 드론과 같은 부품들이다. 


아두이노 드론 - 링크

마이크로비트 드론 - 링크


글을 쓰기 시작한 시점엔 이미 조립과 코드를 작성하여 드론을 작동은 시켜 봤다. 처음에 동작 하는걸 보려고, PID 테스트를 위한 도구를 설치 안하고 방안에서 동작 하다가 드론이 옆으로 날면서 의자 기둥에 부딪혀 날개가 부러졌다. 물론 지금은 구매를 하여 정상적으로 조립 되어 있다. 하하하^^;;;;;;;;;;;;;;;;;;;;;;;;


이미 저자로 부터 우리가 생각하는 잘 날으는 드론은 아니더라도, 뜨고 원하는 방향으로 이동되는 교육 제품이라고 들었고, 조금씩 한쪽으로 드론이 흐른것도 알고 있다. 현재의 코드로는 호버링 같은 기능은 하지 못한다. 


결론 부터 말하자면, 제공 되어진 설명서는 미분 적분에 대한 내용을 몰라도 PID 관련 부분에서 설명대로 따라서 하기만 하면 저절로 알게 된다. "아두이노 드론 만들고 직접 코딩하기"에서는 미분적분만 나와도 하기 싫었는데, 부담없이 할 수 있다. 즉 사칙연산과 조금의 생각을 할 줄 안다면 어렵지 않게  PID대한 개념을 이해하고 완벽하지는 않지만, 드론을 지면에서 띄우고 조정 할 수가 있다. 드론의 실제 실용적인 제품 보다는 교육적인 제품으로 보면 좋다.


이제부터 제공된 설명서를 처음 부터 보면서 이 제품에 대한 이야기를 써볼려고 한다. 마이크로 비트와 드론에 관심이 있는 분들에게 도움이 되었으면 좋겠다.

반응형
블로그 이미지

두리뭉실2:해피파인더그룹

레고가 좋고~ PBL 매력에 빠졌으며~ 취미로 개발하는 두리둥실

,