
Innehållsförteckning:
- Steg 1: Bygg IR -mottagarkretsen
- Steg 2: Anslut servo, kolumn och telefonhållare
- Steg 3: Anslut LCD -skärmen för Servoavläsning
- Steg 4: Använd koden och biblioteken som är kopplade för att programmera Arduino
- Steg 5: Anslut önskad strömkälla till Arduino och använd fjärrkontrollen för att rotera fästet
- Steg 6: Läs detta för källkodförklaring
- Steg 7: Titta på min Youtube -video för hjälp
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-23 15:11

Denna instruerbara skapades för att uppfylla projektkravet för Makecourse vid University of South Florida (www.makecourse.com).
Vill du göra en roterande telefonfäste så att du kan se telefonens innehåll i stående eller liggande riktning utan att behöva hålla den? Titta då inte längre.
För att skapa detta projekt behöver du:
- Arduino mikrokontroller och IDE
- USB -kabel för att ladda upp kod
- Brödbräda
- Tröjor
- LCD skärm
- Servo
- Kolumn som kan fästas på servon
- IR -fjärrkontroll
- IR -mottagare
- 10k ohm motstånd
- Kenu Airframe+ Phone Clip (eller något för att hålla telefonen på plats)
- 9 V batteri för bärbar ström eller bara USB -driven Arduino
Steg 1: Bygg IR -mottagarkretsen


Hoppa först GND och +5V från Arduino till kraftskenorna på din brödbräda. Hoppa sedan ditt 10k ohm motstånd från +5V kraftskena till utgångsstiften på din IR -mottagares fototransistor. Använd sedan en bygelkabel för att ansluta till stift 11 på Arduino från utgångsstiften på IR -mottagaren. Använd sedan två bygelkablar för att skicka mark och +5V till respektive stift på IR -mottagaren. RC -filtret som visas i schemat ovan är inte nödvändigt. Slutligen gjorde jag inte schemat som visas i detta steg, och källan till det finns i bilden.
Steg 2: Anslut servo, kolumn och telefonhållare



Använd nu två bygeltrådar för att hoppa från marken och +5V av brädbrädans kraftskenor i de bruna respektive röda trådarna på servon. Använd sedan en bygelkabel för att fästa stift 9 på Arduino på servoens orange tråd.
Fäst sedan en kolumn på servohuvudet som visas på den andra bilden.
Slutligen fäst något för att hålla telefonen i kolumnen, som Kenu Airframe+, som visas på den tredje bilden.
Steg 3: Anslut LCD -skärmen för Servoavläsning

Hoppa marken och +5V från dina bräda brädans kraftskenor till respektive stift på LCD -skärmen. Hoppa också SDA- och SCL -stiften från LCD -skärmen till Ardiuno. Arduinos SDA- och SCL -stift kan identifieras från baksidan av Arduino -kortet och är de två stiften ovanför AREF och marken ovanför stift 13. SCL -stiften är den högsta. Detta gör att LCD -skärmen kan läsa av den aktuella servopositionen.
Steg 4: Använd koden och biblioteken som är kopplade för att programmera Arduino

Ladda ner filen RotatingMountCode.zip. Installera Arduino IDE och packa upp den nedladdade filen till Documents / Arduino. Se till att du kopierar innehållet i mappen skisser och bibliotek till mappen skisser och bibliotek. Öppna ServoIRandLCD -skissen och ladda upp den till din Arduino.
Se senare steg för kodförklaring.
Steg 5: Anslut önskad strömkälla till Arduino och använd fjärrkontrollen för att rotera fästet


Låt antingen Arduino vara ansluten till din dator eller koppla ur den från datorn och använd ett 9V batteri för att ge Arduino likström. Slutligen, använd en billig IR -fjärrkontroll för att styra servon och därför telefonfästets orientering!
Nummer 1 på fjärrkontrollen bör ställa in servopositionen till 0 grader, nummer 2 till 90 grader och nummer 3 till 180 grader. Samtidigt bör + och - knapparna på fjärrkontrollen öka eller minska servos vinkel med 1 grad, respektive.
Obs! Om du använder en annan IR -fjärrkontroll än den som visas här är det möjligt att IR -koder som motsvarar olika knappar ändras. Om så är fallet, ändra ServoIRandLCD -skissen för att använda dessa IR -koder istället.
Steg 6: Läs detta för källkodförklaring


Källkoden för Arduino -skissen finns nedan eller i den tidigare bifogade zip -filen. De nödvändiga biblioteken kan bara hittas i den tidigare bifogade zip -filen i steg 4.
Det första koden gör är att inkludera nödvändiga bibliotek som behövs för att köra alla funktioner i skissen. Därefter förklarar den stift 9 på Arduino att vara PWM-aktiverad signalstift för servon. Det gör också stift 11 på Arduino till stiftet som används för IR -mottagaren. Därefter deklarerar den en heltalsvariabel som används för att hålla reda på servos position i grader och ställer in den till 0 grader, till en början. Sedan instansierar den de nödvändiga objekten för ett IRrecv -objekt, ett servoobjekt och myDisplay LCD -objekt (som också är konfigurerat på samma rad) så att dessa objekt kan användas senare.
I installationsfunktionen startas därefter den seriella porten med 9600 bitar/sek så att seriell bildskärm kan användas för att hålla reda på servos position om så önskas. Det fäster också myservo -objektet till stift 9, startar IR -mottagaren och initierar LCD -skärmen.
I huvudslingfunktionen, vars kropp endast utförs om en IR -överföring tas emot från IR -mottagaren, avkodar IR -mottagaren signalen som skickas till den från IR -fjärrkontrollen med hjälp av avkodningsfunktionen (& resultat) och sedan om uttalanden avgör vad för att ställa in servon till beroende på det mottagna IR -värdet. Skrivfunktionen används för att ställa in servon i lämpliga grader, och läsfunktionen används för att hitta den aktuella vinkeln på servon och öka eller minska den efter behov.
Slutligen skickas servos nuvarande vinkel till både seriell bildskärm och LCD -skärm med funktionen myservo.read (), och huvudslingorna upprepas på obestämd tid.
Källkod:
#inkludera // Arduino standardbibliotek #inkludera // IR -bibliotek #inkludera "Wire.h" //Wire.h för LCD (ibland behövs) #inkludera "LiquidCrystal_I2C.h" // LCD -bibliotek
#define servopin 9 // detta definierar stift 9 som stiftet som används för servokontrollkabeln (orange)
int RECV_PIN = 11; // IR-fototransistor skickar utmatning till stift 11
int currentAngle = 0; // deklarera currentAngles heltalsvariabel och ställ in på 0
IRrecv irrecv (RECV_PIN); // instansera ett IR -mottagarobjekt avkodningsresultat; // instansiera ett avkodningsresultat -objekt. Detta objekt är separat från IR -mottagaren.
Servo myservo; // instansiera ett Servo -objekt med namnet 'myservo' // maximalt åtta servoobjekt kan skapas
LiquidCrystal_I2C myDisplay (0x27, 16, 2); // instansera LCD -objekt och konfigurera konfigur
void setup () {
Serial.begin (9600); // starta seriell port
myservo.attach (servopin); // fäster servon på stift 9 på servoobjektet
irrecv.enableIRIn (); // starta mottagaren
myDisplay.init (); // initiera LCD
myDisplay.backlight (); // Slå på LCD -bakgrundsbelysning
}
void loop () {
if (irrecv.decode (& resultat)) // om överföring mottogs …
{Serial.print ("IR -värde mottaget:");
Serial.println (resultat.värde); // visat värde mottaget
// tolka de mottagna kommandona … if (results.value == 16724175) // 1 {// vänster myservo.write (0); }
if (results.value == 16718055) // 2 {// mitt myservo.write (90); }
if (results.value == 16743045) // 3 {// höger 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); }}
irrecv.resume (); // Få nästa värde
// Seriell bildskärmsutskrift Serial.print ("Aktuell servoposition:");
Serial.println (myservo.read ()); // detta hämtar servopositionen och skickar den till den seriella bildskärmen
// LCD -utskrift myDisplay.clear ();
myDisplay.print ("Servo deg.:");
myDisplay.print (myservo.read ());
fördröjning (200); // fördröjning för att göra servostyrningen stabil
}
Steg 7: Titta på min Youtube -video för hjälp

Se min olistade YouTube -video som helt diskuterar och demonstrerar projektet om du har några frågor!
Rekommenderad:
Roterande julgran och programmerbara lampor med Arduino: 11 steg

Roterande julgran och programmerbara lampor med Arduino: Roterande julgran och programmerbara lampor med ArduinoProjektet kommer att se hur man gör en roterande julgran med arduino, en kylare, en perforerad experimentbräda, LED -lampor och några andra elektroniska element
En annan mestadels 3D -tryckt roterande switch: 7 steg (med bilder)

En annan mestadels 3D -tryckt roterande switch: För ett tag sedan skapade jag en Mostly 3D Printed Rotary Switch speciellt för mitt Minivac 601 Replica -projekt. För mitt nya Think-a-Tron 2020-projekt behöver jag ännu en vridomkopplare. Jag letar efter en SP5T panelmonterad switch. En tillägg
Telefonfäste med bärbar laddare: 5 steg

Telefonfäste med bärbar laddare: I det här projektet kommer jag att visa dig hur du gör en telefonfäste och en bärbar laddare som passar inuti den
Hur man använder stegmotor som roterande kodare och OLED -display för steg: 6 steg

Så här använder du stegmotor som roterande kodare och OLED -skärm för steg: I denna handledning lär vi oss hur du spårar stegmotorstegen på OLED -skärmen. Titta på en demonstrationsvideo. Kredit för den ursprungliga handledningen går till YouTube -användaren " sky4fly "
Toalettpappersrullmonterad telefonfäste: 7 steg (med bilder)

Toalettpappersrullefäste: Behöver du någonstans att hålla telefonen medan den laddas så att den fortfarande är upprätt? Ett telefonfäste är svaret på detta. Har du några extra toalettpappersrullar som ligger runt ditt hus och bara lite kartong? Om du gör det kommer du