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

전위차계가 없는 Arduino Nano LCD 스톱워치

구성품 및 소모품

브레드보드(일반)
× 1
Arduino Nano R3
× 1
Adafruit Standard LCD - 파란색 바탕에 16x2 흰색
× 1
SparkFun 푸시버튼 스위치 12mm
× 3
저항 10k 옴
× 5
저항 221옴
× 1
점퍼 와이어(일반)
× 26

이 프로젝트 정보

안녕하세요!

이 프로젝트는 LCD를 시작하기 위한 간단한 학습 프로젝트입니다. 이 프로젝트에서는 Arduino NANO와 LCD QUAPASS 1602A 16x2를 사용하고 있습니다. 이 스톱워치는 시간, 분, 초를 셀 수 있습니다. LCD의 밝기를 변경할 수도 있습니다.

코드를 조금만 변경하면 100분의 1도 셀 수 있지만 내 LCD의 경우 화면을 빠르게 새로 고칠 수 없기 때문에 작동하지 않습니다.

저는 제 스톱워치에 대해 거의 완벽한 타이밍을 설정했습니다(제 스톱워치의 편차는 약 15%이므로 실제 10분 동안 실행하면 제 스톱워치에서는 10분 2초가 됩니다). 따라서 시작 하위 프로그램(stopwatch라는 프로그램 하위 프로그램에서)을 변경하려는 경우 모든 코드의 Arduino 실행 시간 때문에 타이밍도 변경해야 합니다.

1단계

다음과 같이 Arduino와 LCD에 전선을 연결합니다.

2단계

Arduino IDE에서 아래에 내 코드를 복사하여 붙여넣습니다. 이제 Arduino를 USB 드라이브에 연결하십시오. 업로드 버튼을 클릭하면 프로그램이 실행됩니다.

3단계

간단하고 쉽게 만드는 LCD 스톱워치로 즐거운 시간 보내세요.

질문이 있으시면 댓글에 남겨주세요.

<섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

코드

<울>
  • 코드
  • 코드Arduino
    이것은 내 스톱워치의 코드입니다. Arduino IDE에서 복사하여 Arduino에 업로드하기만 하면 됩니다.
    /*정지, 시작, 재설정 및 랩 버튼이 있는 간단한 LCD 스톱워치 프로그램.*///LCD용 라이브러리 포함#include  //설정 up LCD INPUT 핀LiquidCrystal lcd(12,11,5,4,3,2);//시, 분, 초 및 밀리초를 0int h=0으로 설정; 정수 m=0; 정수 s=0; 정수 ms=0; // 모든 버튼에 대한 핀 정의const int start_pin =8; const int stop1_pin =9; const int reset_pin =10; // 시작점을 정의합니다(내 경우에는 0) int start=0; int stop1=0;int reset=0;int bright_pin =6; // 밝기를 설정하기 위한 핀을 정의합니다.int 밝기=100; // 밝기를 변경하기 위해 이 숫자를 변경할 수 있습니다. void setup() { analogWrite(brightness_pin ,brightness); // 핀 6의 밝기를 설정합니다. lcd.begin(16,2); //LCD 시작 //핀이 INPUT 또는 OUTPUT 핀인지 정의 pinMode(start_pin, INPUT); 핀모드(stop1_pin, 입력); 핀모드(reset_pin, 입력); 핀모드(밝기_핀, 출력);} 무효 루프() { lcd.setCursor(0,1); lcd.print("스톱워치"); lcd.setCursor(0,0); lcd.print("시간:"); lcd.print(h); lcd.print(":"); lcd.print(m); lcd.print(":"); lcd.print(들); 시작 =디지털 읽기(start_pin); //버튼 상태 읽기 if(start ==HIGH) { stopwatch(); //하위 프로그램 스톱워치로 이동 } } //--------SUB PROGRAMS----------------- -------- 무효 스톱워치(){ lcd.setCursor(0,0); //LCD 시작점 설정 lcd.print("TIME:"); //시간 쓰기 lcd.print(h); //쓰기 시간 lcd.print(":"); lcd.print(m); //분 쓰기 lcd.print(":"); lcd.print(들); //초 쓰기 ms=ms+10; 지연(10); if(ms==590) { lcd.clear(); //LCD 지우기 } if(ms==590) //초를 세는 경우 상태 { ms=0; s=s+1; } if(s==60) // 분 카운트를 위한 if 상태 { s=0; m=m+1; } if(m==60) //시간 계산을 위한 if 상태 { m=00; h=h+01; } lcd.setCursor(0,1); lcd.print("스톱워치"); stop1 =디지털 읽기(stop1_pin); //버튼 상태 읽기 if(stop1 ==HIGH) //버튼이 눌렸는지 확인 { stopwatch_stop(); //서브 프로그램으로 이동 } else { stopwatch(); //하위 프로그램으로 이동 }}void stopwatch_stop(){ lcd.setCursor(0,0); lcd.print("시간:"); lcd.print(h); lcd.print(":"); lcd.print(m); lcd.print(":"); lcd.print(들); lcd.setCursor(0,1); lcd.print("스톱워치"); 시작 =디지털 읽기(start_pin); //버튼 상태 읽기 if(start ==HIGH) { stopwatch(); //서브 프로그램으로 이동 } reset =digitalRead(reset_pin); //버튼 상태 읽기 if(reset ==HIGH) { stopwatch_reset(); //하위 프로그램으로 이동 loop(); } if(재설정 ==낮음) { stopwatch_stop(); //하위 프로그램으로 이동 }}void stopwatch_reset(){ lcd.clear(); lcd.setCursor(0,1); lcd.print("스톱워치"); h=00; //시를 0으로 설정 m=00; //분을 0으로 설정 s=00; //초를 0으로 설정 return; //프로그램을 종료하고 프로그램에 들어간 지점으로 복귀}
    라이브러리
    LCD에 필요한 라이브러리입니다.https://github.com/arduino-libraries/LiquidCrystal

    회로도

    이것은 내 회로의 개략도입니다.

    제조공정

    1. Nokia 5110 LCD의 DIY Simple 20kHz Arduino 오실로스코프
    2. 스마트 블라인드
    3. 아이언맨
    4. Arduino를 사용한 간단한 장애물 센서
    5. 나를 찾기
    6. Arduino 가습기 제어
    7. 128x64 LCD 디스플레이의 DIY 10Hz-50kHz 오실로스코프
    8. Arduino 조이스틱
    9. 보수계(Arduino 101)
    10. Arduino 컬러 믹서