본문 바로가기

반응형

SWEET NEW

(352)
[Arduino] 피에조 부저 실습: 피아노 제작하기 피아노 제작하기 (준비물) 아두이노 우노(Arduino Uno) USB 케이블 피에조 부저 스위치 모듈 점퍼 케이블 (회로 연결) int pin_switch[] = {13, 12, 11, 10, 9, 8, 7} ; int buzzer = 5; int tones[] = {261, 293, 329, 349, 391, 440, 493}; // 도레미파솔라시 void setup(){ for(int i = 0; i < 7; ++i){ pinMode(pin_switch[i], INPUT_PULLUP); } pinMode(buzzer, OUTPUT); } void loop(){ for(int i = 0; i < 7; ++i){ if(!digitalRead(pin_switch[i])){ tone(buzzer, tone..
[C언어] 문자열 함수(strlen, strcpy, strcmp) 1. int strlen(const char *str1) : 문자열 길이 - str1의 문자열 길이를 반환한다. - 문자열 끝을 알리는 널 문자('\0')를 제외한 문자열 길이를 반환한다. - #include - #include ​ 2. char strcpy(char *str1, const char *str2, n) : 문자열 복사 - str2에서 str1로 n 개의 문자열을 복사한다. - #include - #include ​ 3. char strcmp(const char *str1, const char *str2) : 문자열 비교 - str1과 str2를 비교하여 -1, 0, 1의 값(정수)을 반환한다. - #include - #include str1 > str2 1 str1 < str2 -1 str..
[C언어] 실습: 다섯 개의 정수를 입력받은 후, 총합 계산하기 다섯 개의 정수를 입력받은 후, 총합 계산하기 (입력받은 정수는 배열에 저장) #include int add(int data[5]); // 함수 정의 시, 매개 변수가 배열이 되면 배열의 이름, 크기를 기입해야 한다. int main(){ int num[5] = {0}; // 배열의 초기화 int sum = 0; for(int i = 0; i < 5; i++){ printf("num[%d] : ", i); scanf("%d", &num[i]); } sum = add(num); // add() 함수 호출 printf("총 합 : %d\n\n", sum); printf("num 배열의 주소 : %d\n", num); // 배열의 주소는 printf("num[0]의 주소 : %d\n", &num[0]); //..
[Arduino] 피에조 부저 실습: '울면 안돼' 연주하기 '울면 안돼' 연주하기 (준비물) 아두이노 우노(Arduino Uno) USB 케이블 피에조 부저 (회로 연결) ※ 그래픽 회로의 핀은 9, 실물 회로의 핀은 11로 다르다. int buzzer = 11; int tones3[] = {130, 146, 164, 174, 195, 220, 246}; int tones4[] = {261, 293, 329, 349, 391, 440, 493}; // 도레미파솔라시 int tones5[] = {523, 587, 659, 698, 783, 880, 987}; void setup(){ pinMode(buzzer, OUTPUT); } void loop(){ int song[] = {tones4[2], tones4[3], tones4[4], tones4[4], tone..
[C언어] 버블 정렬(Bubble Sort) 정렬(Sort)은 주어진 값에 따라 순서대로 나열하는 기능이다. 정렬에는 선택 정렬(Selection Sort), 삽입 정렬(Insertion Sort), 버블 정렬(Bubble Sort)이 있다. #include #define SIZE 5 // 버블 정렬(Bubble Sort) int main(){ int score[5] = {80, 85, 90, 67, 70}; int tmp = 0; // 임시 변수 선언 for(int i = 0; i score[j]){ // score[i]가 score[j]보다 크..
[Arduino] 스위치 실습: 스위치를 눌러 LED On/Off 제어하고 시리얼 모니터에 표시하기 스위치를 눌러 LED On/Off 제어하고 시리얼 모니터에 표시하기 (준비물) 아두이노 우노(Arduino Uno) USB 케이블 LED 스위치 모듈 저항 점퍼 케이블 (회로 연결) int pin_switch[3] = {13, 12, 11}; int pin_led[3] = {7, 6, 5}; void setup(){ Serial.begin(9600); for(int i = 0; i < 3; ++i){ pinMode(pin_switch[i], INPUT); pinMode(pin_led[i], OUTPUT); } Serial.println("LED Control"); } void loop(){ for(int i = 0; i < 3; ++i){ if(!digitalRead(pin_switch[i])){ // ..
[C언어] 배열의 크기 #include int main(){ int length = 0; int a[] = {1, 2, 3, 4}; // 배열의 크기보다 작게 초기화를 주면, 나머지는 0이 저장된다. // 배열의 크기보다 크게 초기화를 주면, 오류가 발생한다. // 배열에 초기화 선언을 하면 배열의 크기([])는 생략이 가능하다. length = sizeof(a) / sizeof(a[0]); // 배열 a의 크기에 a[0] 크기를 나누어 준다. // 즉, 전체 크기에서 갯수를 나누어 주면 하나의 크기가 나온다. // 배열 a의 크기 = a[0] * 크기 printf("a의 크기 : %d\n", sizeof(a)); // sizeof()함수를 이용해 변수 a의 크기를 구한다. printf("배열의 크기 : %d\n", lengt..
[C언어] 실습: 다섯 개의 정수를 입력받은 후, 최댓값 출력하기 다섯 개의 정수를 입력받은 후, 최댓값 출력하기 입력형식 출력형식 자료1: 자료2: 자료3: 자료4: 자료5: 입력 데이터: xx xx xx xx xx 최댓값: xx #include int main(){ int arr[5]; int max = 0; for(int i = 0; i < 5; i++){ // 크기 5의 배열 arr[]에 5개의 정수를 입력받는다. printf("자료%d : ", i + 1); scanf("%d", &arr[i]); // 입력받은 정수를 순서대로 배열에 저장한다. } printf("입력 데이터 : "); for(int i = 0; i < 5; i++){ printf("%4d", arr[i]); if(max < arr[i]) // max보다 arr[i]가 크면, max = arr[..

반응형