Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Har du någonsin det här problemet att när du går ner på gatan medan du bär något tungt (till exempel matvaror) och en dam går förbi som du vill tipsa din fedora för att hälsa henne, men om du gör det kommer du att släppa vad bär du på? Jag inte heller, men om du gör det, här är en enkel, men elegant lösning på detta problem.
Steg 1: Material
- En arduino -kontroller
- Servomotor
- Tryckknappsbrytare
- 10k Ohm motstånd- brun-svart-orange
- En tillräcklig mängd trådar som är kompatibla med din längd
Steg 2: Tryckknappsanslutningar
- Den svarta ledningen på diagrammet ansluter stift 1 på omkopplaren (på vänster sida) till GND -stiftet på Arduino.
- Den gula tråden på diagrammet ansluter stift 2 på omkopplaren (på höger sida) till stift 8 på Arduino.
-Anslut ett 10kΩ motstånd (brun-svart-orange) till stift 2 (höger sida) och den andra terminalen till 3,3V-stiftet på Arduino.
Steg 3: Servomotoranslutningar
- Den vita tråden (gul i diagrammet) är ansluten från servomotorns signalstift till stift ~ 9 på Arduino.
- Den röda ledningen är ansluten från servomotorns signalstift till Arduino 5V -stift.
- Den gula tråden (svart i diagrammet) är ansluten från servomotorns jordstift till Arduino GND -stift.
Steg 4: Montera servomotorn
- Jag ristade några ringar i en penna för att knyta den till den roterande delen av servomotorn. Du kan använda band för att göra det, men jag tyckte att det var lite säkrare och mer stabilt att binda det med rep.
- Den andra änden av pennan ska fästas på hatten på baksidan. Jag tryckte ett gem från hattens utkant och böjde det i form så att det kunde hålla pennan på plats.
- Motorn i sig ska fästas på en tallrik (eller något annat som kan vila ovanpå huvudet utan att röra sig för mycket), som jag för tydlighetens skull utelämnade på bilden.
Steg 5: Kod
#inkludera;
// tryckknappsstift
const int buttonPin = 8;
// servostift
const int servoPin = 9;
Servoservo;
// skapa en variabel för att lagra en räknare och ställ den till 0
int räknare = 0;
void setup ()
{
servo.attach (servoPin);
// Ställ in tryckknappsstiften som en ingång:
pinMode (buttonPin, INPUT);
}
void loop ()
{
// lokal variabel för att hålla tryckknappstillstånden
int buttonState;
// läs det digitala tillståndet för buttonPin med digitalRead () -funktionen och lagra värdet i buttonState -variabel buttonState = digitalRead (buttonPin);
// om knappen trycks ned, stegvis räknaren och vänta lite för att ge oss lite tid att släppa knappen
if (buttonState == LOW)
// tänd lysdioden
{
räknare ++; fördröjning (150);
}
om (räknare == 0)
servo.write (20);
// noll grader
annat om (räknare == 1)
servo.write (80);
// annars återställ räknaren till 0 som återställer servo till 0 grader
annan
räknare = 0;
}
Steg 6: Dölja elektroniken
- För att få konstruktionen att verka mer oansenlig kan du skjuta arduinoen och tallriken med knappen i en liten låda (till exempel ett paket sigaretter eller en kartongförpackning) och göra ett hål i den. På så sätt kan du hålla konstruktionen i sikte utan att väcka misstankar om att något mer pågår.