Sisukord:
- Samm: ehitage infrapuna vastuvõtja ahel
- Samm: ühendage servo, veerg ja telefonihoidik
- Samm: ühendage LCD -ekraan servo lugemiseks
- Samm: kasutage Arduino programmeerimiseks koodi ja raamatukogusid
- Samm: ühendage soovitud toiteallikas Arduinoga ja kasutage puldi pööramiseks kaugjuhtimispulti
- 6. toiming: lugege seda lähtekoodi selgitamiseks
- Samm: vaadake abi saamiseks minu Youtube'i videot
Video: Pöörlev telefonikinnitus: 7 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
See juhend on loodud Lõuna -Florida ülikooli Makecourse'i projektinõude täitmiseks (www.makecourse.com).
Kas soovite teha pöörleva telefonikinnituse, et saaksite oma telefoni sisu vaadata portree- või horisontaalsuunas ilma seda hoidmata? Ärge siis enam otsige.
Selle projekti loomiseks vajate:
- Arduino mikrokontroller ja IDE
- USB -kaabel koodi üleslaadimiseks
- Leivalaud
- Jumper juhtmed
- LCD ekraan
- Servo
- veerg, mida saab servo külge kinnitada
- IR kaugjuhtimispult
- IR vastuvõtja
- 10k oomi takisti
- Kenu lennukikere+ telefoniklamber (või midagi, mis hoiab telefoni paigas)
- 9 V aku kaasaskantava toite jaoks või lihtsalt USB -toitega Arduino
Samm: ehitage infrapuna vastuvõtja ahel
Kõigepealt hüppa GND ja +5 V Arduino juurest leivaplaadi toitepiiretele. Seejärel hüpata oma 10 kOomi takisti +5 V toiteliinilt oma IR -vastuvõtja fototransistori väljundnõelale. Järgmisena ühendage infrapuna vastuvõtja väljundtihvtist Arduino tihvtiga 11 ühendusjuhtmega. Seejärel kasutage kahe hüppaja juhtme abil maandust ja +5 V IR -vastuvõtja vastavatele tihvtidele. Ülaltoodud skeemil kujutatud RC -filter pole vajalik. Lõpuks ei koostanud ma selles etapis näidatud skeemi ja selle allikas on pildil.
Samm: ühendage servo, veerg ja telefonihoidik
Nüüd kasutage kahe hüppajajuhtme abil hüppamist maapinnalt ja +5 V leivaplaadi toitepiiret vastavalt servo pruunidesse ja punastesse juhtmetesse. Seejärel kinnitage ühe hüppaja juhtmega Arduino tihvt 9 servo oranži juhtme külge.
Seejärel kinnitage servo pea külge veerg, nagu on näidatud teisel pildil.
Lõpuks kinnitage midagi veergu telefoni hoidmiseks, näiteks Kenu Airframe+, nagu on näidatud kolmandal pildil.
Samm: ühendage LCD -ekraan servo lugemiseks
Hüpake maapinda ja +5 V oma leivalaua toitepiiretelt LCD -ekraanil olevatele vastavatele tihvtidele. Samuti hüpata SDA- ja SCL -tihvtid LCD -ekraanilt Ardiuno peale. Arduino SDA- ja SCL -tihvtid saab tuvastada Arduino plaadi tagaküljelt ning need on kaks tihvti AREF kohal ja maapind 13. tihvti kohal. SCL -tihvt on kõrgeim. See võimaldab LCD -ekraanil lugeda praegust servoasendit.
Samm: kasutage Arduino programmeerimiseks koodi ja raamatukogusid
Laadige alla fail RotatingMountCode.zip. Installige Arduino IDE ja pakkige allalaaditud fail pakendisse Documents / Arduino. Kopeerige kindlasti minu visandite ja teekide kausta sisu oma visandite ja raamatukogude kausta. Avage eskiis ServoIRandLCD ja laadige see oma Arduinosse üles.
Vaadake koodi selgitamiseks hilisemaid samme.
Samm: ühendage soovitud toiteallikas Arduinoga ja kasutage puldi pööramiseks kaugjuhtimispulti
Jätke Arduino arvutiga ühendatuks või ühendage see arvutist lahti ja kasutage Arduinole alalisvoolu toiteks 9 V akut. Lõpuks kasutage odavat IR -kaugjuhtimispulti, et juhtida servot ja seega ka telefonikinnituse suunda!
Kaugjuhtimispuldi number 1 peaks seadma servoasendi 0 kraadi, number 2 kuni 90 kraadi ja number 3 kuni 180 kraadi. Samal ajal peaksid kaugjuhtimispuldi nupud + ja - suurendama või vähendama servo nurka vastavalt 1 kraadi võrra.
Märkus: Kui kasutate erinevat IR -kaugjuhtimispulti, mis siin pildil, on võimalik, et erinevatele nuppudele vastavad IR -koodid muutuvad. Kui jah, muutke ServoIRandLCD visandit, et kasutada neid IR -koode.
6. toiming: lugege seda lähtekoodi selgitamiseks
Arduino visandi lähtekoodi leiate alt või varem lisatud.zip -failist. Vajalikud teegid leiate 4. sammus varem lisatud.zip -failist.
Esimese asjana sisaldab kood vajalikke teeke, mis on vajalikud eskiisi kõigi funktsioonide käivitamiseks. Järgmisena kuulutab see Arduino tihvti 9 servo PWM-toega signaali tihvtiks. Samuti muudab see Arduino tihvti 11 IR -vastuvõtja jaoks kasutatavaks tihvtiks. Seejärel deklareerib see täisarvulise muutuja, mida kasutatakse servo positsiooni jälgimiseks kraadides, ja seab selle esialgu 0 kraadile. Seejärel kuvab see vajalikud IRrecv -objekti, servo -objekti ja myDisplay LCD -objekti (mis on samuti samal real konfigureeritud) jaoks vajalikud objektid, et neid objekte saaks hiljem kasutada.
Järgmisena käivitatakse seadistusfunktsioonis jadaport kiirusega 9600 bitti sekundis, nii et jadamonitori saab soovi korral kasutada servo asukoha jälgimiseks. Samuti kinnitab see myservo objekti tihvtiga 9, käivitab IR vastuvõtja ja lähtestab LCD ekraani.
Põhiahela funktsioonis, mille põhiosa käivitatakse ainult siis, kui IR -vastuvõtja võtab vastu IR -ülekande, dekodeerib IR -vastuvõtja talle IR -puldilt saadetud signaali, kasutades dekodeerimise (& tulemusi) funktsiooni ja seejärel, kui avaldused määravad, mis et seadistada servo sõltuvalt vastuvõetud IR väärtusest. Kirjutamisfunktsiooni kasutatakse servo sobivatele astmetele seadmiseks ja lugemisfunktsiooni abil servo praeguse nurga leidmiseks ning selle suurendamiseks või vähendamiseks vastavalt vajadusele.
Lõpuks saadetakse servo praegune nurk nii jadamonitorile kui ka LCD -ekraanile, kasutades funktsiooni myservo.read (), ja peamised ahelad korduvad lõputult.
Lähtekood:
#include // Arduino standardraamatukogu #include // IR -raamatukogu #Include "Wire.h" // LCD -juhtme jaoks mõeldud juhtmeühendus (mõnikord vajalik) #Include "LiquidCrystal_I2C.h" // LCD -raamatukogu
#define servopin 9 // see määratleb tihvti 9 kui servo juhtjuhtme tihvti (oranž)
int RECV_PIN = 11; // IR-fototransistor saadab väljundi pin 11-le
int currentAngle = 0; // deklareerige currentAngle täisarv muutuja ja määrake 0
IRrecv irrecv (RECV_PIN); // infrapuna vastuvõtja objekti dekodeerimine decode_results results; // dekodeerida dekodeerimise_tulemuste objekt. See objekt on IR -vastuvõtjast eraldi.
Servo myservo; // teenindada servo -objekti nimega 'myservo' // saab luua maksimaalselt kaheksa servo -objekti
LiquidCrystal_I2C myDisplay (0x27, 16, 2); // LCD -objekti kiirendamine ja konfiguratsiooni seadistamine
tühine seadistus () {
Seriaalne algus (9600); // jadaporti käivitamine
myservo.attach (servopin); // kinnitab tihvti 9 servo servoobjekti külge
irrecv.enableIRIn (); // käivitage vastuvõtja
myDisplay.init (); // LCD initsialiseerimine
myDisplay.backlight (); // LCD taustvalgustuse sisselülitamine
}
void loop () {
if (irrecv.decode (& results)) // kui edastus on vastu võetud …
{Serial.print ("IR väärtus saadud:");
Serial.println (results.value); // kuvatud väärtus on vastu võetud
// tõlgendada vastuvõetud käske… if (results.value == 16724175) // 1 {// left myservo.write (0); }
if (results.value == 16718055) // 2 {// keskel myservo.write (90); }
if (results.value == 16743045) // 3 {// right myservo.write (180); }
if (results.value == 16754775) //+ {// juurdekasv currentAngle = myservo.read (); myservo.write (currentAngle + 1); } if (results.value == 16769055) //- {// vähendamine currentAngle = myservo.read (); myservo.write (currentAngle - 1); }}
irrecv.resume (); // Saate järgmise väärtuse
// Seeriamonitori trükk Serial.print ("Servo praegune asukoht:");
Serial.println (myservo.read ()); // see otsib servoasendi ja saadab selle jadamonitorile
// LCD printimine myDisplay.clear ();
myDisplay.print ("Servo deg.:");
myDisplay.print (myservo.read ());
viivitus (200); // viivitus, et muuta servo käivitamine stabiilseks
}
Samm: vaadake abi saamiseks minu Youtube'i videot
Vaadake minu noteerimata YouTube'i videot, mis arutab ja demonstreerib projekti täielikult, kui teil on küsimusi!
Soovitan:
Pöörlev jõulupuu ja programmeeritavad tuled Arduinoga: 11 sammu
Pöörlev jõulupuu ja programmeeritavad tuled koos Arduinoga: pöörlev jõulupuu ja programmeeritavad tuled koos Arduinoga
Pöörlev CNC PUDELIPLOTTER: 9 sammu (piltidega)
PÖÖRDAV CNC -PUDELIPLOTTER: Võtsin kätte mõned rullid, mida ilmselt printeris kasutatakse. Mul tekkis idee muuta need CNC pudelite plotteri pöörlemisteljeks. Täna tahaksin jagada, kuidas nendest rullidest ja muudest sissekannetest CNC -pudeli plotterit ehitada
Telefonikinnitus kaasaskantava laadijaga: 5 sammu
Telefonikinnitus kaasaskantava laadijaga: Selles projektis näitan teile, kuidas teha telefonikinnitus ja kaasaskantav laadija, mis sobib selle sisse
Tualettpaberirulli telefonikinnitus: 7 sammu (piltidega)
Tualettpaberirulli telefonikinnitus: kas teil on vaja telefoni laadimise ajal kuhugi hoida, et see oleks ikka püsti? Telefonikinnitus on sellele vastus. Kas teie maja ümber lebab paar varukoopiat tualettpaberist ja lihtsalt väike papp? Kui teed, siis
Google'i kodu traadita laadimispuidust auto telefonikinnitus: 7 sammu (koos piltidega)
Google'i kodu traadita laadimispuidust auto telefonikinnitus: Tere tulemast! Kas olete kunagi tahtnud Google'ilt küsimust küsida sõidu ajal ilma telefoni avamata? Google'i assistent on suurepärane rakendus, millel on lahedad funktsioonid, kuid see nõuab telefoni avamist ja rakenduse avamist või kodu all hoidmist