Sadržaj:
- Korak 1: Izgradite krug IC prijemnika
- Korak 2: Spojite servo, stupac i držač telefona
- Korak 3: Spojite LCD zaslon za očitavanje servo uređaja
- Korak 4: Upotrijebite kôd i knjižnice u prilogu za programiranje Arduina
- Korak 5: Spojite željeni izvor napajanja na Arduino i pomoću daljinskog upravljača zakrenite nosač
- Korak 6: Pročitajte ovo za objašnjenje izvornog koda
- Korak 7: Za pomoć pogledajte My Youtube video
Video: Rotirajući nosač telefona: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
Ova instrukcija nastala je u skladu s projektnim zahtjevima Makecoursea na Sveučilištu Južne Floride (www.makecourse.com).
Želite izraditi rotirajući držač za telefon kako biste mogli gledati sadržaj svog telefona u okomitom ili vodoravnom položaju bez potrebe za držanjem? Zatim, ne tražite dalje.
Za izradu ovog projekta trebat će vam:
- Arduino mikrokontroler i IDE
- USB kabel za prijenos koda
- Oglasna ploča
- Žice za kratkospojnike
- LCD zaslon
- Servo
- Stupac koji se može pričvrstiti na servo
- IR daljinski
- IC prijemnik
- 10k ohm otpornik
- Kenu Airframe+ telefonska kopča (ili nešto za držanje telefona na mjestu)
- 9 V baterija za prijenosno napajanje ili samo Arduino na USB pogon
Korak 1: Izgradite krug IC prijemnika
Prvo skočite GND i +5V s Arduina na naponske žice na vašoj ploči. Zatim preskočite svoj otpornik od 10 k ohma s +5V naponske šine na izlazni pin fototranzistora vašeg IR prijemnika. Zatim upotrijebite kratkospojnik za spajanje na pin 11 na Arduinu s izlaznog pina IC prijemnika. Zatim upotrijebite dvije kratkospojne žice za slanje mase i +5V na odgovarajuće pinove na IC prijemniku. RC filter prikazan na gornjoj shemi nije potreban. Na kraju, nisam napravio shemu prikazanu u ovom koraku, a izvor za to je prisutan na slici.
Korak 2: Spojite servo, stupac i držač telefona
Sada, upotrijebite dvije kratkospojne žice za skok sa zemlje i +5V naponskih vodilica na matičnoj ploči u smeđe i crvene žice servo servera. Zatim pomoću jedne kratkospojne žice pričvrstite iglu 9 na Arduinu na narančastu žicu serva.
Zatim pričvrstite stupac na glavu servo uređaja kao što je prikazano na drugoj slici.
Na kraju, pričvrstite nešto za držanje telefona u stupcu, poput Kenu Airframe+, kao što je prikazano na trećoj slici.
Korak 3: Spojite LCD zaslon za očitavanje servo uređaja
Preskočite uzemljenje i +5V s tračnica za napajanje na odgovarajuće pinove na LCD zaslonu. Također, preskočite iglice SDA i SCL s LCD -a na Ardiuno. Arduino SDA i SCL pinovi mogu se identificirati sa stražnje strane Arduino ploče i to su dva pina iznad AREF -a i uzemljenja iznad pina 13. SCL pin je najviši. To omogućuje LCD zaslonu očitavanje trenutnog položaja serva.
Korak 4: Upotrijebite kôd i knjižnice u prilogu za programiranje Arduina
Preuzmite datoteku RotatingMountCode.zip. Instalirajte Arduino IDE i raspakirajte preuzetu datoteku u Documents / Arduino. Kopirajte sadržaj mape mojih skica i knjižnica u mapu skica i knjižnica. Otvorite skicu ServoIRandLCD i prenesite je na svoj Arduino.
Za objašnjenje koda pogledajte kasnije korake.
Korak 5: Spojite željeni izvor napajanja na Arduino i pomoću daljinskog upravljača zakrenite nosač
Ili ostavite Arduino priključen na računalo ili ga isključite iz računala i upotrijebite 9V bateriju za napajanje Arduina istosmjernom strujom. Konačno, upotrijebite jeftini IC daljinski upravljač za upravljanje servo pogonom i stoga orijentaciju nosača telefona!
Broj 1 na daljinskom upravljaču trebao bi postaviti položaj servo na 0 stupnjeva, broj 2 do 90 stupnjeva, a broj 3 do 180 stupnjeva. U međuvremenu bi tipke + i - na daljinskom upravljaču trebale povećati ili smanjiti kut serva za 1 stupanj.
Napomena: Ako koristite drugačiji daljinski upravljač od onog na slici ovdje, moguće je da se promijene IR kodovi koji odgovaraju različitim gumbima. Ako je tako, izmijenite skicu ServoIRandLCD tako da umjesto toga koristite te IR kodove.
Korak 6: Pročitajte ovo za objašnjenje izvornog koda
Izvorni kod za Arduino skicu možete pronaći ispod ili u prethodno priloženoj.zip datoteci. Potrebne knjižnice mogu se pronaći samo u prethodno priloženoj.zip datoteci u 4. koraku.
Prvo što kod radi je uključivanje potrebnih knjižnica potrebnih za pokretanje svih funkcija u skici. Zatim proglašava pin 9 na Arduinu kao signalni pin za servo koji podržava PWM. Također čini pin 11 na Arduinu iglom koja se koristi za IC prijemnik. Zatim deklarira cjelobrojnu varijablu koja se koristi za praćenje položaja servo u stupnjevima i u početku ga postavlja na 0 stupnjeva. Zatim instancira potrebne objekte za IRrecv objekt, servo objekt i myDisplay LCD objekt (koji je također konfiguriran u istom retku) tako da se ti objekti mogu kasnije koristiti.
Zatim, u funkciji postavljanja, serijski port se pokreće pri 9600 bita/s, tako da se serijski monitor može koristiti za praćenje položaja servo -a ako je potrebno. Također priključuje objekt myservo na pin 9, pokreće IC prijemnik i inicijalizira LCD zaslon.
U funkciji glavne petlje, čije se tijelo izvodi samo ako je IR prijem primljen od IC prijemnika, IC prijemnik dekodira signal koji mu se šalje s IC daljinskog upravljača pomoću funkcije dekodiranja (& rezultata), a zatim ako naredbe određuju što za podešavanje servo ovisno o primljenoj IR vrijednosti. Funkcija pisanja koristi se za postavljanje servoa na odgovarajuće stupnjeve, a funkcija čitanja za pronalaženje trenutnog kuta serva i povećanje ili smanjenje prema potrebi.
Konačno, trenutni kut serva se šalje i na serijski monitor i na LCD zaslon pomoću funkcije myservo.read (), a glavne petlje ponavljaju neograničeno dugo.
Izvorni kod:
#include // Arduino standardna biblioteka #include // IR biblioteka #include "Wire.h" //Wire.h za LCD (ponekad potrebno) #include "LiquidCrystal_I2C.h" // LCD knjižnica
#define servopin 9 // ovo definira pin 9 kao pin koji se koristi za servo upravljački vod (narančasta)
int RECV_PIN = 11; // IC foto-tranzistor šalje izlaz na pin 11
int currentAngle = 0; // deklarirati currentAngle cjelobrojnu varijablu i postaviti na 0
IRrecv unrecv (RECV_PIN); // instanciranje objekta IR prijemnika decode_results results; // instanciranje objekta decode_results. Ovaj objekt je odvojen od IC prijemnika.
Servo myservo; // instancirati servo objekt pod nazivom 'myservo' // može se stvoriti najviše osam servo objekata
LiquidCrystal_I2C myDisplay (0x27, 16, 2); // instancirati LCD objekt i postaviti config
void setup () {
Serial.begin (9600); // pokretanje serijskog porta
myservo.attach (servopin); // priključuje servo na pin 9 na servo objekt
unrecv.enableIRIn (); // pokretanje prijemnika
myDisplay.init (); // inicijalizacija LCD -a
myDisplay.backlight (); // uključivanje pozadinskog osvjetljenja LCD -a
}
void loop () {{100} {101}
if (unrecv.decode (& results)) // ako je primljen prijenos …
{Serial.print ("IR vrijednost primljena:");
Serial.println (results.value); // prikazana vrijednost primljena
// tumači primljene naredbe … if (results.value == 16724175) // 1 {// lijevo myservo.write (0); }
if (results.value == 16718055) // 2 {// srednji myservo.write (90); }
if (results.value == 16743045) // 3 {// desno myservo.write (180); }
if (results.value == 16754775) //+ {// prirast currentAngle = myservo.read (); myservo.write (currentAngle + 1); } if (results.value == 16769055) //- {// smanjivanje currentAngle = myservo.read (); myservo.write (currentAngle - 1); }}
unrecv.resume (); // Primanje sljedeće vrijednosti
// Ispis serijskog monitora Serial.print ("Trenutni položaj serva:");
Serial.println (myservo.read ()); // ovo dohvaća položaj serva i šalje ga serijskom monitoru
// LCD ispis myDisplay.clear ();
myDisplay.print ("Servo deg.:");
myDisplay.print (myservo.read ());
kašnjenje (200); // odgoda radi stabilizacije servo aktiviranja
}
Korak 7: Za pomoć pogledajte My Youtube video
Pogledajte moj video zapis s YouTubea koji nije na popisu i koji u potpunosti raspravlja i prikazuje projekt ako imate pitanja!
Preporučeni:
Rotirajući ventilator pomoću servo motora i kontrola brzine: 6 koraka
Rotirajući ventilator pomoću servo motora i kontrole brzine: U ovom ćemo vodiču naučiti kako rotirati ventilator s podesivom brzinom pomoću servo motora, potenciometra, arduina i Visuina. Pogledajte video
Nosač telefona s prijenosnim punjačem: 5 koraka
Nosač telefona s prijenosnim punjačem: U ovom projektu pokazat ću vam kako napraviti držač za telefon i prijenosni punjač koji stane u njega
Rotirajući alat DIY: 4 koraka
DIY rotacijski alat: U ovom uputstvu pokazat ću vam kako možete uzeti neke lako dostupne materijale i kombinirati ih da napravite DIY rotacijski alat! Pa krenimo
Rotirajući RGB zaslon Harry Pottera: 10 koraka (sa slikama)
Harry Potter rotirajući RGB zaslon: Nakon što sam odlučio napraviti nešto za rođendan svoje kćeri, pomislio sam da bi bilo dobro napraviti jedan od akrilnih RGB ekrana. Obožavateljica je filmova o Harryju Potteru pa je odabir teme bio lak. Odluka o tome koje će se slike koristiti nije bila! Moj Wi
Stanica za punjenje telefona retro telefona: 10 koraka (sa slikama)
Punjač za retro telefone: Obožavam izgled starinskog rotacijskog telefona i nekoliko ih je ležalo i molilo da ih vrate u život. U naletu inspiracije odlučio sam se udati za formu i funkciju. Tako je nastala Retro Phone Charging Station stanica