Përmbajtje:
- Hapi 1: Gjërat për të cilat mund të keni nevojë…
- Hapi 2: Lidhni pajisjen
- Hapi 3: Programoni Arduino
- Hapi 4: Instaloni Softuerin
- Hapi 5: Përdorni Programin e Ndërfaqes
- Hapi 6: Bëhuni kreativ
Video: Servo Servo Servo Controller Servo: 6 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:32
Ky është një kontrollues i thjeshtë serik për servos të shumtë bazuar në Arduino. (udhëzimi im i parë gjithashtu:))
Shumica e punës në këtë erdhi nga marrja e softuerit për të folur me arduino dhe bërja e një protokolli për transferimin e të dhënave. Sa i përket aspektit të harduerit, gjithçka që kam përdorur ishte dy servos (servo standarde Parallax këtu.) Një Sparkfun Arduino ProtoShield dhe një Arduino Duemilanove me ATMEGA328, por shumica e këtyre pjesëve mund të zëvendësohen me artikuj të ngjashëm. E mendova këtë projekt si pjesë të një sistemi RC, por krijimi i komunikimit mori shumë kohë. Nëse dikush ka ndonjë përmirësim, ide ose defekte, ju lutem mos ngurroni të komentoni. EDIT: E kam shkruar këtë pak kohë më parë, sapo e kam botuar atë kohët e fundit.
Hapi 1: Gjërat për të cilat mund të keni nevojë…
Disa gjëra që ju nevojiten për ta ndërtuar këtë. 1. Bordi Arduino (ju zgjidhni) 2. dy (ose një) servos 3. tela kërcyes 4. Visual Studio 2008 Express - lidhje (opsionale) 5. Arduino IDE - lidhje Na falni për fansat e Linux dhe Apple, programi im funksionon vetëm dritaret tani për tani, por ju ende mund të dërgoni manualisht komanda serike në arduino pa ndryshuar kodin.
Hapi 2: Lidhni pajisjen
Asgjë shumë komplekse në këtë hap. Thjesht lidhni një servo me pin 9 dhe tjetrin me pin 10.
Hapi 3: Programoni Arduino
tani mund ta ngarkoni skicën në arduino.
Këtu është një ndarje e thjeshtë e kodit: #include Servo myservo; // krijoni një servo objekt për të kontrolluar një servo Servo myservo1; int hyrëseByte = 0, datacount = 0, counter = 0, gati = 0; // për të dhënat seriale hyrëse të dhënat char [10]; const char verifiko [8] = "ma11hew"; komanda char [3]; void setup () {myservo.attach (9); myservo1.tach (10); Serial.fillo (38400); // hap portin serik, vendos shpejtësinë e të dhënave Serial.println ("Përshëndetje Arduino Këtu!"); // shtuar për të ndihmuar në identifikimin e portit serik Kjo vetëm vendos konfigurimin e serisë dhe servos. int i; për (i = 0; i <180; i ++) {myservo.shkruaj (i); vonesa (15); } myservo.write (5); për (i = 0; i <180; i ++) {myservo1.shkruaj (i); vonesa (15); } myservo1.shkruaj (5); } Lëvizje e thjeshtë gjithëpërfshirëse për të verifikuar funksionimin e servove në mënyrë korrekte. lak void () {gati = 0; numërues = 0; ndërsa (1 == 1) {if (Serial.lexo ()! = verifiko [kundër] {pushim; } if (kundër == 6) {vonesë (20); komanda [0] = Serial.read (); komanda [1] = Serial.lex (); // nëse (Serial.lex () == ((komanda [1] * 12) % 8)) // {gati = 1; //} Serial.println ("komanda e ruajtur"); } sportel ++; vonesa (2); } kjo kontrollon bufferin serik për vargun e saktë të autorizimit, pastaj kap dy byte për komandën. deklarata e komentuar nëse lejon një kontroll të improvizuar, por do ta bënte të vështirë ndërhyrjen manuale. gati mund të vendoset në 0 kështu që komandat nuk do të analizohen siç është në rastin e të dhënave të korruptuara. // kërko përmes komandave if (gati == 1) {if (komanda [0] == 'T') {komanda [0] = 0; Serial.print ("kontrolli i mbytjes në pin 9 në:"); Serial.println (harta (komanda [1], 32, 126, 2, 180), DEC); myservo.write (harta (komanda [1], 32, 126, 2, 180)); } if (komanda [0] == 'S') {komanda [0] = 0; Serial.print ("kontrolli i mbytjes në pin 10 në:"); Serial.println (harta (komanda [1], 32, 126, 2, 180), DEC); myservo1.shkruaj (harta (komanda [1], 32, 126, 2, 180)); }}} pjesa tjetër e kodit është për të kërkuar komandën për komandat e vlefshme (T ose S.) nëse secila prej tyre merr bajtin tjetër dhe e dërgon atë në servo. më shumë në hartë (komanda [1], 32, 126, 2, 180) më vonë … kodi këtu është i zgjerueshëm për çdo gjë tjetër që mund t'ju nevojitet (p.sh. dritat, motorët, IR, etj.) ky kod duhet të funksionojë mirë pa modifikimet.
Hapi 4: Instaloni Softuerin
Unë kam dy mënyra për të instaluar këtë instalues… nsis: Shkarkoni instaluesin vetë nxjerrës më poshtë dhe drejtojeni atë. Do të keni mundësinë të instaloni burime gjatë instalimit. paketa binare e instaluesit instalon cll+ cll+ dll në mënyrë që të mund të ekzekutohet në një kompjuter pa c ++ vizual të instaluar tashmë. Pasi të përfundojë instaluesi, mund ta ekzekutoni nga desktopi ose të filloni menunë. mënyrë zip (e pa verifikuar): Shkarkoni dhe ekzekutoni, duhet të funksionojë. ndoshta. (Arkivi zip ka të njëjtën strukturë dosje të krijuar nga instaluesi, pa burime. Unë nuk kam një makinë pa studio vizuale për ta testuar atë në mënyrë që të mos funksionojë.)
Hapi 5: Përdorni Programin e Ndërfaqes
Për të përdorur programin, së pari zgjidhni normën e baudit të përcaktuar në skicën arduino. Skica e pa modifikuar është e paracaktuar në 38400 baud, por mund të ndryshohet për t'iu përshtatur nevojave tuaja për gjëra të tilla si një lidhje radioje më e ngadaltë. shënim: normat e baud më të larta se 38400 nuk kanë qenë shumë të qëndrueshme, mendoj se kjo ndodh sepse uart mbushet para se të dhënat të mund të përpunohen. Tjetra, zgjidhni portën COM për t'u përdorur. programi i paracaktuar në COM4 sigurohuni që ta ndryshoni atë ose programi do të rrëzohet. Së fundi, klikoni hapur. Nëse gjithçka shkoi mirë, programi do të hapë portën seriale të zgjedhur me shpejtësinë e zgjedhur. Nëse jo, programi ndoshta do të rrëzohet me një përjashtim të pakontrolluar. sigurohuni që porta është e saktë dhe provoni përsëri. Përdorni kutitë e tekstit për të paraqitur komanda të drejtpërdrejta në arduino. "Harta (komanda [1], 32, 126, 2, 180)" shkallëzon të gjitha 94 komandat e mundshme, * hapësirë * deri në ~, të lexueshme nga arduino në ASCII në 2 deri në 180 për servo. çdo bajt më pak se ASCII 32 (hapësirë) ose mbi 126 (~) parazgjedhje në 63 (?) Shiritat e pistave ofrojnë një ndërfaqe eaiser për komandat direkte. çdo hap dërgon një komandë serike në arduino në mënyrë graduale.
Hapi 6: Bëhuni kreativ
Mendoni gjëra interesante për të bërë me këtë. Disa ide: 1. Mbytës i largët për një makinë. 2. Montimi i kamerës 3D 3. rover nënujor Argëtohuni !!
Recommended:
Arduino Keyboard Joystick Extender Box dhe Sound Controller Thing Using Deej: 8 hapa
Arduino Keyboard Joystick Extender Box dhe Sound Controller Thing Using Deej: Pse Për një kohë kam dashur të shtoj një tastierë të vogël në tastierën time për të kontrolluar elementët e ndërfaqes, ose detyra të tjera më të vogla në lojëra dhe imitues (MS Flight Sim, Elite: Dangerous, Star Wars: Squadrons, etj). Gjithashtu, për Elite: Dangerous, kam qenë
Lidhja e përpunimit dhe Arduino dhe Make 7 Segment dhe Servo GUI Controller: 4 hapa
Lidhja e përpunimit dhe Arduino dhe Make 7 Segment dhe Servo GUI Controller: Për disa projekte që keni bërë duhet të përdorni Arduino pasi siguron një platformë të lehtë prototipimi, por shfaqja e grafikëve në monitorin serik të Arduino mund të zgjasë shumë kohë dhe madje është e vështirë të bëhet. Ju mund të shfaqni grafikët në Arduino Serial Monitor bu
Servo Robotic Servo: 5 hapa
Robot Servo krah: Ne do të bëjmë një krah robotik të fortë i cili mund të ngrejë pesha dhe ta lëvizë atë. Le të fillojmë me këtë gjë të lezetshme
Tutorial 30A Mikro Brush Motor Brake Controller by Using Servo Tester: 3 Hapa
Tutorial 30A Micro Brush Motor Brake Controller by Using Servo Tester: Specifikimet: 30A kontrollues i shpejtësisë së furçës. Funksioni: përpara, prapa, frenimi Tensioni i punës: 3.0V --- 5.0V. Rryma (A): 30A BEC: 5V/1A Frekuenca e drejtuesit: 2KHz Hyrja: 2-3 Li-Po/Ni-Mh/Ni-cd 4-10cell rrymë konstante 30A Max 30A <
Përzierja e NES Controller (Nintendo Controller MP3, V3.0): 5 hapa (me fotografi)
NES Controller Shuffle (Nintendo Controller MP3, V3.0): Unë tërhoqa tërësisht ryan97128 në modelin e tij për Nintendo Controller MP3, Version 2.0 dhe dëgjoj se ai e mori idenë nga Morte_Moya i mençur, kështu që nuk mund të marr kredi për të gjithë gjenialiteti i tyre. Unë thjesht doja të shtoja komoditetin dhe rimbushjen-