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

발렌타인 데이 아이디어 - 함께 보낸 날 카운터(사진)

구성품 및 소모품

실시간 시계(RTC)
DS3231
× 1
Arduino KYX-5461AS 4자리 7세그먼트
× 1
브레드보드(일반)
× 1
점퍼 와이어(일반)
× 1
Arduino UNO
× 1
저항 1k 옴
× 1

이 프로젝트 정보

2017년, 9월에 저는 대학교 2학년을 막 시작했을 때 멋진 소녀를 만났습니다. 나는 그녀와 그녀의 친구들과 함께 숙소로 이사했고 우리는 결국 나와 그녀만 함께 한 층을 함께 사용하게 되었습니다. 그렇게 우리는 대화를 나누며 가장 친한 친구가 되었고 몇 달 후 서로 데이트를 시작했습니다. 날짜를 시작한 날짜는 2017년 12월 10일(UK DATE)입니다.

낮; 10번째

월; 12번째

어쨌든, 거의 1년이 지나고 기념일을 위해 무엇을 할 것인지 알아내려고 노력하고 있는데 아이디어가 떠올랐습니다. 내가 공부하던(전자공학) 일을 그녀에게 하게 하면 좋을 것 같아서 데이트를 시작한 날짜를 세는 카운팅 시스템을 결정하고 그것을 액자에 넣어 나와 그녀의 사진을 찍습니다. 함께.

이 스레드를 보고 기념일에 대한 아이디어가 필요하거나 그냥 둘러보고 있을 수 있습니다. 어느 쪽이든 재미있는 프로젝트이므로 만드는 방법을 보여주기 위해 여기에 모든 것을 입력하겠습니다. 스스로.

이 프로젝트에서 유일한 어려운 부분은 코드입니다. 컴파일하고 업로드할 때 나와 내 여자 친구의 날짜가 표시되는 샘플 템플릿을 만들었습니다. 그러나 코드에 주석을 추가하여 자신의 날짜에 편집할 수 있도록 했습니다.

어쨌든 즐감하세요!

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

코드

<울>
  • DaysCounter.ino
  • DaysCounter.inoC/C++
    이를 위해서는 arduino IDE를 다운로드해야 합니다.
    RTC 라이브러리 zip 파일,
    세븐 세그먼트 zip 파일

    두 라이브러리를 arduino ide가 설치된 라이브러리 폴더에 저장합니다.

    거기에서 arduino ide를 열고 '스케치'를 클릭하십시오.
    '라이브러리 포함'
    'zip 라이브러리 추가'

    아래 코드를 따르십시오
    시간 조정 - 괄호 안의 7행(2017, 12, 9, 0, 0, 0,)에서 처음 3개의 숫자를 변경해야 합니다.
    즉 2017, 12, 9 ----> 2014, 4, 6,
    함께한 날짜가 무엇인지 거기에 입력하십시오.

    그런 다음 컴파일하고 업로드를 선택하고 모든 것이 계획대로 진행되었고 단계를 올바르게 따랐다면 함께 있었던 일수가 표시되어야 합니다.
    #include #include SevSeg sevseg; //7 세그먼트 컨트롤러를 인스턴스화합니다. objectRTC_DS3231 rtc; 날짜 시간 dtBegin (2017, 12, 9, 0, 0, 0); //!!!! 여기서 시간 조정!!!!!TimeSpan tsPassed;void showInfo(const DateTime&dt) { Serial.print("NOW:"); Serial.print(dt.year(), DEC); Serial.print('/'); Serial.print(dt.month(), DEC); Serial.print('/'); Serial.print(dt.day(), DEC); Serial.print(' '); Serial.print(dt.hour(), DEC); Serial.print(':'); Serial.print(dt.min(), DEC); Serial.print(':'); Serial.print(dt.second(), DEC); Serial.print("\t통과:"); Serial.print(tsPassed.days(), DEC); Serial.print(' '); Serial.print(tsPassed.hours(), DEC); Serial.print(':'); Serial.print(tsPassed.minutes(), DEC); Serial.print(':'); Serial.print(tsPassed.seconds(), DEC); Serial.println("");}//==========================================////=============================================uint32_t parDelay){ uint32_t 시작=밀리(); 동안 (밀리()<시작+parDelay){ sevseg.refreshDisplay(); }}//==========================//=========================무효 설정(){ Serial.begin(9600); Serial.println(__TIME__); if (!rtc.begin()) { Serial.println("RTC를 찾을 수 없습니다"); //===여기서 장치가 고정됩니다. //?????????일부 오류일 수 있는데 LED 깜박임이 사용하면 좋겠죠??????? 동안 (1); } 지연(1000); //!!!!! 시간 조정://1) 아래(해당 주석 아래) 행의 주석 처리를 제거합니다. //2) 코드를 다시 업로드합니다. //3) 다시 주석 행 //4). 한 번 더 업로드 rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); // 시간을 조정하는 라인 바이트 numDigits =4; 바이트 digitPins[] ={7, 8, 9, 10}; //SEG:A B C D E F G . //PIN:11 7 4 2 1 10 5 3 //ARDU:2 3 4 5 11 12 13 6 //byte segmentPins[] ={2, 3, 4, 5, 11, 12, 13, 6}; 바이트 세그먼트 핀[] ={2, 3, 4, 5, 11, 12, 13, 6}; 부울 저항기OnSegments =false; // '거짓'은 저항이 숫자 핀에 있음을 의미합니다. byte hardwareConfig =COMMON_CATHODE; // 옵션은 README.md를 참조하십시오. bool updateWithDelays =false; // 기본값은 'false'입니다. 권장 boolleadingZeros =false; // 선행 0을 유지하려면 'true'를 사용하십시오. bool disableDecPoint =true; // 소수점이 없거나 연결되지 않은 경우 'true' 사용 sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments, updateWithDelays,leadingZeros, disableDecPoint); sevseg.setBrightness(100); sevseg.setNumber(1234, 1); 지연 업데이트(1000); sevseg.setNumber(8888, 1); 지연 업데이트(1000); }//==========================//=========================무효 루프(){ sevseg.refreshDisplay(); 지금 날짜 시간 =rtc.now(); tsPassed =지금-dtBegin; 정적 uint32_t nextReportMillis=0; 정적 uint16_t prevDaysPassed=0; if (tsPassed.days() !=prevDaysPassed){ ​​prevDaysPassed=tsPassed.days(); sevseg.setNumber(prevDaysPassed, 0); } sevseg.refreshDisplay(); if (millis()>nextReportMillis){ //===여기에 일부 정보 인쇄 showInfo(now); nextReportMillis=밀리()+5000; } }

    회로도

    https://www.circuito.io/app?components=512,11021]

    링크를 복사하여 붙여넣습니다.

    구성 요소 추가 클릭

    유형;
    RTC(추가);

    7 세그먼트 디스플레이 20mm(일반 선택, sparkfun 선택 안 함);

    다이어그램을 따르고 점퍼 케이블을 사용하여 각 핀을 연결하십시오.

    제조공정

    1. Arduino 디지털 주사위
    2. 아이언맨
    3. 나를 찾기
    4. Arduino 3D 인쇄 로봇 팔
    5. Arduino 가습기 제어
    6. Arduino + Processing + PHP를 사용한 자동차 카운터
    7. 새롭고 더 빠른 알고리즘이 포함된 Arduino 기반 RPM 카운터
    8. NeoMatrix Arduino Pong
    9. Arduino 조이스틱
    10. Arduino TEA5767 FM 라디오 수신기