

Arduino Nano, 서보 모터, 버튼 1개와 LED 2개로 제어되는 3D 프린팅 잠금 상자 SmartVault를 설계하고 제작했습니다.
버튼을 누르면 서보 모터가 뚜껑 메커니즘을 움직이고, LED는 상자의 상태를 표시합니다. 상자가 열려 있으면 녹색, 닫혀 있으면 빨간색으로 표시됩니다.
이 프로젝트는 CAD 모델링, 3D 프린팅, 전자 장치, 메커니즘 및 마이크로컨트롤러 프로그래밍을 하나의 작동하는 설계로 결합합니다.

전자 부품:
제작:
소프트웨어 + 도구:

코드부터 시작하겠습니다:
코드:
#include <Servo.h>
Servo lockServo;
const int buttonPin = 2;
const int greenLED = 3;
const int redLED = 4;
bool openState = false;
void setup() {
lockServo.attach(9);
pinMode(buttonPin, INPUT_PULLUP);
pinMode(greenLED, OUTPUT);
pinMode(redLED, OUTPUT);
lockServo.write(60);
digitalWrite(redLED, HIGH);
digitalWrite(greenLED, LOW);
}
void loop() {
if (digitalRead(buttonPin) == LOW) {
delay(50);
while (digitalRead(buttonPin) == LOW) {
}
openState = !openState;
if (openState) {
lockServo.write(120);
digitalWrite(greenLED, HIGH);
digitalWrite(redLED, LOW);
} else {
lockServo.write(60);
digitalWrite(greenLED, LOW);
digitalWrite(redLED, HIGH);
}
delay(200);
}
}
확장 보드의 핀 연결은 다음과 같습니다:
D2 = 푸시 버튼
D3 = 녹색 LED
D4 = 빨간색 LED
D9 = 서보 신호
Arduino Nano를 Nano 확장 보드에 단단히 삽입합니다.
서보 신호선을 D9에 연결하고, 전원선과 접지선은 확장 보드의 해당 전원 및 접지 연결부에 연결합니다. 그런 다음 위에서 설명한 것처럼 녹색 LED는 D3에, 빨간색 LED는 D4에 연결하고, 각 LED에 220 저항을 사용합니다. 이어서 푸시 버튼을 D2에 연결합니다.
마지막으로 USBC/데이터 케이블을 사용해 Nano를 연결합니다. 아직 모든 부품을 영구적으로 설치하지 마세요. 코드를 업로드하고 최종 조립 전에 전체 회로가 제대로 작동하는지 확인하는 편이 좋습니다.
인클로저 안에 넣기 전에 회로를 테스트합니다. 처음 전원을 켰을 때 SmartVault는 닫힌 상태를 유지해야 합니다. 서보는 60°에 있어야 하고 빨간색 LED는 켜져 있으며 녹색 LED는 꺼져 있어야 합니다.
버튼을 한 번 누르면 서보가 120으로 회전하고, 빨간색 LED는 꺼지며 녹색 LED는 켜져야 합니다.
버튼을 다시 누릅니다. 서보는 60°로 돌아가고 빨간색 LED가 다시 켜져야 합니다. 세 구성 요소가 모두 올바르게 반응하면 전자 부품을 설치할 준비가 된 것입니다.

원래 설계에서는 여러 개의 셸 부품을 각각 따로 출력했지만, 테스트 후 재료 낭비를 줄이고 전자 부품을 위한 공간을 더 확보하도록 설계를 변경했습니다.
가장 효과적인 설계에는 다음이 포함됩니다:
이렇게 하면 재료 낭비를 최소화할 뿐 아니라, 상자를 분해하지 않고도 Arduino에 전원을 공급하고 프로그래밍할 수 있습니다.
인클로저를 완전히 모델링한 후 Fusion 360에서 최종 부품을 STL 파일로 내보내고 원하는 슬라이싱 소프트웨어에서 준비합니다. 본체 인클로저와 뚜껑은 따로 출력하는 것이 좋습니다. 출력하기 전에 버튼, LED 및 USB 케이블용 개구부가 부품에 맞는 크기인지 확인합니다. 오목한 전자 부품 선반에는 Arduino Nano, 확장 보드 및 배선을 넣을 충분한 공간이 있어야 합니다.
출력 후:
모든 배선과 조립을 마친 후보다 이 단계에서 작은 부분을 조정하는 것이 훨씬 쉽습니다.
전자 부품을 설치하기 전에 회로를 따로 조립하고 테스트합니다. 이렇게 하면 최종 조립 전에 배선 문제를 훨씬 쉽게 찾아 해결할 수 있습니다.

모든 테스트를 마친 후 전자 부품을 해당 공간에 조심스럽게 인클로저 안에 넣습니다. Arduino와 확장 보드는 오목한 전자 부품 선반 위에 배치하고, 점퍼 와이어를 위한 충분한 공간을 주변에 남겨 둡니다. 두 LED를 각각의 개구부로 통과시키고 푸시 버튼을 개구부에 배치합니다.
발생할 수 있는 문제 중 하나는 버튼을 눌렀을 때 단단히 고정되어 있지 않을 수 있다는 것입니다. 버튼이 상자 안쪽으로 조금 밀려 들어갈 수 있으므로, 그렇다면 버튼 뒷면에 테이프를 조금 붙여 상자 안에 고정해 보세요. 또한 USBC 포트가 인클로저 측면에서 계속 접근 가능한지 확인합니다. 서보는 뚜껑 메커니즘 가까이에 배치하여 전선을 팽팽하게 당기지 않고도 움직임이 뚜껑으로 전달되도록 합니다.
배선은 오목한 공간 안에 정리하여 상자 안의 내용물이나 뚜껑의 움직임을 방해하지 않도록 하세요. 이렇게 하면 외관도 깔끔하고 정돈된 디자인을 유지할 수 있습니다.
그런 다음 뚜껑을 인클로저에 맞추고 힌지와 나사를 사용해 부착합니다. Fusion 360의 치수에 따라 힌지 구멍 크기를 약간 조정해야 할 수도 있습니다.
서보가 60도에서 120도 사이로 회전하도록 배치한 다음, 서보 암을 메커니즘의 움직이는 부분에 연결하고 모든 것을 영구적으로 고정하기 전에 움직임을 테스트합니다. 필요한 경우 각도를 조정합니다.
정확한 위치는 출력한 부품의 치수와 힌지 배치에 따라 약간 조정해야 할 수 있습니다. 처음 테스트할 때 메커니즘을 천천히 움직여 인클로저에 걸리는 부분이 없는지 확인했으며, 이는 문제 해결에 도움이 되었습니다.
뚜껑이 정확하고 매끄럽게 열리고 닫히면 서보와 다른 부품을 고정합니다.
프로젝트가 완전히 끝났다고 판단하기 전에 몇 차례 열고 닫는 동작을 실행하여 모든 것이 원활하게 작동하는지 확인합니다. 코드가 제대로 업로드되었는데도 서보가 반응하지 않는다면, 다른 조치를 하기 전에 Arduino Nano가 확장 보드에 제대로 장착되어 있는지, USBC/데이터 연결이 확실한지 확인합니다.
LED가 켜지지 않으면 저항과 점퍼 와이어 연결을 확인합니다. 그래도 문제가 해결되지 않으면 LED를 교체합니다. 서보는 움직이지만 뚜껑이 제대로 열리거나 닫히지 않으면 서보 위치 또는 서보 암과 뚜껑 메커니즘 사이의 연결을 조정합니다. 모든 것이 안정적으로 작동하면 남은 느슨한 부품을 고정하고 최종 조립을 완료합니다.
그러면 작동하는 SmartVault가 완성됩니다.
원문: https://www.instructables.com/SmartVault-Arduino-Controlled-3D-Printed-Lockbox/