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

Arduino로 물방울 캡처

구성품 및 소모품

Arduino Nano R3
× 1
레이저 모듈 KY-008
× 1
LM393 광 센서 모듈
× 1
범용 트랜지스터 NPN
× 3
회전 전위차계(일반)
× 1
C&K 스위치 PTS 645 시리즈 스위치
× 1

앱 및 온라인 서비스

Arduino IDE

이 프로젝트 정보

이 프로젝트는 사진의 이 영역에 대한 갈망의 결과로 탄생했습니다. 아래에서 물방울의 고속 사진을 만들기 위해 만든 간단한 Arduino 기반 설정을 볼 수 있습니다.

먼저 수동 설정이 가능한 포토 카메라와 외부 플래시 라이트가 있어야 하며 둘 다 원격 제어를 지원해야 합니다. 케이블이 있는 Sony DSC-HX300(그림 1)과 GODOX SY8000(그림 2)이 있습니다.

그림 2에서 SyncCable의 PC 커넥터에 조심스럽게 절연되어 부착된 두 개의 Arduino 와이어를 볼 수 있습니다.

간단한 3핀 헤더를 추가하여 리모컨을 수정하기로 했습니다(그림 3).

리모콘(그림 4) 내부에는 두 개의 회로(«2–3», 버튼을 누르고 있을 때 «1–2»).

이제 핀 헤더가 설치되었으므로 Arduino를 사용하여 프로그래밍 방식으로 버튼 누르기를 에뮬레이트할 수 있습니다.

SyncCable은 같은 방식으로 작동합니다. 플래시를 발광하려면 PC 커넥터의 접점을 단락시켜야 합니다.

내 목표는 물방울이 수면에 떨어지는 순간을 포착하는 것이었습니다.

설정을 단순화하기 위해 함께 조립된 약품 점적기의 일부를 사용했습니다(그림 5).

레이저 모듈 KY-008 및 LM393 기반 광 센서 모듈은 낙하를 감지합니다(그림 6).

떨어지는 방울이 레이저 빔을 차단하여 회로를 차단하는 방식으로 이러한 모듈을 배열하는 것이 가능합니다. 광 센서는 모듈의 가변 저항을 회전하여 레이저 출력에 대한 감도를 조정할 수 있습니다. 또한 모듈을 서로 멀리 떨어져 배치할 수 있습니다.

촬영은 어두운 곳에서 몇 초 동안 장노출로 진행되므로 최종 결과는 단시간 플래시만 중요합니다.

회로도는 그림 7에 나와 있습니다.

설정이 완전히 자동화되지 않았습니다. 관찰 가능한 드롭 분리 전에 사용자는 버튼을 누릅니다. Autofocus Trigger와 Shutter Trigger로 리모콘의 접점을 연속적으로 줄여 몇초간 셔터를 연다. 또한 버튼을 눌러 플래시 라이트를 발사할 수 있습니다. 방울이 레이저 빔을 가로지르면 플래시 라이트 트리거가 PC 커넥터의 접점을 단락시키고 플래시 라이트가 발광합니다. 레이저 빔을 교차하고 SyncCable의 접점을 줄이는 사이의 시간은 전위차계에 의해 1~500ms 범위에서 조정됩니다. (제한은 코드에서 변경할 수 있습니다). 이런 식으로 스플래시의 다른 순간을 캡처할 수 있습니다. 다음 방울은 플래시를 터뜨리지 않습니다. 이 기능을 활성화하려면 버튼을 다시 눌러야 합니다.

어셈블리는 그림 8에 나와 있습니다.

위의 회로에 광 커플러를 추가하여 고전압 플래시 라이트를 저전압 전자 장치에서 분리할 수 있습니다.

주요 코드 매개변수는 그림 9와 같습니다. 프로젝트는 Arduino Nano를 기반으로 합니다.

«DBG_MODE» 플래그는 레이저 모듈과 광 센서 모듈 모두의 예비 배열 및 조정을 위한 것입니다. 이 모드에서는 카메라나 플래시를 사용하지 않습니다. 아두이노 보드에 내장된 LED가 인디케이터 역할을 합니다.

설정을 조정하려면 플래그의 주석 처리를 제거하고 코드를 컴파일하고 Arduino를 플래시합니다. 설정이 올바르면 버튼을 눌렀을 때 LED가 켜지고(셔터 시뮬레이션) 한 방울이 레이저 빔을 가로지르면 꺼집니다(플래시 라이트 발사 시뮬레이션).

설정이 제대로 작동하면 플래그를 다시 주석 처리하고 코드를 컴파일하고 Arduino를 다시 플래시합니다.

코드에는 다음 상수도 포함되어 있습니다.

· 이 프로젝트의 구성 요소가 연결된 Arduino 핀,

· 자동 초점, 셔터 또는 플래시 라이트의 접점이 단락될 때 지연이 적용됩니다.

· 전위차계로 조정 가능한 시간 범위의 제한.

일부 결과는 그림 10 – 12에 나와 있습니다.


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

코드

<울>
  • 제목 없는 파일
  • 제목 없는 파일Arduino
    //#define DBG_MODEconst byte BUTTON_PIN =2;const byte FOCUS_PIN =3;const byte SHUTTER_PIN =4;const byte FLASH_PIN =5;const byte SENSOR_PIN =6;const unbyte RESISTOR_PIN =A5; const unsigned int SHUTTER_DELAY =100; const unsigned int FLASH_DELAY =10; const unsigned int FIRE_DELAY_MIN =1;const unsigned int FIRE_DELAY_MAX =500;boolean prevButton, currButton;boolean prevButton, currButton;boolean prevButton #ifndef DBG_MODE digitalWrite(FOCUS_PIN, HIGH); 지연(FOCUS_DELAY); 디지털 쓰기(SHUTTER_PIN, 높음); 지연(SHUTTER_DELAY); 디지털 쓰기(SHUTTER_PIN, LOW); 지연(FOCUS_DELAY); 디지털 쓰기(FOCUS_PIN, LOW); #else digitalWrite(LED_BUILTIN, HIGH); #endif}fireFlash() 무효화 { #ifndef DBG_MODE digitalWrite(FLASH_PIN, HIGH); 지연(FLASH_DELAY); 디지털 쓰기(FLASH_PIN, LOW); #else digitalWrite(LED_BUILTIN, LOW); #endif } 무효 설정() { pinMode(BUTTON_PIN, INPUT_PULLUP); 핀모드(FOCUS_PIN, 출력); 핀모드(SHUTTER_PIN, 출력); 핀모드(FLASH_PIN, 출력); 핀모드(센서_핀, 입력); #ifdef DBG_MODE 핀모드(LED_BUILTIN, 출력); #endif digitalWrite(FOCUS_PIN, LOW); 디지털 쓰기(SHUTTER_PIN, LOW); 디지털 쓰기(FLASH_PIN, LOW); prevButton =디지털 읽기(BUTTON_PIN); prevSensor =디지털 읽기(SENSOR_PIN); allowFlash =false;} 무효 루프() { currButton =digitalRead(BUTTON_PIN); if (prevButton !=currButton) { prevButton =currButton; if (currButton ==LOW) { allowFlash =true; prevSensor =높음; 화재 지연 =지도(analogRead(RESISTOR_PIN), 0, 1023, FIRE_DELAY_MIN, FIRE_DELAY_MAX); 오픈셔터(); } else { 지연(50); } } currSensor =디지털 읽기(SENSOR_PIN); if (prevSensor !=currSensor) { prevSensor =currSensor; if (currSensor ==HIGH) { if (allowFlash) { allowFlash =false; 지연(불 지연); 파이어 플래시(); } } }} 

    회로도


    제조공정

    1. Arduino로 코인 억셉터 제어
    2. IoT 및 AI로 수중 생물 구하고 수질 오염 방지
    3. JX 웨이브 생성기
    4. Bluetooth가 탑재된 Arduino로 LED 제어!
    5. Arduino Cloud로 집의 온도를 어디에서나 알 수 있습니다!
    6. Arduino Mega를 NEO-6M GPS 모듈과 인터페이스하는 방법
    7. U-blox LEA-6H 02 GPS 모듈(Arduino 및 Python 포함)
    8. Arduino와 함께 MAX30100 웨어러블 펄스 센서 사용
    9. Nextion 디스플레이로 Fridgeye 앱 구축
    10. YL-39 + YL-69 토양 습도 센서를 Arduino와 함께 사용