Indholdsfortegnelse:
- Trin 1: Byg IR -modtager kredsløb
- Trin 2: Tilslut servo, kolonne og telefonholder
- Trin 3: Tilslut LCD -skærmen til Servo -aflæsning
- Trin 4: Brug koden og de biblioteker, der er knyttet til at programmere Arduino
- Trin 5: Tilslut den ønskede strømkilde til Arduino, og brug fjernbetjeningen til at dreje holderen
- Trin 6: Læs dette for en forklaring på kildekoden
- Trin 7: Se min Youtube -video for hjælp
Video: Roterende telefonholder: 7 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Denne instruerbare blev oprettet for at opfylde projektkravet fra Makecourse ved University of South Florida (www.makecourse.com).
Vil du lave en roterende telefonholder, så du kan se telefonens indhold i stående eller liggende retning uden at skulle beholde den? Så kig ikke længere.
For at oprette dette projekt skal du bruge:
- Arduino mikrokontroller og IDE
- USB -kabel til overførsel af kode
- Brødbræt
- Jumper Wires
- LCD display
- Servo
- Søjle, der kan fastgøres til servoen
- IR fjernbetjening
- IR -modtager
- 10k ohm modstand
- Kenu Airframe+ Phone Clip (eller noget for at holde telefonen på plads)
- 9 V batteri til bærbar strøm eller bare USB -drevet Arduino
Trin 1: Byg IR -modtager kredsløb
Først skal du springe GND og +5V fra Arduino til strømskinnerne på dit brødbræt. Hop derefter din 10k ohm modstand fra +5V strømskinnen til udgangsstiften på din IR -modtager fototransistor. Brug derefter en jumper wire til at forbinde til pin 11 på Arduino fra output pin på IR modtageren. Brug derefter to jumperkabler til at sende jord og +5V til de respektive stifter på IR -modtageren. RC -filteret vist i skematisk ovenfor er ikke nødvendigt. Endelig lavede jeg ikke skematikken vist i dette trin, og kilden til den er til stede på billedet.
Trin 2: Tilslut servo, kolonne og telefonholder
Brug nu to jumper -tråde til at hoppe fra jorden og +5V af brødbrædderets skinner ind i henholdsvis servoens brune og røde ledninger. Brug derefter en jumper wire til at fastgøre pin 9 på Arduino til den orange ledning på servoen.
Sæt derefter en kolonne fast på hovedet på servoen som vist på det andet billede.
Til sidst skal du vedhæfte noget for at holde telefonen til kolonnen, som Kenu Airframe+, som vist på det tredje billede.
Trin 3: Tilslut LCD -skærmen til Servo -aflæsning
Spring jorden og +5V fra dine brødbrætskinner til de respektive stifter på LCD -displayet. Spring også SDA- og SCL -benene fra LCD'et over på Ardiuno. Arduinoens SDA- og SCL -ben kan identificeres fra bagsiden af Arduino -kortet og er de to ben ovenfor AREF og jorden over stiften 13. SCL -stiften er den højeste. Dette gør det muligt for LCD -displayet at aflæse den aktuelle servoposition.
Trin 4: Brug koden og de biblioteker, der er knyttet til at programmere Arduino
Download filen RotatingMountCode.zip. Installer Arduino IDE, og pak den downloadede fil ud i Documents / Arduino. Sørg for at kopiere indholdet af min skitser og biblioteksmappe til din skitser og biblioteksmappe. Åbn ServoIRandLCD -skitsen, og upload den til din Arduino.
Se senere trin for kodeforklaring.
Trin 5: Tilslut den ønskede strømkilde til Arduino, og brug fjernbetjeningen til at dreje holderen
Lad enten Arduino være tilsluttet din computer, eller tag den ud af din computer, og brug et 9V batteri til at levere Arduino jævnstrøm. Endelig skal du bruge en billig IR -fjernbetjening til at styre servoen og derfor telefonholderens retning!
Nummer 1 på fjernbetjeningen skal indstille servopositionen til 0 grader, nummer 2 til 90 grader og nummer 3 til 180 grader. I mellemtiden skal + og - knapperne på fjernbetjeningen øge eller formindske servos vinkel med henholdsvis 1 grad.
Bemærk: Hvis du bruger en anden IR -fjernbetjening end den her på billedet, er det muligt, at IR -koderne, der svarer til forskellige knapper, kan ændres. Hvis ja, skal du ændre ServoIRandLCD -skitsen for i stedet at bruge disse IR -koder.
Trin 6: Læs dette for en forklaring på kildekoden
Kildekoden til Arduino -skitsen findes nedenfor eller i den tidligere vedhæftede.zip -fil. De nødvendige biblioteker kan kun findes i den tidligere vedhæftede.zip -fil i trin 4.
Det første, koden gør, er at inkludere de nødvendige biblioteker, der er nødvendige for at køre alle funktionerne i skitsen. Dernæst erklærer den pin 9 på Arduino for at være den PWM-aktiverede signalstift til servoen. Det gør også pin 11 på Arduino til den pin, der bruges til IR -modtageren. Dernæst erklærer den en heltalsvariabel, der bruges til at holde styr på servoens position i grader og sætter den til 0 grader i første omgang. Derefter instantierer det de nødvendige objekter til et IRrecv -objekt, et servoobjekt og myDisplay LCD -objekt (der også er konfigureret i samme linje), så disse objekter kan bruges senere.
I installationsfunktionen startes derefter den serielle port med 9600 bits/sek, så den serielle skærm kan bruges til at holde styr på servoens position, hvis det ønskes. Det fastgør også myservo -objektet til pin 9, starter IR -modtageren og initialiserer LCD -displayet.
I hovedsløjfe -funktionen, hvis hoveddel kun udføres, hvis der modtages en IR -transmission fra IR -modtageren, dekoder IR -modtageren det signal, der sendes til den fra IR -fjernbetjeningen ved hjælp af afkodningsfunktionen (& resultater), og derefter hvis udsagn bestemmer, hvad at indstille servoen til afhængigt af den modtagne IR -værdi. Skrivefunktionen bruges til at indstille servoen til de passende grader, og læsefunktionen bruges til at finde den aktuelle vinkel på servoen og øge eller formindske den efter behov.
Endelig sendes servoens aktuelle vinkel til både den serielle skærm og LCD -skærmen ved hjælp af funktionen myservo.read (), og hovedløkkerne gentages på ubestemt tid.
Kildekode:
#include // Arduino standardbibliotek #inkluderer // IR -bibliotek #include "Wire.h" //Wire.h til LCD (nogle gange nødvendigt) #include "LiquidCrystal_I2C.h" // LCD -bibliotek
#define servopin 9 // dette definerer pin 9 som den pin, der bruges til servostyringsledningen (orange)
int RECV_PIN = 11; // IR-fototransistor sender output til pin 11
int currentAngle = 0; // erklære currentAngle -heltalsvariabel og indstillet til 0
IRrecv irrecv (RECV_PIN); // instabilisere et IR -modtagerobjekt decode_results resultater; // instantiate et decode_results objekt. Dette objekt er adskilt fra IR -modtageren.
Servo myservo; // instantier et Servo -objekt med navnet 'myservo' // der kan maksimalt oprettes otte servoobjekter
LiquidCrystal_I2C myDisplay (0x27, 16, 2); // instantier LCD -objekt og konfigurer konfiguration
ugyldig opsætning () {
Serial.begin (9600); // start seriel port
myservo.attach (servopin); // fastgør servoen på pin 9 til servoobjektet
irrecv.enableIRIn (); // start modtageren
myDisplay.init (); // initialiser LCD
myDisplay.backlight (); // Tænd LCD -baggrundsbelysning
}
void loop () {
hvis (irrecv.decode (& resultater)) // hvis transmission modtaget …
{Serial.print ("modtaget IR -værdi:");
Serial.println (resultater.værdi); // visningsværdi modtaget
// fortolke de modtagne kommandoer … hvis (results.value == 16724175) // 1 {// forlod myservo.write (0); }
hvis (results.value == 16718055) // 2 {// midterste myservo.write (90); }
hvis (results.value == 16743045) // 3 {// højre 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 (); // Modtag den næste værdi
// Seriel skærmudskrivning Serial.print ("Aktuel servoposition:");
Serial.println (myservo.read ()); // dette henter servopositionen og sender den til den serielle skærm
// LCD print myDisplay.clear ();
myDisplay.print ("Servo deg.:");
myDisplay.print (myservo.read ());
forsinkelse (200); // forsinkelse for at gøre servoaktivering stabil
}
Trin 7: Se min Youtube -video for hjælp
Se min unoterede YouTube -video, der fuldstændigt diskuterer og demonstrerer projektet, hvis du har spørgsmål!
Anbefalede:
Telefonholder med bærbar oplader: 5 trin
Telefonholder med bærbar oplader: I dette projekt vil jeg vise dig, hvordan du laver en telefonholder og en bærbar oplader, der passer ind i den
Sådan bruges trinmotor som roterende encoder og OLED -display til trin: 6 trin
Sådan bruges trinmotor som roterende encoder og OLED -skærm til trin: I denne vejledning lærer vi, hvordan du sporer trinmotortrinene på OLED -skærmen. Se en demonstrationsvideo. Kredit for den originale vejledning går til youtube -bruger " sky4fly "
DIY telefonholder: 7 trin (med billeder)
DIY telefonholder: Sådan laver du en fungerende finurlig og attraktiv telefonholder med alt det ekstra skrammel, du ikke har brug for
3d trykt telefonholder: 5 trin
3d trykt telefonholder: Dette er et 3D -trykt telefonetui, der blev lavet med Tinkercad. Denne telefonetuiholder kan placeres på en 3D -trykt armtilpasning til en amputeret. Tilpasningen kan tages på en 3D -trykt arm. Denne telefonetuiholder passer til telefonen X. Stl
Modulær håndfri telefonholder fra papir: 4 trin (med billeder)
Modulær håndfri telefonholder fra papir: En krave og et armsystem, der holder lette ting som telefoner, snacks eller kopper i justerbare positioner. Gør til: Læser instruktører håndfri (til at bygge ting) Skyping på farten Blogging Brug af navigator -apps Hold din drink Når du nogensinde har brug for en