산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

아두이노 우노로 기초 계산기 만들기 - 쉬운 프로젝트

부품 및 소모품

아두이노 우노 (Arduino UNO) 1개
아두이노 101 1개
아두이노 나노 R3 1개
아두이노 윤 (Arduino Yun) 1개
아두이노 메가 2560 1개
아두이노 듀 (Arduino Due) 1개
아두이노 레오나르도 1개

보드만 있으면 됩니다. 오리지널이든 호환 보드든 아두이노 IDE에서 작동하면 이 프로젝트도 작동합니다.

앱 및 온라인 서비스

프로젝트 소개

어느 날 수학 선생님이 아두이노 이야기를 하던 저에게 "아두이노로 수학도 할 수 있니?"라고 물으셨습니다. 전 "모르겠어요"라고 답했고, 그게 어떻게 가능할지 생각하게 만들었습니다. 방법을 알아냈고 이제 공유합니다.

여기 있습니다! 아두이노로 수학을 하는 아주 간단한 방법. 전 아두이노 우노를 썼지만 어떤 보드든 작동할 거라고 믿습니다.

단계별 과정은 아주 간단합니다:

더 나은 계산기를 만들 계획이지만 지금은 기본 연산만 가능합니다. '더 나은' 계산기를 원하시면 알려주세요. 기대해 주세요!

코드

계산기 코드

숫자와 연산자를 함께 입력하세요. 예: "2+3" 또는 "8*2", 결과를 출력합니다.

/* 시리얼 아두이노 계산기
 * 이 프로젝트에서 아두이노의 도움으로 기본 산술을 할 수 있습니다. 아주 원시적인 계산기 같은 거죠.
 * 두 숫자와 신호를 받아 연산을 수행합니다. 연산은 +, -, *, / 가능.
 * 예: "2+3" 전송 (따옴표 없이, 공백 없이), 아두이노가 5 응답.
 * "7-3" 입력하면 4 응답.
 * 제작: João Paulo Rodrigues Poltronieri
 * 이 코드는 퍼블릭 도메인입니다.
 */

// 정보를 저장할 변수 생성
long number1;  // 첫 번째 숫자, 시리얼 모니터로 전송
               // long 변수라 큰 숫자도 사용 가능
long number2;  // 두 번째 숫자
char calSignal; // 계산 신호 저장용 char 변수
long result;   // 계산 결과

void setup() {
  Serial.begin(9600); // 시리얼 통신 시작
  Serial.println("계산식을 보내주세요");
  Serial.println("예: 2+3");
  Serial.println(); // 테스트용 출력, 빈 줄
}

void loop() {
  while(Serial.available() > 0) { // 아두이노로 데이터가 전송되는 동안
    number1 = Serial.parseInt();  // 첫 번째 숫자
    // "Serial.parseInt" 사용으로 "23" 입력 시 number1에 23 저장
    // Serial.read() 썼으면 2만 저장됨
    
    calSignal = Serial.read();    // 첫 번째 숫자 뒤 첫 번째 정보 = 연산자
    number2 = Serial.parseInt();  // 두 번째 숫자 저장
    resolucao();                  // 계산 해결 커스텀 함수
    
    Serial.println("결과 = ");
    Serial.println(result);       // 계산 결과 출력
    Serial.println();             // 줄 바꿈
    Serial.println("또 다른 계산 부탁드려요"); // 포르투갈어 원문 유지
    Serial.println();             // 줄 바꿈
  }
}

void resolucao() {
  // 계산을 해결하는 커스텀 함수
  switch (calSignal) {
    // "switch...case"로 스케치 공간 절약. 기본적으로 여러 "if" 문 검증
    // calSignal에 든 값이 무엇인지 검증. 기본적으로 계산 "신호" 검증
    
    case '+' : // calSignal이 '+'면
      result = number1 + number2; // 숫자 더하기
      break; // case 탈출
      
    case '-' : // calSignal이 '-'면
      result = number1 - number2; // 숫자 빼기
      break;
      
    case '*' : // calSignal이 '*'면
      result = number1 * number2; // 숫자 곱하기
      break;
      
    case '/' : // calSignal이 '/'면
      result = number1 / number2; // 숫자 나누기
      // 나눗셈이 정확하지 않으면 결과는 가장 가까운 정수
      break;
      
    default : // 위 경우가 아니면
      Serial.println("잘못된 계산식"); // 에러 생성
      Serial.println();
      result = 0;
  }
}

주의: 원본 코드에 버그가 있습니다. 모든 case가 `case '+' :`로 되어 있어 -, *, / 연산이 작동하지 않습니다. 위 코드에서 수정했습니다.

회로도

기본적으로 보드만 있으면 됩니다.

제조공정

  1. DIY 아두이노 워드 클럭 – 세련된 실시간 텍스트 시계 만들기
  2. 아두이노 실시간 시계로 이슬람 기도 시간 알림 장치 만들기
  3. 아두이노 우노 와이파이 웹 서버: 브라우저로 LED 제어하기
  4. 아두이노로 간단한 장애물 센서 만들기 - IR LED & 포토다이오드 튜토리얼
  5. 아두이노 우노와 ATtiny85로 만드는 휴대용 POV(잔상) 디스플레이
  6. SerialDebug: 아두이노 디버깅을 위한 고급 시리얼 로깅 라이브러리
  7. 간편한 아두이노 스톱워치: 버튼 작동 크로노미터 제작하기
  8. 아두이노 손 씻기 타이머: 코로나19 예방을 위한 간단한 DIY 도구
  9. 아두이노 우노로 8×8 LED 매트릭스 마스터하기: 단계별 가이드
  10. Wi-Servo: 웹 브라우저로 와이파이 서보 모터 제어하기