Isi kandungan:

Pemasangan Telefon Berputar: 7 Langkah
Pemasangan Telefon Berputar: 7 Langkah

Video: Pemasangan Telefon Berputar: 7 Langkah

Video: Pemasangan Telefon Berputar: 7 Langkah
Video: GA PERLU BONGKAR LAYAR HP‼️ 5 CARA INI BISA ATASI GHOST TOUCH HP GERAK GERAK SENDIRI🔥 2024, Julai
Anonim
Pemasangan Telefon Berputar
Pemasangan Telefon Berputar

Instruksional ini dibuat untuk memenuhi keperluan projek Makecourse di University of South Florida (www.makecourse.com).

Ingin membuat pemasangan telefon berputar supaya anda dapat melihat kandungan telefon anda dalam orientasi potret atau landskap tanpa perlu memegangnya? Kemudian, jangan melihat lagi.

Untuk membuat projek ini, anda memerlukan:

- Arduino Microcontroller dan IDE

- Kabel USB untuk memuat naik kod

- Papan roti

- Kawat Jumper

- Paparan LCD

- Servo

- Tiang yang boleh dipasang pada servo

- Jauh IR

- Penerima IR

- Perintang 10k ohm

- Kenu Airframe + Klip Telefon (atau sesuatu untuk memegang telefon di tempatnya)

- Bateri 9 V untuk kuasa mudah alih atau hanya Arduino berkuasa USB

Langkah 1: Bina Litar Penerima IR

Bina Litar Penerima IR
Bina Litar Penerima IR
Bina Litar Penerima IR
Bina Litar Penerima IR

Pertama, lompat GND dan + 5V dari Arduino ke rel kuasa di papan roti anda. Kemudian, lompat perintang 10k ohm anda dari rel kuasa 5V ke pin output fototransistor penerima IR anda. Seterusnya, gunakan wayar pelompat untuk menyambung ke pin 11 pada Arduino dari pin output penerima IR. Kemudian, gunakan dua wayar pelompat untuk menghantar ground dan + 5V ke pin masing-masing pada penerima IR. Penapis RC yang digambarkan dalam skema di atas tidak diperlukan. Terakhir, saya tidak membuat skema yang ditunjukkan dalam langkah ini, dan sumbernya terdapat dalam gambar.

Langkah 2: Sambungkan Servo, Column, dan Holder Telefon

Sambungkan Servo, Column, dan Holder Telefon
Sambungkan Servo, Column, dan Holder Telefon
Sambungkan Servo, Column, dan Holder Telefon
Sambungkan Servo, Column, dan Holder Telefon
Sambungkan Servo, Column, dan Holder Telefon
Sambungkan Servo, Column, dan Holder Telefon

Sekarang, gunakan dua wayar pelompat untuk melompat dari tanah dan + 5V rel kuasa papan roti ke wayar coklat dan merah servo, masing-masing. Kemudian, gunakan satu wayar pelompat untuk memasang pin 9 pada Arduino ke wayar oren servo.

Kemudian, lampirkan lajur ke kepala servo seperti yang ditunjukkan pada gambar kedua.

Akhirnya, pasang sesuatu untuk memegang telefon ke lajur, seperti Kenu Airframe +, seperti yang ditunjukkan pada gambar ketiga.

Langkah 3: Sambungkan Paparan LCD untuk Pembacaan Servo

Sambungkan Paparan LCD untuk Pembacaan Servo
Sambungkan Paparan LCD untuk Pembacaan Servo

Lompat ke tanah dan + 5V dari rel kuasa papan roti anda ke pin masing-masing pada Paparan LCD. Juga, lompat pin SDA dan SCL dari LCD ke Ardiuno. Pin SDA dan SCL Arduino dapat dikenal pasti dari belakang papan Arduino dan merupakan dua pin di atas AREF dan pin di atas pin 13. Pin SCL adalah yang paling tinggi. Ini membolehkan paparan LCD membaca kedudukan servo semasa.

Langkah 4: Gunakan Kod dan Perpustakaan yang Dilampirkan untuk Memprogram Arduino

Gunakan Kod dan Perpustakaan yang Dilampirkan untuk Memprogram Arduino
Gunakan Kod dan Perpustakaan yang Dilampirkan untuk Memprogram Arduino

Muat turun fail RotatingMountCode.zip. Pasang Arduino IDE dan buka zip fail yang dimuat turun ke Documents / Arduino. Pastikan anda menyalin kandungan folder sketsa dan perpustakaan saya ke dalam folder sketsa dan perpustakaan anda. Buka lakaran ServoIRandLCD dan muat naik ke Arduino anda.

Lihat langkah kemudian untuk penjelasan kod.

Langkah 5: Sambungkan Sumber Kuasa yang Diinginkan ke Arduino dan Gunakan Alat Jauh untuk Memutar Gunung

Sambungkan Sumber Kuasa yang Diinginkan ke Arduino dan Gunakan Alat Jauh untuk Memutar Gunung!
Sambungkan Sumber Kuasa yang Diinginkan ke Arduino dan Gunakan Alat Jauh untuk Memutar Gunung!
Sambungkan Sumber Kuasa yang Diinginkan ke Arduino dan Gunakan Alat Jauh untuk Memutar Gunung!
Sambungkan Sumber Kuasa yang Diinginkan ke Arduino dan Gunakan Alat Jauh untuk Memutar Gunung!

Biarkan Arduino terpasang ke komputer anda atau cabut dari komputer anda dan gunakan bateri 9V untuk memberi kuasa DC ke Arduino. Akhirnya, gunakan alat kawalan jauh IR yang murah untuk mengawal servo dan oleh itu orientasi pemasangan telefon!

Nombor 1 pada alat kawalan jauh harus menetapkan kedudukan servo ke 0 darjah, nombor 2 hingga 90 darjah, dan nombor 3 hingga 180 darjah. Sementara itu, butang + dan - pada alat kawalan jauh harus menaikkan atau menurunkan sudut servo masing-masing sebanyak 1 darjah.

Catatan: Jika anda menggunakan IR Remote yang berbeza daripada yang digambarkan di sini, ada kemungkinan kod IR yang sesuai dengan pelbagai butang diubah. Jika ya, ubah lakaran ServoIRandLCD untuk menggunakan kod IR tersebut.

Langkah 6: Baca Ini untuk Penjelasan Kod Sumber

Baca Ini untuk Penjelasan Kod Sumber
Baca Ini untuk Penjelasan Kod Sumber
Baca Ini untuk Penjelasan Kod Sumber
Baca Ini untuk Penjelasan Kod Sumber

Kod sumber untuk lakaran Arduino boleh didapati di bawah atau dalam fail.zip yang dilampirkan sebelumnya. Perpustakaan yang diperlukan hanya boleh didapati dalam fail.zip yang dilampirkan sebelumnya pada langkah 4.

Perkara pertama yang dilakukan oleh kod adalah memasukkan perpustakaan yang diperlukan untuk menjalankan semua fungsi dalam lakaran. Seterusnya, ia menyatakan pin 9 di Arduino sebagai pin isyarat berkemampuan PWM untuk servo. Ia juga menjadikan pin 11 di Arduino sebagai pin yang digunakan untuk penerima IR. Seterusnya, ia menyatakan pemboleh ubah integer yang digunakan untuk mengesan kedudukan servo dalam darjah dan menetapkannya menjadi 0 darjah, pada mulanya. Kemudian, ia menunjukkan objek yang diperlukan untuk objek IRrecv, objek servo, dan objek LCD myDisplay (yang juga dikonfigurasi dalam baris yang sama) sehingga objek ini dapat digunakan di kemudian hari.

Selanjutnya, dalam fungsi setup, port serial dimulai pada 9600 bit / detik sehingga monitor serial dapat digunakan untuk melacak posisi servo jika diinginkan. Ia juga melampirkan objek myservo ke pin 9, memulakan penerima IR, dan menginisialisasi paparan LCD.

Dalam fungsi gelung utama, badannya hanya dijalankan jika transmisi IR diterima dari penerima IR, penerima IR menyahkodkan isyarat yang dikirim kepadanya dari alat kawalan jauh IR menggunakan fungsi penyahkod (& hasil) dan kemudian jika pernyataan menentukan apa untuk menetapkan servo bergantung pada nilai IR yang diterima. Fungsi menulis digunakan untuk mengatur servo ke tahap yang sesuai, dan fungsi baca digunakan untuk mencari sudut servo semasa dan kenaikan atau penurunannya jika perlu.

Akhirnya, sudut servo semasa dihantar ke monitor bersiri dan paparan LCD menggunakan fungsi myservo.read (), dan gelung utama berulang tanpa had.

Kod sumber:

#include // Arduino standard library # include // IR library #include "Wire.h" //Wire.h untuk LCD (kadang-kadang diperlukan) #include "LiquidCrystal_I2C.h" // Perpustakaan LCD

#tentukan servopin 9 // ini mendefinisikan pin 9 sebagai pin yang digunakan untuk plumbum kawalan servo (oren)

int RECV_PIN = 11; // Transistor foto IR menghantar output ke pin 11

int currentAngle = 0; // nyatakan pemboleh ubah integer currentAngle dan tetapkan ke 0

IRrecv irrecv (RECV_PIN); // tentukan keputusan objek penerima IR decode_results; // buat objek decode_results. Objek ini terpisah dari penerima IR.

Servo myservo; // instantiate objek Servo bernama 'myservo' // maksimum lapan objek servo dapat dibuat

LiquidCrystal_I2C myDisplay (0x27, 16, 2); // buat objek LCD dan tetapkan konfigurasi

batal persediaan () {

Serial.begin (9600); // mulakan port bersiri

myservo.attach (servopin); // melekatkan servo pada pin 9 pada objek servo

irrecv.enableIRIn (); // mulakan penerima

myDisplay.init (); // memulakan LCD

myDisplay.backlight (); // hidupkan lampu latar LCD

}

gelung kosong () {

if (irrecv.decode (& results)) // jika penghantaran diterima…

{Serial.print ("Nilai IR diterima:");

Serial.println (hasil. Nilai); // nilai paparan diterima

// tafsirkan arahan yang diterima… jika (hasil.value == 16724175) // 1 {// tinggalkan myservo.write (0); }

jika (hasil.value == 16718055) // 2 {// myservo.write tengah (90); }

jika (hasil.value == 16743045) // 3 {// betul myservo.write (180); }

jika (hasil.value == 16754775) // + {// increment currentAngle = myservo.read (); myservo.write (currentAngle + 1); } jika (hasil.value == 16769055) // - {// penurunan arusAngle = myservo.read (); myservo.write (currentAngle - 1); }}

irrecv.resume (); // Terima nilai seterusnya

// Cetakan monitor bersiri Serial.print ("Kedudukan servo semasa:");

Serial.println (myservo.read ()); // ini mengambil kedudukan servo dan menghantarnya ke monitor bersiri

// Cetakan LCD myDisplay.clear ();

myDisplay.print ("Servo deg.:");

myDisplay.print (myservo.read ());

kelewatan (200); // kelewatan untuk menjadikan pengaktifan servo stabil

}

Langkah 7: Tonton Video Youtube Saya untuk Bantuan

Lihat video YouTube saya yang tidak tersenarai yang membincangkan dan menunjukkan sepenuhnya projek tersebut sekiranya anda mempunyai sebarang pertanyaan!

Disyorkan: