
Satura rādītājs:
- 1. darbība: izveidojiet IR uztvērēja ķēdi
- 2. darbība: pievienojiet servo, kolonnu un tālruņa turētāju
- 3. darbība: pievienojiet LCD displeju servo nolasīšanai
- 4. darbība: izmantojiet Arduino programmēšanai pievienoto kodu un bibliotēkas
- 5. darbība: pievienojiet vēlamo barošanas avotu Arduino un izmantojiet tālvadības pulti, lai pagrieztu stiprinājumu
- 6. darbība. Izlasiet šo avota koda skaidrojumu
- 7. darbība: skatieties manu YouTube videoklipu, lai saņemtu palīdzību
2025 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2025-01-23 14:59

Šī pamācība tika izveidota, izpildot Dienvidfloridas Universitātes Makecourse projekta prasības (www.makecourse.com).
Vai vēlaties izveidot rotējošu tālruņa stiprinājumu, lai varētu apskatīt tālruņa saturu portreta vai ainavas orientācijā, to nenoturot? Tad nemeklējiet tālāk.
Lai izveidotu šo projektu, jums būs nepieciešams:
- Arduino mikrokontrolleris un IDE
- USB kabelis koda augšupielādei
- Maizes dēlis
- Jumper vadi
- LCD displejs
- Servo
- kolonna, ko var piestiprināt pie servo
- IR tālvadības pults
- IR uztvērējs
- 10k omu rezistors
- Kenu lidmašīnas rāmis+ tālruņa klips (vai kaut kas, lai turētu tālruni vietā)
- 9 V akumulators pārnēsājamai barošanai vai tikai ar USB darbināms Arduino
1. darbība: izveidojiet IR uztvērēja ķēdi


Vispirms leciet GND un +5V no Arduino uz maizes dēļa barošanas sliedēm. Pēc tam leciet savu 10k omu rezistoru no +5V barošanas sliedes uz IS uztvērēja fototransistora izejas tapu. Pēc tam izmantojiet pārejošo vadu, lai izveidotu savienojumu ar Arduino 11. tapu no IR uztvērēja izejas tapas. Pēc tam izmantojiet divus savienojuma vadus, lai nosūtītu zemi un +5 V uz attiecīgajām infrasarkanā uztvērēja tapām. Iepriekš redzamajā shematiskajā attēlā redzamais RC filtrs nav nepieciešams. Visbeidzot, es neizveidoju šajā solī parādīto shematisko attēlu, un tā avots ir attēlā.
2. darbība: pievienojiet servo, kolonnu un tālruņa turētāju



Tagad izmantojiet divus džemperu vadus, lai pārietu no zemes un +5 V maizes dēļa barošanas sliedes attiecīgi servo brūnajos un sarkanajos vados. Pēc tam izmantojiet vienu džemperu vadu, lai piestiprinātu Arduino tapu 9 pie servo oranžās stieples.
Pēc tam piestipriniet kolonnu pie servo galvas, kā parādīts otrajā attēlā.
Visbeidzot, kolonnai pievienojiet kaut ko, lai turētu tālruni, piemēram, Kenu Airframe+, kā parādīts trešajā attēlā.
3. darbība: pievienojiet LCD displeju servo nolasīšanai

Pārlēkt zemi un +5 V no maizes dēļa barošanas sliedēm līdz attiecīgajām tapām LCD displejā. Pārlejiet arī SDA un SCL tapas no LCD uz Ardiuno. Arduino SDA un SCL tapas var identificēt no Arduino plates aizmugures, un tās ir divas tapas virs AREF un Zemes virs 13. tapas. SCL tapa ir augstākā. Tas ļauj LCD displejam nolasīt pašreizējo servo stāvokli.
4. darbība: izmantojiet Arduino programmēšanai pievienoto kodu un bibliotēkas

Lejupielādējiet failu RotatingMountCode.zip. Instalējiet Arduino IDE un izpakojiet lejupielādēto failu mapē Documents / Arduino. Pārliecinieties, ka esat nokopējis manu skiču un bibliotēku mapes saturu savā skiču un bibliotēku mapē. Atveriet ServoIRandLCD skici un augšupielādējiet to savā Arduino.
Koda skaidrojumu skatiet turpmākajās darbībās.
5. darbība: pievienojiet vēlamo barošanas avotu Arduino un izmantojiet tālvadības pulti, lai pagrieztu stiprinājumu


Vai nu atstājiet Arduino pievienotu datoram, vai atvienojiet to no datora un izmantojiet 9 V akumulatoru, lai nodrošinātu Arduino līdzstrāvas padevi. Visbeidzot, izmantojiet lētu IR tālvadības pulti, lai kontrolētu servo un līdz ar to arī tālruņa stiprinājuma orientāciju!
Tālvadības pults numuram 1 jāiestata servo pozīcija uz 0 grādiem, skaitlis 2 - 90 grādi un skaitlis 3 līdz 180 grādiem. Tikmēr tālvadības pults taustiņiem + un - vajadzētu attiecīgi palielināt vai samazināt servo leņķi par 1 grādu.
Piezīme. Ja izmantojat citu IR tālvadības pulti, nevis šeit redzamo, iespējams, ir mainīti dažādām pogām atbilstošie IR kodi. Ja tā, mainiet ServoIRandLCD skici, lai tā vietā izmantotu šos IR kodus.
6. darbība. Izlasiet šo avota koda skaidrojumu


Arduino skices avota kodu var atrast zemāk vai iepriekš pievienotajā.zip failā. Nepieciešamās bibliotēkas var atrast tikai iepriekš pievienotajā.zip failā, veicot 4. darbību.
Pirmā lieta, ko veic kods, ietver nepieciešamās bibliotēkas, kas nepieciešamas, lai palaistu visas skices funkcijas. Tālāk tas paziņo, ka Arduino 9. tapa ir servo PWM iespējotā signāla tapa. Tas arī padara Arduino 11. tapu par tapu, ko izmanto IR uztvērējam. Pēc tam tas deklarē veselu skaitļu mainīgo, ko izmanto, lai izsekotu servo pozīciju grādos, un sākotnēji nosaka to līdz 0 grādiem. Pēc tam tas uzreiz izveido nepieciešamos objektus IRrecv objektam, servobjektam un myDisplay LCD objektam (kas arī ir konfigurēts tajā pašā rindā), lai šos objektus varētu izmantot vēlāk.
Tālāk iestatīšanas funkcijā seriālais ports tiek palaists ar ātrumu 9600 biti sekundē, lai pēc vajadzības varētu izmantot seriālo monitoru, lai izsekotu servo pozīcijai. Tas arī pievieno myservo objektu 9. tapai, iedarbina IR uztvērēju un inicializē LCD displeju.
Galvenās cilpas funkcijā, kuras pamatteksts tiek izpildīts tikai tad, ja no IR uztvērēja tiek saņemta IS pārraide, IR uztvērējs dekodē signālu, kas tam nosūtīts no IR tālvadības, izmantojot atšifrēšanas (& rezultātu) funkciju, un pēc tam, ja paziņojumi nosaka, kas lai iestatītu servo atkarībā no saņemtās IR vērtības. Rakstīšanas funkcija tiek izmantota, lai iestatītu servo atbilstošos grādos, un lasīšanas funkcija tiek izmantota, lai atrastu servo pašreizējo leņķi un pēc vajadzības to palielinātu vai samazinātu.
Visbeidzot, servo pašreizējais leņķis tiek nosūtīts gan uz seriālo monitoru, gan uz LCD displeju, izmantojot funkciju myservo.read (), un galvenās cilpas atkārtojas bezgalīgi.
Avota kods:
#include // Arduino standarta bibliotēka #include // IR library #include "Wire.h" //Wire.h for LCD (dažreiz nepieciešams) #include "LiquidCrystal_I2C.h" // LCD bibliotēka
#define servopin 9 // tas nosaka tapu 9 kā tapu, ko izmanto servo vadības vadam (oranža)
int RECV_PIN = 11; // IR fototranzistors nosūta izeju uz 11. tapu
int currentAngle = 0; // deklarēt currentAngle veselu skaitļu mainīgo un iestatīt uz 0
IRrecv irrecv (RECV_PIN); // momentāni parādīt IR uztvērēja objektu decode_results rezultāti; // parauga objekts decode_results. Šis objekts ir atsevišķi no IR uztvērēja.
Servo myservo; // parafēt Servo objektu ar nosaukumu 'myservo' // var izveidot ne vairāk kā astoņus servo objektus
LiquidCrystal_I2C myDisplay (0x27, 16, 2); // paraudzīt LCD objektu un iestatīt konfigurāciju
void setup () {
Sērijas sākums (9600); // sākt seriālo portu
myservo.attach (servopin); // piestiprina servo 9. tapā pie servo objekta
irrecv.enableIRIn (); // iedarbiniet uztvērēju
myDisplay.init (); // inicializēt LCD
myDisplay.backlight (); // ieslēgt LCD apgaismojumu
}
void loop () {
if (irrecv.decode (& rezultāti)) // ja saņemta pārraide …
{Serial.print ("IR vērtība saņemta:");
Serial.println (results.value); // parādītā vērtība
// interpretēt saņemtās komandas… if (results.value == 16724175) // 1 {// left myservo.write (0); }
if (results.value == 16718055) // 2 {// vidējais myservo.write (90); }
if (results.value == 16743045) // 3 {// labi myservo.write (180); }
if (results.value == 16754775) //+ {// pieaugums currentAngle = myservo.read (); myservo.write (currentAngle + 1); } if (results.value == 16769055) //- {// samazinājums currentAngle = myservo.read (); myservo.write (currentAngle - 1); }}
irrecv.resume (); // Saņemiet nākamo vērtību
// Seriālā monitora druka Serial.print ("Pašreizējā servo pozīcija:");
Serial.println (myservo.read ()); // tas izgūst servo pozīciju un nosūta to uz seriālo monitoru
// LCD drukāt myDisplay.clear ();
myDisplay.print ("Servo deg.:");
myDisplay.print (myservo.read ());
kavēšanās (200); // kavēšanās, lai padarītu servo iedarbināšanu stabilu
}
7. darbība: skatieties manu YouTube videoklipu, lai saņemtu palīdzību

Skatiet manu neiekļauto YouTube videoklipu, kas pilnībā apspriež un demonstrē projektu, ja jums ir kādi jautājumi!
Ieteicams:
Nepārtraukti rotējošs saules motors: 5 soļi (ar attēliem)

Nepārtraukti rotējošs saules motors: kurš gan nesapņo izveidot ierīci, kas nepārtraukti kustas? Nepārtraukta skriešana, diena un nakts, vasara un ziema, mākoņainas debesis un iekšējie apgaismojuma apstākļi. Šis impulsa motors darbojas ļoti ilgu laiku, iespējams, ilgāk par manu kalpošanas laiku. Gaisma uz t
Tālruņa stiprinājums ar pārnēsājamu lādētāju: 5 soļi

Tālruņa stiprinājums ar pārnēsājamu lādētāju: Šajā projektā es jums parādīšu, kā izveidot tālruņa stiprinājumu un pārnēsājamu lādētāju, kas ietilpst tā iekšpusē
Tualetes papīra ruļļa tālruņa stiprinājums: 7 soļi (ar attēliem)

Tualetes papīra ruļļa tālruņa stiprinājums: Vai jums ir nepieciešams kaut kur glabāt tālruni, kamēr tas tiek uzlādēts, lai tas joprojām būtu vertikāli? Tālruņa stiprinājums ir atbilde uz šo jautājumu. Vai jūsu mājā atrodas daži rezerves tualetes papīra ruļļi un tikai nedaudz kartona? Ja jūs to darīsit, tad jūs
Google mājas bezvadu uzlādes koka automašīnas tālruņa stiprinājums: 7 soļi (ar attēliem)

Google mājas bezvadu uzlādes koka automašīnas tālruņa stiprinājums: laipni lūdzam! Vai esat kādreiz vēlējies uzdot Google jautājumu braukšanas laikā, neatverot tālruni? Google palīgs ir lieliska lietotne ar lieliskām funkcijām, taču tai ir nepieciešams, lai tālrunis būtu atbloķēts un lietotne būtu atvērta, vai arī turiet nospiestu mājas pogu
Retro tālruņa tālruņa uzlādes stacija: 10 soļi (ar attēliem)

Retro tālruņu uzlādes stacija: man patīk vintage rotējoša tālruņa izskats, un pāris no viņiem gulēja, lūdzot, lai viņus atdzīvina. Iedvesmas lēkmē es nolēmu apprecēties ar formu un funkciju. Tādējādi dzimst Retro tālruņu uzlādes stacija