
Innholdsfortegnelse:
- Trinn 1: Bygg IR -mottakerkretsen
- Trinn 2: Koble til servoen, kolonnen og telefonholderen
- Trinn 3: Koble til LCD -skjermen for servoavlesning
- Trinn 4: Bruk koden og bibliotekene knyttet til programmering av Arduino
- Trinn 5: Koble ønsket strømkilde til Arduino og bruk fjernkontrollen til å rotere feste
- Trinn 6: Les dette for forklaring av kildekoden
- Trinn 7: Se min Youtube -video for hjelp
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02

Denne instruksen ble opprettet for å oppfylle prosjektkravet til Makecourse ved University of South Florida (www.makecourse.com).
Vil du lage en roterende telefonfeste slik at du kan se innholdet på telefonen i stående eller liggende retning uten å måtte holde den? Så, se ikke lenger.
For å lage dette prosjektet trenger du:
- Arduino mikrokontroller og IDE
- USB -kabel for å laste opp kode
- Brødbrett
- Jumper Wires
- LCD-skjerm
- Servo
- Kolonne som kan festes til servoen
- IR -fjernkontroll
- IR -mottaker
- 10k ohm motstand
- Kenu Airframe+ Phone Clip (eller noe for å holde telefonen på plass)
- 9 V batteri for bærbar strøm eller bare USB -drevet Arduino
Trinn 1: Bygg IR -mottakerkretsen


Først hopper du GND og +5V fra Arduino til strømskinnene på brødbrettet. Deretter hopper du din 10k ohm motstand fra +5V strømskinne til utgangsstiften til IR -mottakerens fototransistor. Deretter bruker du en jumper wire til å koble til pin 11 på Arduino fra utgangstappen til IR -mottakeren. Deretter bruker du to hoppetråder til å sende jord og +5V til de respektive pinnene på IR -mottakeren. RC -filteret avbildet i skjemaet ovenfor er ikke nødvendig. Til slutt gjorde jeg ikke skjematikken som ble vist i dette trinnet, og kilden til den er tilstede i bildet.
Trinn 2: Koble til servoen, kolonnen og telefonholderen



Bruk nå to hoppetråder til å hoppe fra bakken og +5V av brødbrettets strømskinner inn i henholdsvis de brune og røde ledningene på servoen. Deretter bruker du en jumper wire til å feste pin 9 på Arduino til den oransje ledningen på servoen.
Fest deretter en kolonne til hodet på servoen som vist på det andre bildet.
Fest til slutt noe for å holde telefonen til kolonnen, som Kenu Airframe+, som vist på det tredje bildet.
Trinn 3: Koble til LCD -skjermen for servoavlesning

Hopp bakken og +5V fra brødbrettets strømskinner til de respektive pinnene på LCD -skjermen. Hopp også SDA- og SCL -pinnene fra LCD -skjermen til Ardiuno. Arduinoens SDA- og SCL -pinner kan identifiseres fra baksiden av Arduino -kortet og er de to pinnene over AREF og bakken over pinne 13. SCL -pinnen er den høyeste. Dette gjør at LCD -skjermen kan lese den nåværende servoposisjonen.
Trinn 4: Bruk koden og bibliotekene knyttet til programmering av Arduino

Last ned filen RotatingMountCode.zip. Installer Arduino IDE og pakk ut den nedlastede filen til Documents / Arduino. Sørg for at du kopierer innholdet i skisse- og biblioteksmappen min til skisse- og bibliotekmappen. Åpne ServoIRandLCD -skissen og last den opp til Arduino.
Se senere trinn for kodeforklaring.
Trinn 5: Koble ønsket strømkilde til Arduino og bruk fjernkontrollen til å rotere feste


La enten Arduino være koblet til datamaskinen eller koble den fra datamaskinen, og bruk et 9V batteri for å gi Arduino likestrøm. Til slutt, bruk en billig IR -fjernkontroll for å kontrollere servoen og derfor orienteringen til telefonfestet!
Tallet 1 på fjernkontrollen bør sette servoposisjonen til 0 grader, nummer 2 til 90 grader og nummer 3 til 180 grader. I mellomtiden bør + og - knappene på fjernkontrollen øke eller redusere servovinkelen med henholdsvis 1 grad.
Merk: Hvis du bruker en annen IR -fjernkontroll enn den som er vist her, er det mulig at IR -kodene som tilsvarer forskjellige knapper endres. I så fall må du endre ServoIRandLCD -skissen for å bruke disse IR -kodene i stedet.
Trinn 6: Les dette for forklaring av kildekoden


Kildekoden for Arduino -skissen finner du nedenfor eller i den tidligere vedlagte zip -filen. De nødvendige bibliotekene finnes bare i den tidligere vedlagte zip -filen i trinn 4.
Det første koden gjør er å inkludere de nødvendige bibliotekene som trengs for å kjøre alle funksjonene i skissen. Deretter erklærer den pin 9 på Arduino for å være PWM-aktivert signalpinne for servoen. Det gjør også pin 11 på Arduino til pin som brukes til IR -mottakeren. Deretter erklærer den en heltallsvariabel som brukes til å holde oversikt over servos posisjon i grader og setter den til 0 grader, først. Deretter instantierer den de nødvendige objektene for et IRrecv -objekt, et servoobjekt og myDisplay LCD -objekt (som også er konfigurert på samme linje), slik at disse objektene kan brukes senere.
Deretter starter oppsettfunksjonen den serielle porten med 9600 bits/sek, slik at den serielle skjermen kan brukes til å holde oversikt over servoposisjonen hvis ønskelig. Den fester også myservo -objektet til pinne 9, starter IR -mottakeren og initialiserer LCD -skjermen.
I hovedsløyfefunksjonen, hvis hoveddel bare utføres hvis en IR -overføring mottas fra IR -mottakeren, dekoder IR -mottakeren signalet som sendes til den fra IR -fjernkontrollen ved hjelp av dekodingsfunksjonen (og resultater) og deretter hvis uttalelser bestemmer hva for å sette servoen til avhengig av mottatt IR -verdi. Skrivefunksjonen brukes til å sette servoen til passende grader, og lesefunksjonen brukes til å finne servoens nåværende vinkel og øke eller redusere den etter behov.
Til slutt blir servoens nåværende vinkel sendt til både seriell skjerm og LCD -skjerm ved hjelp av myservo.read () -funksjonen, og hovedløyfene gjentar seg på ubestemt tid.
Kildekode:
#include // Arduino standardbibliotek #inkluderer // IR -bibliotek #include "Wire.h" //Wire.h for LCD (noen ganger nødvendig) #include "LiquidCrystal_I2C.h" // LCD -bibliotek
#define servopin 9 // dette definerer pinne 9 som pinnen som brukes til servokontrollledningen (oransje)
int RECV_PIN = 11; // IR fototransistor sender utgang til pin 11
int currentAngle = 0; // deklar currentAngle heltallsvariabel og sett til 0
IRrecv irrecv (RECV_PIN); // instansere et IR -mottakerobjekt dekode_resultater resultater; // instansere et dekode_resultat -objekt. Dette objektet er atskilt fra IR -mottakeren.
Servo myservo; // instantere et Servo -objekt med navnet 'myservo' // maksimalt åtte servoobjekter kan opprettes
LiquidCrystal_I2C myDisplay (0x27, 16, 2); // instansere LCD -objekt og konfigurere config
ugyldig oppsett () {
Serial.begin (9600); // start seriell port
myservo.attach (servopin); // fester servoen på pinne 9 til servoobjektet
irrecv.enableIRIn (); // start mottakeren
myDisplay.init (); // initialiser LCD
myDisplay.backlight (); // slå på LCD -bakgrunnsbelysning
}
void loop () {
hvis (irrecv.decode (& resultater)) // hvis overføring mottatt …
{Serial.print ("mottatt IR -verdi:");
Serial.println (resultater.verdi); // visningsverdi mottatt
// tolke de mottatte kommandoene … if (results.value == 16724175) // 1 {// venstre myservo.write (0); }
if (results.value == 16718055) // 2 {// midtre myservo.write (90); }
if (results.value == 16743045) // 3 {// høyre 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 (); // Motta neste verdi
// Seriell skjermutskrift Serial.print ("Gjeldende servoposisjon:");
Serial.println (myservo.read ()); // dette henter servoposisjonen og sender den til den serielle skjermen
// LCD -utskrift myDisplay.clear ();
myDisplay.print ("Servo deg.:");
myDisplay.print (myservo.read ());
forsinkelse (200); // forsinkelse for å gjøre servoaktiveringen stabil
}
Trinn 7: Se min Youtube -video for hjelp

Se min unoterte YouTube -video som fullt ut diskuterer og demonstrerer prosjektet hvis du har spørsmål!
Anbefalt:
Roterende juletre og programmerbare lys med Arduino: 11 trinn

Roterende juletre og programmerbare lys med Arduino: Roterende juletre og programmerbare lys med Arduino
Kontinuerlig roterende solmotor: 5 trinn (med bilder)

Kontinuerlig roterende solmotor: Hvem drømmer ikke om å lage en enhet som er i kontinuerlig bevegelse? Uavbrutt løping, dag og natt, sommer og vinter, overskyet himmel og interne lysforhold. Denne pulsmotoren går veldig lenge, kanskje lengre enn levetiden min. Lys på
Roterende vifte ved hjelp av servomotor og hastighetskontroll: 6 trinn

Roterende vifte ved hjelp av servomotor og hastighetskontroll: I denne opplæringen lærer vi hvordan du roterer en vifte med justerbar hastighet ved hjelp av servomotor, potensiometer, arduino og Visuino. Se videoen
Telefonfeste med bærbar lader: 5 trinn

Telefonfeste med bærbar lader: I dette prosjektet vil jeg vise deg hvordan du lager en telefonfeste og en bærbar lader som passer inni den
Hvordan bruke trinnmotor som roterende koder og OLED -skjerm for trinn: 6 trinn

Hvordan bruke trinnmotor som roterende koder og OLED -skjerm for trinn: I denne opplæringen lærer vi hvordan du sporer trinnmotortrinnene på OLED -skjermen. Se en demonstrasjonsvideo. Kreditt for den originale opplæringen går til youtube -brukeren " sky4fly "