
Tartalomjegyzék:
- 1. lépés: Építse fel az IR vevő áramkört
- 2. lépés: Csatlakoztassa a szervót, az oszlopot és a telefontartót
- 3. lépés: Csatlakoztassa az LCD -kijelzőt a szervo -leolvasáshoz
- 4. lépés: Használja a kódot és a könyvtárakat az Arduino programozásához
- 5. lépés: Csatlakoztassa a kívánt áramforrást az Arduino -hoz, és használja a távirányítót a tartó elforgatásához
- 6. lépés: Olvassa el ezt a forráskód magyarázatához
- 7. lépés: Segítségért nézze meg a Youtube videómat
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:48

Ez az oktatóanyag a Dél -Floridai Egyetem Makecourse (www.makecourse.com) projektkövetelményének teljesítésével jött létre.
Forgatható telefontartót szeretne készíteni, hogy a telefon tartalmát álló vagy fekvő tájolásban is megtekinthesse anélkül, hogy tartania kellene? Akkor ne keressen tovább.
A projekt létrehozásához szüksége lesz:
- Arduino mikrokontroller és IDE
- USB kábel a kód feltöltéséhez
- Kenyeretábla
- Jumper vezetékek
- LCD kijelzö
- Szervó
- A szervóhoz rögzíthető oszlop
- IR távirányító
- IR vevő
- 10 k ohmos ellenállás
- Kenu Airframe+ Phone Clip (vagy valami, ami a telefont a helyén tartja)
- 9 V -os akkumulátor a hordozható áramellátáshoz, vagy csak USB -s Arduino
1. lépés: Építse fel az IR vevő áramkört


Először ugorjon a GND és a +5V értékről az Arduino -ról a kenyérsütő tápáramára. Ezután ugorja át a 10 k ohmos ellenállását a +5 V tápkábelről az IR vevő fototranzisztor kimeneti tűjére. Ezután csatlakozóhuzal segítségével csatlakozzon az Arduino 11 -es tűjéhez az IR -vevő kimeneti tűjéről. Ezután két áthidaló vezetékkel küldje a földet és +5 V -ot az IR vevő megfelelő csapjaira. A fenti ábrán látható RC szűrő nem szükséges. Végül nem készítettem el az ebben a lépésben bemutatott vázlatot, és a forrása megtalálható a képen.
2. lépés: Csatlakoztassa a szervót, az oszlopot és a telefontartót



Most két áthidaló vezetékkel ugorjon le a talajról, és +5 V -os kenyértábla támasztó sínekről a szervó barna és piros vezetékeire. Ezután egy jumperdrót segítségével rögzítse az Arduino 9 -es csapját a szervó narancssárga vezetékéhez.
Ezután rögzítsen egy oszlopot a szervo fejéhez, ahogy a második képen látható.
Végül rögzítsen valamit a telefon tartásához az oszlophoz, mint például a Kenu Airframe+, ahogy a harmadik képen látható.
3. lépés: Csatlakoztassa az LCD -kijelzőt a szervo -leolvasáshoz

Ugrás a talajra és +5 V -ra a kenyérsütő tápegységéről az LCD -kijelző megfelelő csapjaira. Ezenkívül ugorjon az SDA és SCL csapokra az LCD -ről az Ardiuno -ra. Az Arduino SDA és SCL csapjai az Arduino kártya hátuljáról azonosíthatók, és ezek a két érintkező az AREF fölött és a Ground a 13. pin felett. Az SCL csap a legmagasabb. Ez lehetővé teszi, hogy az LCD kijelző leolvassa az aktuális szervo pozíciót.
4. lépés: Használja a kódot és a könyvtárakat az Arduino programozásához

Töltse le a RotatingMountCode.zip fájlt. Telepítse az Arduino IDE -t, és csomagolja ki a letöltött fájlt a Documents / Arduino mappába. Győződjön meg arról, hogy a vázlataim és könyvtáraim mappa tartalmát a vázlatok és könyvtárak mappába másolja. Nyissa meg a ServoIRandLCD vázlatot, és töltse fel az Arduino -ra.
A kód magyarázatát lásd a későbbi lépésekben.
5. lépés: Csatlakoztassa a kívánt áramforrást az Arduino -hoz, és használja a távirányítót a tartó elforgatásához


Hagyja az Arduino -t csatlakoztatva a számítógéphez, vagy húzza ki a számítógépből, és használjon 9 V -os akkumulátort, hogy egyenáramot biztosítson az Arduino -nak. Végül használjon olcsó infravörös távirányítót a szervó és ezáltal a telefontartó tájolásának vezérléséhez!
A távirányító 1 -es számának a szervo helyzetét 0 fokra, a 2 -es számot 90 fokra, a 3 -as számot pedig 180 fokra kell állítania. Eközben a távirányító + és - gombjaival növelni vagy csökkenteni kell a szervo szögét 1 fokkal.
Megjegyzés: Ha az itt láthatótól eltérő infravörös távirányítót használ, lehetséges, hogy a különböző gombokhoz tartozó IR -kódok megváltoztak. Ha igen, módosítsa a ServoIRandLCD vázlatot, hogy helyette ezeket az IR -kódokat használja.
6. lépés: Olvassa el ezt a forráskód magyarázatához


Az Arduino vázlat forráskódja alább vagy a korábban csatolt.zip fájlban található. A szükséges könyvtárak csak a korábban csatolt.zip fájlban találhatók a 4. lépésben.
A kód első dolga, hogy tartalmazza a vázlat összes funkciójának futtatásához szükséges könyvtárakat. Ezután az Arduino 9-es tüskéjét a szervó PWM-kompatibilis jelzőcsapjává nyilvánítja. Ezenkívül az Arduino 11 -es tűjét teszi az IR -vevőhöz. Ezután deklarál egy egész változót, amelyet a szervó helyzetének fokokban történő nyomon követésére használ, és kezdetben 0 fokra állítja. Ezután az IRrecv objektumhoz, a szervoobjektumhoz és a myDisplay LCD objektumhoz (amely szintén ugyanabban a sorban van konfigurálva) előkészíti a szükséges objektumokat, így ezeket az objektumokat később is fel lehet használni.
Ezután a beállítási funkcióban a soros port 9600 bit/sec sebességgel indul, így a soros monitor segítségével szükség esetén nyomon követhető a szervo helyzete. Ezenkívül a myservo objektumot a 9 -es tűhöz rögzíti, elindítja az infravörös vevőt, és inicializálja az LCD kijelzőt.
A fő hurok funkcióban, amelynek törzsét csak akkor hajtja végre, ha az infravörös vevőről IR -átvitelt fogad, az IR -vevő dekódolja az IR -távirányítóról neki küldött jelet a dekódolás (& eredmények) függvénnyel, majd ha a kijelentések meghatározzák, hogy mit beállítani a szervót a kapott IR érték függvényében. Az írási funkcióval a szervót a megfelelő fokozatokra állíthatjuk, az olvasási funkcióval pedig a szervó aktuális szögét találhatjuk meg, és szükség szerint növelhetjük vagy csökkenthetjük.
Végül a szervo aktuális szöge a myservo.read () függvény segítségével elküldésre kerül a soros monitorra és az LCD kijelzőre is, és a fő hurkok a végtelenségig ismétlődnek.
Forráskód:
#include // Arduino standard library #include // IR library #include "Wire.h" //Wire.h LCD (néha szükséges) #include "LiquidCrystal_I2C.h" // LCD library
#define servopin 9 // ez határozza meg a 9 -es csapot, mint a szervo vezérlő vezetékhez használt tűt (narancssárga)
int RECV_PIN = 11; // Az IR fototranzisztor kimenetet küld a 11-es tűre
int currentAngle = 0; // deklarálja a currentAngle egész változót, és állítsa 0 -ra
IRrecv irrecv (RECV_PIN); // az infravörös vevő objektumának példányosítása decode_results results; // a decode_results objektum példányosítása. Ez az objektum külön van az infravörös vevőtől.
Szervo myservo; // "myservo" nevű szervo objektum példányosítása // maximum nyolc szervo objektum hozható létre
LiquidCrystal_I2C myDisplay (0x27, 16, 2); // az LCD objektum példányosítása és a konfiguráció beállítása
void setup () {
Sorozat.kezdet (9600); // soros port indítása
myservo.attach (szervopin); // a 9 -es csap szervóját a szervo -objektumhoz rögzíti
irrecv.enableIRIn (); // indítsa el a vevőt
myDisplay.init (); // inicializálja az LCD -t
myDisplay.backlight (); // kapcsolja be az LCD háttérvilágítást
}
void loop () {
if (irrecv.decode (és eredmények)) // ha az átvitel megérkezett…
{Serial.print ("IR érték kapott:");
Serial.println (results.value); // megjelenített érték érkezett
// értelmezze a fogadott parancsokat… if (results.value == 16724175) // 1 {// left myservo.write (0); }
if (results.value == 16718055) // 2 {// középső myservo.write (90); }
if (results.value == 16743045) // 3 {// jobb myservo.write (180); }
if (results.value == 16754775) //+ {// növekvő currentAngle = myservo.read (); myservo.write (currentAngle + 1); } if (results.value == 16769055) //- {// csökkentés currentAngle = myservo.read (); myservo.write (currentAngle - 1); }}
irrecv.resume (); // Fogadja el a következő értéket
// Soros monitor nyomtatása Serial.print ("Jelenlegi szervo pozíció:");
Serial.println (myservo.read ()); // ez lekéri a szervo pozíciót és elküldi a soros monitornak
// LCD nyomtatás myDisplay.clear ();
myDisplay.print ("Servo deg.:");
myDisplay.print (myservo.read ());
késleltetés (200); // késleltetés, hogy a szervo működtetése stabil legyen
}
7. lépés: Segítségért nézze meg a Youtube videómat

Tekintse meg a nem nyilvános YouTube -videómat, amely teljes körűen tárgyalja és bemutatja a projektet, ha kérdése van!
Ajánlott:
DIY forgatható két motorral: 10 lépés (képekkel)

DIY forgatható két motorral: Eleinte mindig lövöldöző lemezjátszót szeretnék, és nemrég azt tapasztaltam, hogy véletlenül két üresjáratú motor van. Szóval, elgondolkodtam azon, hogy csinálhatok -e velük fordíthatót. Minden további nélkül megpróbálom! Elv: A csökkentés
Telefontartó: 5 lépés (képekkel)

Telefonszekrény: Változás innen: Alissahuang A telefon rabja vagyok, és nem tudok a házi feladatomra összpontosítani. Minden nap, amikor hazamegyek, először a telefonommal játszom, majd este 10 körül. Elkezdtem a házi feladatot, ami már késő. Így minden nap hajnali 2 órakor lefeküdtem, ami
Telefontartó hordozható töltővel: 5 lépés

Telefonra szerelhető hordozható töltővel: Ebben a projektben megmutatom, hogyan készítsünk telefontartót és hordozható töltőt, amely belefér
WC -papír tekercs telefontartó: 7 lépés (képekkel)

WC -papír tekercses telefontartó: Szüksége van egy helyre, ahol a telefont töltés közben tarthatja, hogy még mindig függőlegesen álljon? A telefonra szerelhető válasz erre. Van néhány tartalék WC -papír tekercs a házában, és csak egy kis karton? Ha megteszi, akkor
DIY 360 'forgatható kijelzőállvány fotózáshoz / videózáshoz: 21 lépés (képekkel)

DIY 360 'forgatható kijelzőállvány fényképezéshez / videózáshoz: Ismerje meg, hogyan lehet otthon készíteni a DIY 360 forgó kijelző állványt kartonból, amely USB -s, egyszerű tudományos projektek gyerekeknek, amelyek termékfotózáshoz és az adott termék 360 videó előnézetéhez is használhatók webhelyein vagy akár az Amaz -on