İçindekiler:
- Adım 1: IR Alıcı Devresini Oluşturun
- Adım 2: Servo, Sütun ve Telefon Tutucuyu bağlayın
- Adım 3: Servo Okuma için LCD Ekranı Bağlayın
- Adım 4: Arduino'yu Programlamak için Ekli Kodu ve Kitaplıkları Kullanın
- Adım 5: İstenen Güç Kaynağını Arduino'ya Bağlayın ve Montajı Döndürmek için Uzaktan Kumandayı Kullanın
- Adım 6: Kaynak Kodu Açıklaması İçin Bunu Okuyun
- 7. Adım: Yardım için Youtube Videomu İzleyin
Video: Dönen Telefon Bağlantısı: 7 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Bu talimat, Güney Florida Üniversitesi'ndeki (www.makecourse.com) Makecourse'un proje gereksinimini yerine getirmek için oluşturulmuştur.
Telefonunuzun içeriğini tutmak zorunda kalmadan dikey veya yatay yönde görüntüleyebilmeniz için dönen bir telefon montajı yapmak ister misiniz? Sonra, başka yere bakma.
Bu projeyi oluşturmak için ihtiyacınız olacak:
- Arduino Mikrodenetleyici ve IDE
- Kodu yüklemek için USB Kablosu
- Ekmek tahtası
- Jumper Telleri
- LCD ekran
- Servo
- Servoya takılabilen kolon
- IR Uzaktan
- IR Alıcı
- 10k ohm direnç
- Kenu Airframe+ Telefon Klipsi (veya telefonu yerinde tutacak bir şey)
- Taşınabilir güç veya sadece USB ile çalışan Arduino için 9 V Pil
Adım 1: IR Alıcı Devresini Oluşturun
İlk olarak, Arduino'dan GND ve + 5V'yi breadboard'unuzdaki güç raylarına atlayın. Ardından, 10k ohm'luk direncinizi +5V güç rayından IR alıcı fototransistörünüzün çıkış pinine atlayın. Ardından, IR alıcısının çıkış pininden Arduino'daki pin 11'e bağlanmak için bir atlama teli kullanın. Ardından, IR alıcısındaki ilgili pinlere toprak ve +5V göndermek için iki atlama kablosu kullanın. Yukarıdaki şemada gösterilen RC filtresi gerekli değildir. Son olarak, bu adımda gösterilen şemayı yapmadım ve bunun kaynağı resimde mevcut.
Adım 2: Servo, Sütun ve Telefon Tutucuyu bağlayın
Şimdi, zeminden ve devre tahtası güç raylarının +5V'sinden sırasıyla servonun kahverengi ve kırmızı kablolarına atlamak için iki atlama teli kullanın. Ardından, Arduino'daki pim 9'u servonun turuncu kablosuna bağlamak için bir atlama teli kullanın.
Ardından, ikinci resimde gösterildiği gibi servonun başına bir sütun takın.
Son olarak, üçüncü resimde gösterildiği gibi, Kenu Airframe+ gibi telefonu sütuna tutacak bir şey takın.
Adım 3: Servo Okuma için LCD Ekranı Bağlayın
Breadboard güç raylarınızdan LCD Ekrandaki ilgili pinlere zemin ve +5V atlayın. Ayrıca, LCD'den SDA ve SCL pinlerini Ardiuno'ya atlayın. Arduino'nun SDA ve SCL pinleri, Arduino kartının arkasından tanımlanabilir ve AREF üzerindeki iki pin ve pin 13'ün üzerindeki Ground pinidir. SCL pini en yüksek olanıdır. Bu, LCD ekranın mevcut servo pozisyonunu okumasını sağlar.
Adım 4: Arduino'yu Programlamak için Ekli Kodu ve Kitaplıkları Kullanın
RotatingMountCode.zip dosyasını indirin. Arduino IDE'yi kurun ve indirilen dosyayı Documents\Arduino içine açın. Eskizlerim ve kitaplıklar klasörünün içeriğini eskizler ve kitaplıklar klasörünüze kopyaladığınızdan emin olun. ServoIRandLCD taslağını açın ve Arduino'nuza yükleyin.
Kod açıklaması için sonraki adımlara bakın.
Adım 5: İstenen Güç Kaynağını Arduino'ya Bağlayın ve Montajı Döndürmek için Uzaktan Kumandayı Kullanın
Arduino'yu bilgisayarınıza takılı bırakın veya bilgisayarınızdan çıkarın ve Arduino'ya DC güç sağlamak için 9V pil kullanın. Son olarak, servoyu ve dolayısıyla telefon montajının yönünü kontrol etmek için ucuz bir IR uzaktan kumanda kullanın!
Uzaktan kumandadaki 1 sayısı servo konumunu 0 dereceye, sayı 2 ila 90 derece ve sayı 3 ila 180 dereceye ayarlamalıdır. Bu arada uzaktan kumanda üzerindeki + ve - düğmeleri servonun açısını sırasıyla 1 derece artırmalı veya azaltmalıdır.
Not: Burada gösterilenden farklı bir IR Uzaktan Kumanda kullanıyorsanız, çeşitli düğmelere karşılık gelen IR kodları değişmiş olabilir. Öyleyse, bunun yerine bu IR kodlarını kullanmak için ServoIRandLCD çizimini değiştirin.
Adım 6: Kaynak Kodu Açıklaması İçin Bunu Okuyun
Arduino taslağının kaynak kodu aşağıda veya daha önce eklenmiş.zip dosyasında bulunabilir. Gerekli kitaplıklar yalnızca 4. adımda önceden eklenen.zip dosyasında bulunabilir.
Kodun yaptığı ilk şey, çizimdeki tüm işlevleri çalıştırmak için gerekli kitaplıkları dahil etmektir. Ardından, Arduino'daki pin 9'u servo için PWM etkin sinyal pini olarak ilan eder. Ayrıca Arduino'daki pin 11'i IR alıcısı için kullanılan pin yapar. Ardından, servonun konumunu derece cinsinden takip etmek için kullanılan bir tamsayı değişkeni bildirir ve başlangıçta 0 dereceye ayarlar. Ardından, bir IRrecv nesnesi, bir servo nesnesi ve myDisplay LCD nesnesi (aynı satırda yapılandırılmıştır) için gerekli nesneleri başlatır, böylece bu nesneler daha sonra kullanılabilir.
Ardından, kurulum işlevinde, seri port 9600 bit/sn'de başlatılır, böylece istenirse servo konumunu izlemek için seri monitör kullanılabilir. Ayrıca myservo nesnesini pim 9'a bağlar, IR alıcısını başlatır ve LCD ekranı başlatır.
Gövdesi yalnızca IR alıcısından bir IR iletimi alındığında yürütülen ana döngü işlevinde, IR alıcısı, kod çözme(&sonuçlar) işlevini kullanarak IR uzaktan kumandadan kendisine gönderilen sinyalin kodunu çözer ve ardından if ifadeleri neyin ne olduğunu belirler. alınan IR değerine bağlı olarak servoyu ayarlamak için. Yazma işlevi, servoyu uygun derecelere ayarlamak için kullanılır ve okuma işlevi, servonun mevcut açısını bulmak ve gerektiğinde onu artırmak veya azaltmak için kullanılır.
Son olarak, servonun mevcut açısı myservo.read() işlevi kullanılarak hem seri monitöre hem de LCD ekrana gönderilir ve ana döngüler süresiz olarak yinelenir.
Kaynak kodu:
#include //Arduino standart kitaplığı#include //IR kitaplığı #include "Wire.h" //LCD için Wire.h (bazen gereklidir) #include "LiquidCrystal_I2C.h" //LCD kitaplığı
#define servopin 9 //bu, pin 9'u servo kontrol kablosu (turuncu) için kullanılan pin olarak tanımlar
int RECV_PIN = 11; //IR foto-transistör çıkışı pin 11'e gönderir
int akımAçı = 0; //currentAngle tamsayı değişkenini bildir ve 0'a ayarla
IRrecv geri dönüş(RECV_PIN); //bir IR alıcı nesnesi başlat decode_results sonuçları; //bir decode_results nesnesini örnekle. Bu nesne IR alıcısından ayrıdır.
Servo myservo; //'myservo' adında bir Servo nesnesi oluşturun //en fazla sekiz servo nesnesi oluşturulabilir
LiquidCrystal_I2C myDisplay(0x27, 16, 2); //LCD nesnesini başlat ve yapılandırmayı ayarla
geçersiz kurulum() {
Seri.başla(9600); // seri bağlantı noktasını başlat
myservo.attach(servopin); // pin 9'daki servoyu servo nesnesine bağlar
irrecv.enableIRIn(); // alıcıyı başlat
myDisplay.init(); //LCD'yi başlat
myDisplay.backlight(); //LCD arka ışığını aç
}
boşluk döngüsü () {
if (irrecv.decode(&sonuçlar)) //iletim alındıysa…
{ Serial.print("Alınan IR değeri: ");
Serial.println(sonuçlar.değer); // alınan değeri göster
//alınan komutları yorumla… if (results.value == 16724175) //1 { //left myservo.write(0); }
if (results.value == 16718055) ///2 { //orta myservo.write(90); }
if (sonuçlar.değer == 16743045) //3 { //sağ myservo.write(180); }
if (results.value == 16754775) //+ { //artırma currentAngle = myservo.read(); myservo.write(currentAngle + 1); } if (results.value == 16769055) //- { //akımAçı azaltma = myservo.read(); myservo.write(currentAngle - 1); } }
irrecv.özgeçmiş(); // Sonraki değeri al
//Seri monitör yazdır Serial.print("Mevcut servo konumu: ");
Serial.println(myservo.read()); //bu servo pozisyonunu alır ve seri monitöre gönderir
//LCD yazdır myDisplay.clear();
myDisplay.print("Servo derecesi: ");
myDisplay.print(myservo.read());
gecikme(200); // servo çalıştırmayı kararlı hale getirmek için gecikme
}
7. Adım: Yardım için Youtube Videomu İzleyin
Herhangi bir sorunuz varsa, projeyi tamamen tartışan ve gösteren listelenmemiş YouTube videomu izleyin!
Önerilen:
Arduino ile Dönen Noel Ağacı ve Programlanabilir Işıklar: 11 Adım
Arduino ile Dönen Noel Ağacı ve Programlanabilir Işıklar: Arduino ile Dönen Noel Ağacı ve Programlanabilir Işıklar
Sürekli Dönen Güneş Motoru: 5 Adım (Resimlerle)
Sürekli Dönen Güneş Motoru: Sürekli hareket halinde olan bir cihaz yapmayı kim hayal etmiyor? Kesintisiz koşu, gece ve gündüz, yaz ve kış, bulutlu gökyüzü ve ev içi ışık koşulları. Bu darbe motoru çok uzun süre çalışıyor, belki benim ömrümden daha uzun
Taşınabilir Şarjlı Telefon Bağlantısı: 5 Adım
Taşınabilir Şarj Cihazlı Telefon Montajı: Bu projede size telefon montajı ve içine uygun taşınabilir şarj cihazının nasıl yapıldığını göstereceğim
Cam Kavanozda Sürekli Dönen Küre: 4 Adım (Resimli)
Cam Kavanozda Sürekli Dönen Küre: Güneş enerjisiyle hareket eden dönen bir küre için en iyi yer cam kavanozdur. Hareket eden şeyler, kediler veya diğer evcil hayvanlar için ideal bir oyuncaktır ve bir kavanoz biraz koruma sağlar mı, sağlamaz mı? Proje basit görünüyor ama doğru modeli bulmam birkaç haftamı aldı
Tuvalet Kağıdı Rulosu Telefon Bağlantısı: 7 Adım (Resimli)
Tuvalet Kağıdı Rulosu Telefon Bağlantısı: Telefonunuzu şarj olurken dik durması için bir yere mi ihtiyacınız var? Bir telefon tutucusu bunun cevabıdır. Evinizin etrafında duran birkaç yedek tuvalet kağıdı rulonuz ve sadece biraz kartonunuz var mı? Eğer yaparsan, o zaman yapacaksın