일단 작업하기 전에 한글폰트 설치하고 적용을 해보자. 터미널을 켜서 sudo apt install fonts-nanum 입력해주면 한글 폰트가 설치된다. sudo apt install ibus-hangul 입력해주고 y 눌러주면 된다. 라즈베리파이 모양 -> Preferences -> Raspberry Pi Configuration 그리고 OK를 누르면 재부팅하라고 뜬다 재부팅을 해주면 된다. 그리고 iBus 기본설정 -> 입력방식에서 한국어(태극모양) 추가해주면 된다. 일반으로 돌아와서 이렇게 설정해주면 된다. 그리고 재부팅 해주자. 한국어 누른다음 한글 상태 누르면 한글이 나오게 된다. 라즈베리파이에 버튼(10k저항) LED(220옴저항) 연결을 해준다. 버튼은 풀다운 방식으로 해주고 왼쪽(저항) -..
티코블럭(T-cobbler), 브레드보드, 선 이렇게 준비를 해주고 브레드 보드 끝까지 꼽아주면 된다. 이렇게 끼워주면 된다. 그럼 이제 라즈베리파이에 접속해서 잘 연결 됬는지 확인해보자. 핀 설명들은 이렇다. [리눅스 기본 명령어] 1. ls - 디렉토리에 있는 하위 목록을 보기 위한 명령어 ls -a : 모든 파일을 출력 ls -l : 자세한 정보를 출력 ls -d : 폴더출력 옵션을 여러 개를 같이 사용할 수 있다. 2. cd - 폴더를 이동하는 명렁어 리눅스는 마지막 폴더만 출력 pwd로 현재 위치를 확인 cd .. : 상위폴더 cd . : 현재폴더 cd / : 최상위 디렉토리로 이동(루트 디렉토리) cd ~ : 자기자신의 홈디렉토리로 이동 3. mkdir - 디렉토리 생성 mkdir 생성할디렉토..
[Aggregation] - Aggregation framework와 mapreduce가 제공 - RDBMS의 group by의 개념 - 집계작업이 단순한 경우에 mapreduce보다는 aggregation framework를 사용 - input으로 사용된 document를 처리하고 처리 결과로 output document를 생성하고 생성된 output document를 또 다른 명령어의 input document로 활용 = 이를 파이프라인(Pipeline)이라 한다. - 파이프라인으로 집계를 처리하며 이 처리 명령을 배열로 나타낸다 1. Aggregation 연산자 $match : where절, having절과 같은 개념 $group : group by $sort : order by $sum : 총합,..
MongoDB 다운로드 MongoDB - Document oriented 데이터베이스 [실행방법] - mongodb 서버 실행 : mongod --dbpath 저장할폴더 - mongodb 클라이언트 실행 : mongo [용어] RDBMS와 비교 Database - Collection을 담고 있는 컨테이너 Collection - RDBMS의 테이블과 비슷한 개념(스키마가 없다. - 정해진 구조가 없다.) Document - RDBMS에서 레코드와 비슷한 개념 Embedded documnet - 테이블 조인과 비슷한 개념 [기본 명렁어] show dbs - 데이터베이스의 리스트를 확인 use sample - sample이라는 데이터베이스 생성 - 작업하고 싶은 데이터베이스 로그인 db - 현재 작업중인 데이..
블루투스는 가상으로 핀(RX, TX)을 만들어서 구성할것이다. 이렇게 말이다 블루투스 모델은 ZS-040 모델을 이용할거다 RXD - 3번핀 TXD - 2번핀 GND - GND 연결 VCC - 5V 연결 #include //블루투스 통신을 할 수 있는 SoftwareSerial 객체를 생성 SoftwareSerial myBTSerial(2,3); //SoftwareSerial(rxPin, txPin) void setup() { Serial.begin(9600); myBTSerial.begin(9600); //블루투스 통신을 시작 } void loop() { //블루투스 통신으로 수신된 데이터가 있으면 if(myBTSerial.available()) { //블루투스 통신을 통해 읽은 데이터를 시리얼모니터로..
https://www.raspberrypi.org/ Teach, Learn, and Make with Raspberry Pi The Raspberry Pi is a tiny and affordable computer that you can use to learn programming through fun, practical projects. Join the global Raspberry Pi community. www.raspberrypi.org 밑으로 내리다 보면 위와 같은 화면이 있다. 다운로드를 받아준다 그리고 sd카드와 sd카드 꼽을 수 있는 리더기를 준비하고 위와 같이 꼽아준다 PC에 꼽아준다 https://www.sdcard.org/ SD Association | The SD Associati..
- 아두이노에서 TWI(Two Wire Interface) 통신이라고도 한다. - 근거리에서 장치들끼리의 통신을 위해 만들어진 방식 - 두 개의 선을 이용해서 작업 SDA (Serial Data) : 데이터 선 - A4핀 SCL (Serial Clcok) : 클럭 신호 선 - A5핀 - master/slave 구조 - 데이터를 전송하거나 수신하거나 종료하거나 모든 결정은 마스터가 한다. - 마스터가 slave로 데이터를 전송 - 1개의 데이터선이기 때문에 동시에 데이터를 주고 받을 수 없다. - 모든 통신은 마스터가 주도 * 마스터가 slave한테 데이터를 요구하면 slave는 response * slave가 먼저 마스터에게 데이터를 보내지 않는다. - I2C 통신에서는 slave는 address로 구분..
부저 다리를 보면 - + 라고 써져 있을거다 +에는 핀 번호를 -에는 GND를 연결 회로는 이렇게 구성하자 피에조 부저에 진동판이 있고 이 진동판이 진동될때 주파수가 활용된다 피에조 부저는 전기적인 신호를 소리로 변환해주는 소자이다 tone(핀번호, 주파수) & tone(핀번호, 주파수, 시간) void setup() { tone(7,330); } void loop() { } 일단 소리가 울리는지 보자. 잘 울리게 된다 문제) 도레미파솔라시도를 세 번 연주하고 피에조 부저에서 발생되는 소리가 멈추도록 작업하기 더보기 int count = 1; double to[7] = {261.6, 311.1, 329.6, 349.2, 392.0, 440.0, 493.9}; void setup() { } void loo..
회로는 이렇게 구성 하자 LED RGB를 보면 제일 긴 선이 있다 이 선은 GND에 연결하자 void setup() { Serial.begin(9600); pinMode(6, OUTPUT); pinMode(5, OUTPUT); pinMode(3, OUTPUT); } void loop() { //pwm을 이용하여 값을 적용 0~255 int red = random(256); //0~255 int green = random(256); int blue = random(256); Serial.println((String)red+" "+green+" "+blue); analogWrite(6, red); analogWrite(5, green); analogWrite(3, blue); delay(1000); } 이러..
//PWM테스트 - pulse width modulation //아날로그를 디지털신호로 바꾸기 위한 방법 //pwm은 8bit를 사용 - 2의8승이니까 256까지 즉, 0부터 255까지 표현 가능 //AnalogDigitalConverter(ADC) - 10bit(2의 10승 - 1024) int led4=11; void setup() { pinMode(led4, OUTPUT); } void loop() { for(int i=0; i=0; i--) { analogWrite(led4, i); delay(10); } } 회로를 사진처럼 구성하고 코드를 작성해보자. 실행 시키면 LED가 서서히 밝아지고 서서히 밝기가 줄어드는것을 볼 수 있다 이게 아날로그 신호다 아날로그 신호는 8bit로 동작하기에 0~255..
삼성 폰 업데이트 하였더니 막힘 스마트폰 -> 스마트폰 이제 안됨 삼성폰으로 듀얼심 사용하기 준비물 : 삼성폰 2개, 컴퓨터 한 개의 폰으로 번호 2개 사용 가능하다. 삼성 CMC 기능 활용 1. SetEdit 어플 설치하기 2. 설정에 들어가 휴대전화 정보에 들어간다 소프트웨어 정보에 들어간다 빌드번호 7번을 누르면 개발자 옵션이 설정 메뉴 맨 밑에 나타난다. 개발자 옵션에 들어가 밑으로 내리면 USB 디버깅 나오는데 활성화를 해준다. ※ 핸드폰은 컴퓨터와 연결해주고 USB디버깅 활성화를 해준다. https://dl.google.com/android/repository/platform-tools-latest-windows.zip 위에 링크에 들어가면 adb가 받아진다. 압축을 C드라이브 밑에 adb폴더..
푸쉬버튼을 준비하고 5V와 12번째에 연결해주자. int push_btn = 12; int btn_state = 0; // 버튼의 현재 상태값을 저장하는 변수 - 0,1 void setup() { Serial.begin(9600); pinMode(12, INPUT); } void loop() { delay(1000); btn_state = digitalRead(push_btn); Serial.println(btn_state); } 시리얼 모니터를 보면 0 0 0 이렇게 나올거다 스위치를 누르면 1 1 1 이렇게 나올거고 근데 간혹 스위치를 안눌러도 1 1 1 나오는 경우가 있다 그럼 브레드보드에 전류가 겹치는 경우다 위에 경우는 잘못된 방식이다. 그래서 풀다운 방식을 적용할거다 저항은 10k옴이다 위에 ..