SW
-
[BOJ] 7513.준살 프로그래밍 대회(맵)SW/Algorithm 2018. 6. 11. 15:16
깃허브 코드보기 /****************************************************************날짜: 2018-06-08작성자: 임중현문제: 백준 7513.준살 프로그래밍 대회 풀이: 들어온 단어를순서대로 맵에 매핑하고 숫자(마지막에들어오는)대로 뽑음 *****************************************************************/ #includeusing namespace std; int main(){int t;cin>>t;for(int tc=1; tc>m;map mapping;string input; for(int i=0;i>input;mapping.insert(make_pair(i,input));}cin>>n;string s..
-
[BOJ] 10799.쇠막대기(스택)SW/Algorithm 2018. 6. 5. 11:23
깃허브 코드보기 /**************************************************************** 날짜 : 2018/06/04 Mon 작성자: 임중현 문제 : 백준 10799.쇠막대기 (https://www.acmicpc.net/problem/10799) 풀이 : '()' 이것이 나오면 그전에 '(' 개수 만큼 잘린게 나온다. '))' 이렇게 연속으로 나오면 1개가 더 추가되서 나오는 것을 예시를 통해 알 수 있다. 문제점: 메모리초과 -> *****************************************************************/#include#include#includeusing namespace std; long long ans; /*/..
-
라즈베리파이를 이용한 자율주행 자동차SW/Project 2018. 2. 23. 19:00
자율주행자동차1. 개요자율주행자동차 키트와 센서를 사용하여 아래와 같은 트랙을 빠져나오는 프로젝트2. 개발 과정자동차 키트를 사용하고 초음파 센서 3개를 사용했다.하드웨어 조립조립측면앞처음에는 앞과 왼쪽에 초음파 센서를 사용하여 left hand알고리즘을 사용하려고 하였으나 오른쪽에 부딪힐 경우 예외처리로 빠져나오기 위해서 오른쪽도 센서를 달아 3개를 사용하였다.PID제어float ki,kp,kd;int speed=0,pre_speed=0,cnt=0;float err=0;float i=0;float d=0,p=0;float lsterr=0;float pivot; p=kp*err;i=i+ki*err;d=(err-lsterr) * kd;PID제어 데이터를 뽑은 결과 다음과 같이 나왔다.초흠파거리센서가 0.0..
-
[nuvoton] MCU 120N Firmware & RTOSSW/Embedded 2018. 2. 15. 15:04
사용보드 MCU : nuvoton 컴파일러 : keil NANO120SE3BN MCU사용 Nu-Link 디버거usb CMSIS-core Device-startup Device-driver-CLK Device-driver-SYS 내용 startup은 전기가 들어가면 처음으로 실행되는 부분으로 최종적으로 메인을 실행한다. (노모톤 MCU는 )0x00번지에 처음으로 접근한다. 마이크로프로세서는 리턴을 하지 않는다.(운영체제가 없어서 리턴을 받아줄때가 없다) int main(void) { while(1) { } while(1); // 리턴하지말고 할거없으면 쉬어. } 디버거 설정 option for target클릭 => 디버거 : 오른쪽 use 를NUlink debuger로 설정 후 세팅에서 칩타입(나노100)..
-
[라즈베리파이] 자이로센서SW/Embedded 2018. 2. 4. 21:00
자이로/가속도센서(MPU6050) datasheet datasheet register map 각속도 / 회전속도를 구해준다. I2C를 사용한다.(SPI보다 느림,여러 장치들을 붙칠수있다. 리눅스에서는 /usr/include/linux/i2c.h 헤더 제공) 라즈베리파이에는 2개의 버스가 있다. #include #include #include #include #define MPU6050_ADDRESS (0x68) // i2cdetect -y 1 로 알아볼수잇다. #define MPU6050_REG_PWR_MGMT_1 (0x6b) #define MPU6050_REG_DATA_START (0x3b) int main() { int pi; if((pi = pigpio_start(NULL, NULL))
-
[라즈베리파이] 온도/습도 센서SW/Embedded 2018. 2. 4. 18:00
온/습도 - DHT22/AM2302 data sheet 1번 핀이 + 이다. 마지막 핀이 GND 이다. 데이터 케이블이 하나여서 하나의 핀으로 온도와 습도를 얻어 낼 수 있다. 파이-마스터 / 센서-슬레이브 습도 데이터 보내고 온도 데이터 보내고 페리티비트를 보낸다. 총 40 비트의(습도-16[8,8],온도-16[8,8],페리티비트-8[8]) 데이터를 보낸다. 걸리는 시간에 따라 0,1 구별한다.(데이터시트참조) 처음(초기화) 80마이크로 * 2를 보낸다. 총 43비트(연결 데이터 까지)
-
[라즈베리파이] ADC (아날로그 디지털 컨버터)SW/Embedded 2018. 2. 4. 17:30
ADC(MCP3208) datasheet 2.7~5.5V 가능하지만 클 수록 샘플링 속도가 빠르다. ch0~7 : 아날로글 신호 넣어주는곳이다. SPI : 통신규격 - 라즈베리파이 (라즈베리파이에서는 2개의 핀을 제공) raspi-config 에서 SPI on 확인 : lsmmod | grep spi 확인 : ls /dev/spi* -l 스티트 1, 싱글디프 1 , 채널 설정 #include #include #include #define BAUD_RATE1000000 #define LOOP1000 int main(int argc, char* argv[]) { int pi; int spi; uint16_t value; uint64_t sum = 0; uint16_t avg; int channel = 0; ..
-
[라즈베리파이] 초음파 센서SW/Embedded 2018. 2. 4. 15:08
초음파 센서 data sheet 한쪽은 송신하는 부분 한쪽은 받는부분으로 구별되있다. trig 핀 -쏘는 부분 / echo 핀 - 받는 부분 트리거에 10마이크로초를 주면 초음파(8개) 발생한다. 다시돌아오면 에코에서 받는다. 최대 한텀은 50마이크로 세컨드이다. // 10 마이크로세컨드를 만들자! include include include define TRIG_PINNO 16 define ECHO_PINNO 6 void cb_func_echo(int pi, unsigned gpio, unsigned level, uint32_t tick); //시간값저장(시작,끝) uint32_t start_tick_, dist_tick_; int main() { float distance; int pi; if ((pi..