INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Het u ooit die probleem dat as u in die straat loop terwyl u iets swaar dra (byvoorbeeld kruideniersware) en 'n dame verbyloop na wie u u fedora wil tip om haar te groet, maar as u dit doen, sal u val wat dra jy? Ek ook nie, maar as u dit doen, hier is 'n eenvoudige, maar elegante oplossing vir hierdie probleem.
Stap 1: materiaal
- 'n Arduino -beheerder
- Servomotor
- Drukknopskakelaar
- 10k Ohm weerstand- bruin-swart-oranje
- 'n Voldoende hoeveelheid drade wat by u lengte pas
Stap 2: Drukknopverbindings
- Die swart draad op die diagram verbind pen 1 van die skakelaar (aan die linkerkant) met die GND -pen op die Arduino.
- Die geel draad op die diagram verbind pen 2 van die skakelaar (aan die regterkant) met pen 8 op die Arduino.
-Koppel 'n 10kΩ-weerstand (bruin-swart-oranje) aan pen 2 (regterkant) en die ander terminaal aan die 3.3V-pen op die Arduino.
Stap 3: Servomotorverbindings
- Die wit draad (geel in die diagram) is verbind vanaf die seinpen van die servomotor tot pen 9 van die Arduino.
- Die rooi draad word van die seinpen van die servomotor gekoppel aan die 5V -pen van die Arduino.
- Die geel draad (swart in die diagram) word van die aardpen van die servomotor verbind met die GND -pen van die Arduino.
Stap 4: Bevestig die servomotor
- Ek het 'n paar ringe in 'n potlood gesny om dit aan die draaiende deel van die servomotor vas te maak. U kan 'n band gebruik om dit te doen, maar ek het gevind dat dit 'n bietjie veiliger en stewiger was om dit met tou vas te maak.
- Die ander kant van die potlood moet aan die hoed aan die agterkant vasgemaak word. Ek druk 'n skuifspeldjie deur die hoed se rand en buig dit in vorm sodat dit die potlood op sy plek kan hou.
- Die motor self moet aan 'n bord (of iets anders wat bo -op u kop kan rus, vasgemaak word), wat ek ter wille van die duidelikheid op die foto uitgelaat het.
Stap 5: Kode
#insluit;
// drukknoppen
const int buttonPin = 8;
// servospeld
const int servoPin = 9;
Servo servo;
// skep 'n veranderlike om 'n teller op te slaan en stel dit op 0
int teller = 0;
leemte opstelling ()
{
servo.attach (servoPin);
// Stel die drukknoppies in om 'n invoer te wees:
pinMode (buttonPin, INPUT);
}
leemte lus ()
{
// plaaslike veranderlike om die drukknoppie -state in te hou
int buttonState;
// lees die digitale toestand van buttonPin met digitalRead () -funksie en stoor die waarde in buttonState veranderlike buttonState = digitalRead (buttonPin);
// as die knoppie ingedruk word, verhoog die toonbank en wag 'n rukkie om ons tyd te gee om die knoppie los te laat
as (buttonState == LOW)
// steek die LED aan
{
toonbank ++; vertraging (150);
}
as (teller == 0)
servo.write (20);
// nul grade
anders as (teller == 1)
servo.write (80);
// anders stel die teller terug op 0 wat die servo op 0 grade terugstel
anders
teller = 0;
}
Stap 6: Versteek die elektronika
- Om die konstruksie meer onopvallend te laat lyk, kan u die arduino en die bord met die knoppie in 'n klein boksie stoot (byvoorbeeld 'n pak sigarette of 'n kartondoos) en 'n gaatjie daarin maak. Op hierdie manier kan u die konstruksie in die oog hou sonder om die vermoede te wek dat iets meer aan die gang is.