Obsah:
- Krok 1: Zostavte obvod IR prijímača
- Krok 2: Pripojte servo, stĺpik a držiak telefónu
- Krok 3: Pripojte LCD displej k odčítaniu serva
- Krok 4: Na programovanie Arduina použite kód a knižnice priložené
- Krok 5: Pripojte požadovaný zdroj napájania k Arduinu a pomocou diaľkového ovládača otočte držiak
- Krok 6: Prečítajte si vysvetlenie zdrojového kódu
- Krok 7: Pomoc nájdete na mojom videu YouTube
Video: Otočný držiak telefónu: 7 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Tento pokyn bol vytvorený ako splnenie projektovej požiadavky Makecourse na University of South Florida (www.makecourse.com).
Chcete vytvoriť otočný držiak telefónu, aby ste mohli zobrazovať obsah telefónu na výšku alebo na šírku bez toho, aby ste ho museli držať? Potom už nehľadajte.
Na vytvorenie tohto projektu budete potrebovať:
- Mikrokontrolér Arduino a IDE
- Kábel USB na odoslanie kódu
- Breadboard
- Prepojovacie vodiče
- Displej LCD
- Servo
- Stĺpec, ktorý je možné pripevniť k servu
- IR diaľkové ovládanie
- IR prijímač
- odpor 10 kOhm
- Drak Kenu+ klip na telefón (alebo niečo, čo drží telefón na mieste)
- 9 V batéria pre prenosné napájanie alebo len Arduino napájané USB
Krok 1: Zostavte obvod IR prijímača
Najprv preskočte GND a +5 V z Arduina na napájacie koľajnice na vašom doske. Potom preskočte odpor 10 kOhm z napájacej lišty +5 V na výstupný pin fototranzistora infračerveného prijímača. Ďalej sa prepojovacím káblom pripojte k pinu 11 na Arduine z výstupného kolíka infračerveného prijímača. Potom pomocou dvoch prepojovacích vodičov odošlite uzemnenie a +5 V na príslušné kolíky infračerveného prijímača. RC filter zobrazený v schéme vyššie nie je potrebný. Nakoniec som v tomto kroku nevytvoril schému a zdroj pre ňu je na obrázku.
Krok 2: Pripojte servo, stĺpik a držiak telefónu
Teraz pomocou dvoch prepojovacích káblov preskočte zo zeme a +5 V napájacích koľajníc nepájivého poľa do hnedého a červeného vodiča serva. Potom jedným prepojovacím káblom pripevnite kolík 9 na Arduine k oranžovému vodiču serva.
Potom pripevnite stĺpik k hlave serva, ako je znázornené na druhom obrázku.
Nakoniec pripevnite niečo, čo drží telefón k stĺpiku, napríklad Kenu Airframe+, ako je znázornené na treťom obrázku.
Krok 3: Pripojte LCD displej k odčítaniu serva
Skočte na zem a +5 V z napájacích koľajničiek vášho dosky na príslušné kolíky na LCD displeji. Tiež preskočte kolíky SDA a SCL z LCD na Ardiuno. Piny Arduino SDA a SCL je možné identifikovať zo zadnej strany dosky Arduino a sú to dva kolíky nad AREF a uzemnenie nad kolíkom 13. Pin SCL je najvyšší. To umožňuje LCD displeju načítať aktuálnu polohu serva.
Krok 4: Na programovanie Arduina použite kód a knižnice priložené
Stiahnite si súbor RotatingMountCode.zip. Nainštalujte Arduino IDE a rozbaľte stiahnutý súbor do priečinka Documents / Arduino. Nezabudnite skopírovať obsah priečinka moje náčrty a knižnice do priečinka náčrty a knižnice. Otvorte skicu ServoIRandLCD a nahrajte ju do svojho Arduina.
Vysvetlenie kódu nájdete v ďalších krokoch.
Krok 5: Pripojte požadovaný zdroj napájania k Arduinu a pomocou diaľkového ovládača otočte držiak
Buď nechajte Arduino zapojené do počítača, alebo ho odpojte od počítača a použite 9V batériu na zabezpečenie jednosmerného prúdu pre Arduino. Nakoniec použite lacné IR diaľkové ovládanie na ovládanie serva a tým aj orientácie držiaka telefónu!
Číslo 1 na diaľkovom ovládači by malo nastaviť polohu serva na 0 stupňov, číslo 2 až 90 stupňov a číslo 3 až 180 stupňov. Medzitým by tlačidlá + a - na diaľkovom ovládači mali zväčšiť alebo zmenšiť uhol serva o 1 stupeň.
Poznámka: Ak použijete iný IR diaľkový ovládač, než je tu zobrazený, je možné, že sa IR kódy zodpovedajúce rôznym tlačidlám zmenia. Ak je to tak, upravte skicu ServoIRandLCD, aby namiesto toho používala tieto IR kódy.
Krok 6: Prečítajte si vysvetlenie zdrojového kódu
Zdrojový kód náčrtu Arduino nájdete nižšie alebo v predtým priloženom súbore.zip. Požadované knižnice nájdete iba v predtým priloženom súbore.zip v kroku 4.
Prvá vec, ktorú kód robí, je zahrnúť potrebné knižnice potrebné na spustenie všetkých funkcií v skici. Ďalej vyhlasuje kolík 9 na Arduine za signálny pin PWM pre servo. To tiež robí z kolíka 11 na Arduine pin použitý pre IR prijímač. Ďalej deklaruje celočíselnú premennú používanú na sledovanie polohy serva v stupňoch a pôvodne nastaví na 0 stupňov. Potom vytvorí inštanciu požadovaných objektov pre objekt IRrecv, servo objekt a objekt myDisplay LCD (ktorý je tiež nakonfigurovaný v rovnakom riadku), aby bolo možné tieto objekty použiť neskôr.
Ďalej sa vo funkcii nastavenia spustí sériový port s rýchlosťou 9600 bitov/s, takže v prípade potreby je možné použiť sériový monitor na sledovanie polohy serva. Pripojí tiež objekt myservo na pin 9, spustí IR prijímač a inicializuje LCD displej.
Vo funkcii hlavnej slučky, ktorej telo sa vykonáva iba vtedy, ak je z infračerveného prijímača prijatý infračervený prenos, infračervený prijímač dekóduje signál, ktorý mu bol odoslaný z infračerveného diaľkového ovládača, pomocou funkcie dekódovania (& výsledkov) a potom ak príkazy určujú, čo na nastavenie serva v závislosti od prijatej hodnoty IR. Funkcia zápisu sa používa na nastavenie servo na príslušné stupne a funkcia čítania sa používa na nájdenie aktuálneho uhla serva a jeho prípadné zvýšenie alebo zníženie.
Nakoniec sa aktuálny uhol serva odošle na sériový monitor aj na LCD displej pomocou funkcie myservo.read () a hlavné slučky sa opakujú neobmedzene dlho.
Zdrojový kód:
#include // Arduino standard library #include // IR library #include "Wire.h" //Wire.h for LCD (sometimes needed) #include "LiquidCrystal_I2C.h" // LCD library
#define servopin 9 // toto definuje pin 9 ako pin použitý pre kábel ovládania serva (oranžový)
int RECV_PIN = 11; // IR foto-tranzistor posiela výstup na pin 11
int currentAngle = 0; // deklarujte celočíselnú premennú currentAngle a nastavte ju na 0
IRrecv unbcv (RECV_PIN); // inštancia objektu IR prijímača decode_results results; // inštancia objektu decode_results. Tento objekt je oddelený od infračerveného prijímača.
Servo myservo; // inštancia objektu Servo s názvom 'myservo' // // je možné vytvoriť maximálne osem objektov typu servo
LiquidCrystal_I2C myDisplay (0x27, 16, 2); // inštancia objektu LCD a nastavenie konfigurácie
neplatné nastavenie () {
Serial.begin (9600); // spustenie sériového portu
myservo.attach (servopin); // pripevní servo na kolíku 9 k objektu serva
unbcv.enableIRIn (); // spustenie prijímača
myDisplay.init (); // inicializácia LCD
myDisplay.backlight (); // zapnite podsvietenie LCD
}
prázdna slučka () {
if (unbcv.decode (& results)) // ak bol prenos prijatý …
{Serial.print ("Prijatá hodnota IR:");
Serial.println (results.value); // prijatá zobrazená hodnota
// interpretovať prijaté príkazy … if (results.value == 16724175) // 1 {// left myservo.write (0); }
if (results.value == 16718055) // 2 {// stredné myservo.write (90); }
if (results.value == 16743045) // 3 {// vpravo myservo.write (180); }
if (results.value == 16754775) //+ {// increment currentAngle = myservo.read (); myservo.write (currentAngle + 1); } if (results.value == 16769055) //- {// decrement currentAngle = myservo.read (); myservo.write (currentAngle - 1); }}
unbcv.resume (); // Prijatie ďalšej hodnoty
// Tlač sériového monitora Serial.print ("Aktuálna poloha serva:");
Serial.println (myservo.read ()); // toto zistí polohu serva a pošle ho na sériový monitor
// LCD print myDisplay.clear ();
myDisplay.print ("Servo deg.:");
myDisplay.print (myservo.read ());
oneskorenie (200); // oneskorenie, aby bolo ovládanie servo stabilné
}
Krok 7: Pomoc nájdete na mojom videu YouTube
Ak máte akékoľvek otázky, pozrite si moje nezaradené video na YouTube, ktoré plne diskutuje a predvádza projekt!
Odporúča:
DIY držiak telefónu: 7 krokov (s obrázkami)
DIY držiak telefónu: Ako si vyrobiť funkčný nepredvídateľný a atraktívny držiak telefónu so všetkým tým náhradným odpadom, ktorý nepotrebujete
Núdzový a veľmi jednoduchý držiak mobilného telefónu na statív: 4 kroky (s obrázkami)
Núdzový a veľmi jednoduchý držiak mobilného telefónu na statív: Nedokázal som nájsť držiak mobilného telefónu, ktorý som predtým vyrobil, a mal som len pár hodín na to, aby som sa dostal tam, kde som chcel vytvoriť video, a tak som prišiel na toto. Materiály sú jednoduché: Kovový vešiak na kabáty alebo poriadne tuhý kovový drôt Matica 1/4 "-NC 20 (o
Držiak na lištu Arduino MKR na držiak: 13 krokov (s obrázkami)
Arduino MKR Cap Rail Mount: Nová séria Arduino MKR nastavuje štandard pre tvarový faktor, funkciu a výkon pre dosky Arduino v budúcnosti. Tieto nové dosky sú v kompaktnom tvare, s výkonným 32 -bitovým micokontrolérom Cortex M0 Atmel SAM D21 a nabíjačkou
Držiak flash disku USB Thumb Drive-VYROBTE SI DRŽIAK BELTCLIP: 5 krokov
Držiak flash disku USB na palec-VYROBTE SI DRŽITEĽA BELTCLIPU: Ste unavení mať USB flash disk stále na krku? Staňte sa módnymi a vyrobte si BELTCLIP HOLDER zo športového zapaľovača
Zdarma kutilský držiak, iPod, iPhone, PDA, mobilný telefón alebo držiak miniaplikácie/doku/stojana: 6 krokov
Zadarmo na kutilstvo, IPod, IPhone, PDA, držiak mobilného telefónu alebo pomôcky/doku/stojana: Hovorilo sa, že nevyhnutnosť je matkou vynálezu. Často som zistil, že je to pravda. Minulý týždeň nebol výnimkou. Na svojom počítači som trávil neprimerane veľa času hľadaním práce. Pretože som nedávno vymenil počítač za server,