Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Aveți vreodată această problemă că, atunci când mergeți pe stradă în timp ce purtați ceva greu (de exemplu, alimente) și o femeie trece pe lângă care doriți să-i arătați fedora pentru a o întâmpina, dar dacă faceți asta, veți renunța ce transporti? Nici eu, dar în caz că da, iată o soluție simplă, deși elegantă la această problemă.
Pasul 1: Materiale
- Un controler arduino
- Servo motor
- Apasă întrerupătorul
- Rezistor 10k Ohm - maro-negru-portocaliu
- O cantitate suficientă de fire compatibile cu lungimea dvs.
Pasul 2: Conexiuni cu buton
- Firul negru de pe diagramă conectează pinul 1 al comutatorului (din partea stângă) la pinul GND de pe Arduino.
- Firul galben de pe diagramă conectează pinul 2 al comutatorului (pe partea dreaptă) la pinul 8 de pe Arduino.
- Conectați un rezistor de 10kΩ (maro-negru-portocaliu) la pinul 2 (partea dreaptă) și celălalt terminal la pinul de 3,3V de pe Arduino.
Pasul 3: Conexiuni servomotor
- Firul alb (galben în diagramă) este conectat de la pinul de semnal al servomotorului la pinul 9 al Arduino.
- Firul roșu este conectat de la pinul de semnal al servomotorului la pinul de 5V al Arduino.
- Firul galben (negru în diagramă) este conectat de la pinul de masă al servomotorului la pinul GND al Arduino.
Pasul 4: Atașarea servomotorului
- Am sculptat niște inele într-un creion pentru a-l lega de partea rotativă a servomotorului. Ați putea folosi bandă pentru a face acest lucru, dar am găsit că legarea cu frânghie era ceva mai sigură și mai robustă.
- Celălalt capăt al creionului trebuie atașat la pălărie în partea din spate. Am împins o agrafă prin marginea pălăriei și am îndoit-o în formă, astfel încât să poată ține creionul în loc.
- Motorul în sine trebuie să fie atașat la o placă (sau la altceva care s-ar putea odihni deasupra capului fără a vă mișca prea mult), pe care l-am lăsat în imagine din motive de claritate.
Pasul 5: Cod
#include;
// acționarea butonului
const int buttonPin = 8;
// servo pin
const int servoPin = 9;
Servo servo;
// creați o variabilă pentru a stoca un contor și setați-o la 0
contor int = 0;
configurare nulă ()
{
servo.attach (servoPin);
// Configurați pinii butonului pentru a fi o intrare:
pinMode (buttonPin, INPUT);
}
bucla nulă ()
{
// variabilă locală pentru a menține stările butonului
int buttonState;
// citiți starea digitală a buttonPin cu funcția digitalRead () și stocați valoarea în variabila buttonState buttonState = digitalRead (buttonPin);
// dacă butonul este apăsat pe contor de creștere și așteptați puțin pentru a ne acorda ceva timp pentru a elibera butonul
if (buttonState == LOW)
// aprinde LED-ul
{
contor ++; întârziere (150);
}
if (contor == 0)
servo.write (20);
// zero grade
else if (contor == 1)
servo.write (80);
// altfel resetați contorul la 0 care resetează servo servo la 0 grade
altceva
contor = 0;
}
Pasul 6: Ascunderea dispozitivelor electronice
- Pentru a face construcția să pară mai puțin vizibilă, puteți înfunda arduino și placa cu butonul într-o cutie mică (de exemplu, un pachet de sigarete sau cutia unui pachet de cărți) și faceți o gaură în el. În acest fel puteți ține construcția la vedere fără a trezi suspiciunea că se întâmplă ceva mai mult.