우리는 이전에 컬러 센서를 사용하여 Arduino 기반 지폐 계수기를 구축했습니다. 이제이 프로젝트에서 우리는 IR 센서를 사용하여 Arduino 계수기를 구축하고 있습니다. 이 기계는 적외선 센서의 도움으로 여러 섹션에서 동전을 세고 분류합니다. 여기에서는 IR 센서를 배치하여 서로 다른 동전을 감지하고 Arduino UNO를 사용하여 데이터를 처리하고 16x2 LCD에 총 카운트 값을 표시합니다.
필수 구성 요소
- Arduino UNO
- IR 센서
- 브레드 보드
- 16 * 2 영숫자 LCD
- 16x2 (1602) 영숫자 LCD 용 I2C 모듈
- 전선 연결
Arduino Coin Sorter의 구조 만들기
1 단계: 카드 보드 시트를 가져다가 아래 그림과 같이 다양한 크기의 동전을 표시합니다. 그런 다음 표시된 부분을 조심스럽게 자릅니다. 이러한 부분을 정확하게 절단해야합니다. 그렇지 않으면 프로젝트가 완벽하게 작동하지 않을 수 있습니다.
2 단계: 아래 그림과 같이 경사 구조에 위의 배열을 배치합니다. 배열을 마친 후 경사면에 다른 동전을 삽입하여 배열이 완벽하게 작동하는지 확인하십시오. 동전이 제대로 삽입되지 않으면 동전에 따라 구멍의 크기를 약간 늘리고 성공적으로 작동 할 때까지 다시 확인하십시오.
3 단계: 개별 동전의 출력 경로 근처에 IR 센서를 배치합니다. 센서를 올바르게 배치하고 전위차계를 사용하여 보정하는 것이 매우 중요합니다. 그런 다음 동전을 다시 삽입하여 센서 작동을 확인하십시오. 여기에서 IR 센서 회로에 대해 자세히 알아보십시오.
회로도
아래는 Arduino 계수기의 회로도입니다.
여기에서 IR 센서는 동전을 감지하기 위해 동전 분류기의 다른 출력 경로에 배치됩니다. 이 아두 이노 코인 카운터에 코인을 삽입하면 기계 설계에 따라 전용 경로로 들어가고 각각의 IR 센서가 코인을 감지하여 아두 이노의 아날로그 핀으로 읽을 수있는 아두 이노에 HIGH 출력값을줍니다. HIGH 값을주는 IR 센서는 루피 2/5/10과 같이 코인 값을 결정합니다.
여기에서 16x2 영숫자 LCD는 I2C 모듈을 사용하여 Arduino와 인터페이스되어 상자에 삽입 된 동전 수를 표시합니다. 이 LCD는 I2C 모듈을 사용하지 않고 Arduino에 직접 연결할 수도 있지만 더 많은 연결이 필요합니다. 그래서 더 간단하게하기 위해 I2C 모듈을 LCD와 함께 사용하는데, 이는 LCD와 Arduino를 연결하기 위해 2 개의 핀, 즉 SCL, SDA만을 사용합니다. Arduino에 전원을 공급하기 위해 12VDC, 1 AMP AC-DC 어댑터가 사용되며 Arduino의 전원 잭에 직접 연결할 수 있습니다.
약간의 수정 후 Arduino 기반 동전 분류기 의 전체 설정 은 다음과 같습니다.
Arduino 프로그래밍
성공적인 하드웨어 연결이 끝나면 이제 Arduino를 프로그래밍 할 차례입니다. Arduino의 전체 코드는이 튜토리얼의 하단에 있습니다. 코드에 대한 단계별 설명은 다음과 같습니다.
프로그램에서 가장 먼저해야 할 일은 필요한 모든 라이브러리를 포함하는 것입니다. 여기에서는 LCD의 I2C 인터페이스를 사용하기위한 “ LiquidCrystal_I2C.h” 라이브러리와 Arduino에서 I2C 기능을 사용하기위한 “ Wire.h ”를 포함했습니다.
#포함
내부 설정은 (), LCD 명령은 LCD에 환영 메시지를 표시하기 위해 작성됩니다.
lcd.init (); lcd.backlight (); lcd.setCursor (0,0); lcd.print ("ARDUINO BASED"); lcd.setCursor (0,1); lcd.print ("코인 분류"); 지연 (2000); lcd.clear ();
loop () 내부 에서 analogRead 함수는 Arduino의 다른 아날로그 채널에서 적외선 센서 값을 읽고 다른 변수에 저장하는 데 사용됩니다.
int s1 = analogRead (A0); int s2 = analogRead (A1); int s3 = analogRead (A2);
그런 다음 아래 코드를 작성하여 동전을 감지하고 동전 카운터 값을 증가시킵니다. 여기서 플래그 값 f1은 동전의 여러 카운트를 피하기 위해 사용됩니다.
if (s1> = 200 && f1 == 0) {f1 = 1; } else if (s1 <200 && f1 == 1) {f1 = 0; c1 ++; }
마지막으로 카운트 값은 아래 명령을 사용하여 LCD에 표시됩니다.
lcd.setCursor (0,0); lcd.print ("RS10 RS2 RS5"); lcd.setCursor (1,1); lcd.print (c1); lcd.setCursor (7,1); lcd.print (c2); lcd.setCursor (14,1); lcd.print (c3);
Arduino Coin Counter 작동
설정을 완료하고 코드를 업로드 한 후 12V DC 전원 공급 장치를 켭니다. 먼저 환영 메시지가 LCD에 표시되고 몇 초 후 사용 가능한 모든 동전 수가 LCD에 표시됩니다. 처음에는 아직 동전을 넣지 않았으므로 0으로 표시됩니다.
다음으로“ 코인 삽입 ”이라고 쓰여진 기계 상단에 동전 (Rs. 2/5/10)을 넣으십시오. 이제 LCD에서 동전 수의 값이 업데이트되어야 함을 볼 수 있습니다. 그런 다음 다른 값의 여러 동전을 삽입하고 LCD에서 각 동전의 개수를 확인합니다.
비디오와 함께 완전한 코드 가 아래에 제공됩니다.