İçindekiler:
- 1. Adım: App.remoteme.org Hakkında Bazı Bilgiler
- Adım 2: Gerekenler:
- 3. Adım: Bağlantılar
- Adım 4: PCB
- Adım 5: PCB Çıkışları
- Adım 6: Nasıl Çalışacak
- Adım 7: Araba Montajı - Tekerlekler
- Adım 8: Güç (AA Şarjlı Piller) Seçenek 1/2
- Adım 9: Güç (Li-Po 7.2V Piller) Seçeneği 2/2
- Adım 10: Lehimleme
- Adım 11: Kamera
- Adım 12: Araba Parçalarını Birleştirme
- Adım 13: App.remoteme.org Yapılandırması
- Adım 14: RasbperryPi Yapılandırması
- Adım 15: Bağlantıları Kontrol Etme
- Adım 16: Python Komut Dosyası Ekleme
- Adım 17: Python Komut Dosyasının Başarıyla Eklenip Eklenmediğini Kontrol Etme
- Adım 18: Kontrol Arabasına Web Sayfası Ekleme
- Adım 19: Web Sayfası Aygıtını Araba 1/2'yi Kontrol Etmek için Yapılandırın
- Adım 20: Web Sayfası Aygıtını Araba 2/2 Kontrol Edecek Şekilde Yapılandırın
- Adım 21: Araba Kontrol Merkezini Açın
- Adım 22: Kamera Yapılandırması 1/2
- Adım 23: Kamera Yapılandırması 2/2
- Adım 24: Sürüş 1/2
- Adım 25: Sürüş 2/2
- Adım 26: Nasıl Çalışıyor?
- 27. Adım: Tablet, Mobil Direksiyon
- Adım 28: Cep Telefonunda Sayfayı Açın
- Adım 29: Turn Server Ekleme
- Adım 30: Mobil Direksiyon
- 31. Adım: Özet
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-23 15:13
4wd araba yapacağız - direksiyon bir tanktaki gibi olacak - tekerleklerin bir tarafını döndürmek diğerinden farklı hızda dönecek. Arabada, kamera konumunu değiştirebileceğimiz özel tutucuya kamera yerleştirilecektir. Robot web tarayıcısı (masaüstünde chrome veya firefox veya cep telefonunda firefox) tarafından kontrol edilecek, tarayıcıda, Kamera videosu alacağız (sadece 200ms gecikme ile) ve tarayıcıdan araba hareketlerini kontrol edebileceğiz ve kamera konumu. İletişimi kolaylaştırmak için app.remoteme.org sistemini kullandım, ayrıca bu tür arabaların kutudan kontrol edilmesi de var, yani kendi kodunuzu yazmanıza gerek yok, ama elbette komut dosyalarını değiştirebilirsiniz. yeni olanaklar vb.
PCB'nize güç bağlamadan önce lütfen tüm bağlantıları iki kez kontrol edin
1. Adım: App.remoteme.org Hakkında Bazı Bilgiler
Sistemin üç bölümü vardır
- web uygulaması - kontrol web sayfalarınızı barındırdığınızda ve tüm iletişimleri birbirine bağladığında
- rasbperryPi programı - video gönderen, python komut dosyalarınızı yöneten program
- sınıf, fonksiyon tanımlarını bulduğunuz kütüphaneler
Remoteme.org sistem hızlıdır Tüm cihazlarınızı birbirine bağlarsınız, Orada web sayfalarınızı barındırabilir, bağlı cihazlarınızı görebilirsiniz. Remoteme.org sistemi, protokol iletişimleri konusunda endişelenmeden projelerinizi yapmaya başlamanıza yardımcı olmak için yapılmıştır, ana fikir web sayfaları, RasbeprryPI, arduino ve scriptler gibi çeşitli cihazlar arasında ikili mesajlar göndermektir.
Öte yandan Remoteme.org size dosyalarınızın tam kontrolünü verir, kendi işlevselliğinizi yazarak kolayca değiştirebilirsiniz.
Bu derste Size neredeyse hiç kod yazmadan harika bir projeyi nasıl yapacağınızı göstereceğim.
Bu eğitimin sonunda, remoteme.org sistemini anlamanıza yardımcı olacak faydalı bağlantılar koydum.
Adım 2: Gerekenler:
- Ahududu PI Sıfır W
- Özel kamera
- Adafruit 16-Channel 12-bit PWM/Servo Driver - I2C arayüzü - PCA9685 veya klonu
- Kamera tutucu ile uyumlu iki servo mekanizma
- Kamera tutucu
- Piller - Eğitimde iki bağlantı olasılığı
- Tekerlek dönüşünü kontrol etmek için H köprüsü TB6612FNG
- PCB kartal dosyaları Termal transfer yöntemi ile yapmak kolaydırDC-DC
- Step Down Dönüştürücü Modül DC
- robot durumda
3. Adım: Bağlantılar
Raspberry pi kontrol servo mekanizması PWM modülü üzerinden ve RasbperryPi pinlerine bağlı H köprüsü ile motor hızı, H köprüsüne PWM girişi servolar için kullandığım modül tarafından üretiliyor (yukarıda bahsettiğim parçalar hiçbir mantık dönüştürücüye gerek yok)
Adım 4: PCB
PCB kartal dosyalarını buradan indirebilirsiniz. Yollar yağlıdır, bu yüzden termal transfer yöntemiyle yapmak kolaydır.
Adım 5: PCB Çıkışları
- Tahrik motorları için PWM girişi PWM modülünün 15'inci ve 16'ncı pinlerine bağlanmalıdır (PWM modül görüntüsündeki yeşil dikdörtgeni kontrol edin)
- Tahrik motorları için güç girişi (motorlarınızın hangi maksimum voltajla çalışabileceğini kontrol edin)
- RasbperryPi ve PWM modülü için güç – tam olarak olmalıdır
- Sürücü motor çıkışları (tahrik motorlarını eşleştireceğimiz için iki çıkış vardır)
- Servo Mekanizmaların gücü - ayrıca onlar için hangi voltajın iyi olduğunu kontrol etmelisiniz
- Mevcut gücünü 5. girişten atlayın, aynı zamanda motorları da çalıştıracak, böylece giriş 2'ye herhangi bir şey bağlamaya gerek yok
- Varsa Jumper RasbperryPi 3. girişten güç alacaktır – jumper'ı buraya koymadan önce bağlantıların düzgün olup olmadığını kontrol edin – RPi'nizi yakmak istemezsiniz
- Mantık dönüştürücülere ihtiyacımız olmadığından kabloları burada lehimleyelim
Adım 6: Nasıl Çalışacak
RasbperryPi'de iki kitaplık kullanan python betiği var
- RPi. GPIO'yu GPIO olarak içe aktar - H köprüsüne bağlı 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM gösterimi) pinleri için
- PWM modülü için Adafruit_PCA9685'i içe aktar
Rpi pinleri aşağıdaki şekilde 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM) ve H köprüsünün kontrol modu(ileri, geri, dur, kısa mola) bağlanır. H köprüsünün ayrıca iki PWM sinyaline ihtiyacı vardır, böylece hızı veya motor dönüşünü kontrol edebiliriz. Çünkü projede zaten PWM kontrolörümüz var (servo için kullanılıyor), onu H köprüsü için PWM üretmek için de kullanacağız.
PWM modülü, I2C iletişim protokolünü kullanır. Adafruit_PCA9685 kutusunun dışında çalışmayı kullandım. kütüphane
Adım 7: Araba Montajı - Tekerlekler
Tahrik motorlarını araba kasasına bağlamaktan başlayacağız. Sol/Yan motorlar birbirine bağlanır ve her ikisi de daha sonra PCB'ye bağlanacak olan bir güç kablosuna bağlanır. Önemli not, motorları bağlarken her iki taraftaki tekerleklerin aynı yönde dönmesi gerekir.
Adım 8: Güç (AA Şarjlı Piller) Seçenek 1/2
İki güç seçeneği yazacağım Araba ilki 10xAA şarjlı pillerden Son resimde kırmızı renkli jumperlarla çizdim ki bunlar koyulacak.
Adım 9: Güç (Li-Po 7.2V Piller) Seçeneği 2/2
İkinci seçenek ise 7.2 LI-PO pil. Bu durumda 3 voltajımız var - Rpi ve modül için 5v, servolar için 6V ve sürücü motorları için doğrudan akülerden 7.2 volt. İki kademeli modül kullanmak zorunda kaldım
LI-PO ile Seçenek 2 daha iyidir:
- Pillerin kapasitesi daha fazladır - araba daha uzun sürer
- Tahrik motorları için daha yüksek voltaj - araba daha hızlı gidecek
- Tahrik motorlarının yerini tespit etmeye başladıktan sonra büyük voltaj düşüşü ve RPI'nin yeniden başlaması olasılığı daha düşüktür.
Adım 10: Lehimleme
PCB'ye PWM modülü için bazı ayırıcılar koydum. Yazacak bir şey yok, sadece her şeyi nasıl lehimleyebileceğinizi kontrol edin.
Adım 11: Kamera
kamerayı bağlarız, burada kamera tutucusuna monte edilmeden önce servo Mekanizmalarının nasıl ortalanacağı yazılmıştır, ancak en kısa yol maksimum dönüş konumunu nazikçe manuel olarak kontrol etmek ve servoları merkez konuma ayarlamaktır. Bu ortalanmış servo mekanizmayı kamera tutucusuna orta konumda yerleştiriyoruz (kamera fotoğraftaki gibi dümdüz ileriyi gösteriyor)
Adım 12: Araba Parçalarını Birleştirme
PCB için küçük pleksiglas masa yaptım
Adım 13: App.remoteme.org Yapılandırması
Ücretsiz app.remoteme.org sistemini kullandım, bağlantı kurmanıza yardımcı oluyor ve zaten ihtiyacımız olan komut dosyaları var.
Bu eğitici yazıda, araba sürmeyi yapmak için ne yapılması gerektiğini adım adım göstereceğim (burada daha fazla ayrıntı bulacaksınız)
- Kaydolduktan sonra https://app.remoteme.org adresinden kaydolun Otomatik olarak oturum açacaksınız
- soldaki Belirteç sekmesini açın, ardından "yeni belirteç" e tıklayın, bir ad sağlayın ve Tamam'a tıklayın, Yeni belirteç oluşturduk (ekrandaki görüntü)
- bu örnekte, belirteç değeri: ~1_&p@+BNnZ@A+x8 (sizinki farklı olacaktır;))
Adım 14: RasbperryPi Yapılandırması
macun konsolunda (burada RPi açık kamera I2c iletişimimizi nasıl kuracağız)
git klon git://github.com/remoteme/remoteme.git
cd uzaktan kumanda
python3.5 yükleme.py
- Yükleyici, [Y]'lere yanıt verdiğimiz ve [enter] ile onayladığımız her şey için bize bazı sorular soracaktır.
- kurulum jeton istediğinde, uygulamadan kopyalanan jetonu yapıştırırız (shift+insert) ve Enter
- örneğin adı Rpi
- deviceId 1 Girin
- kurulumdan sonra - programı çalıştırın
./runme.sh
Adım 15: Bağlantıları Kontrol Etme
app.remoteme.org'a geri dönelim
Cihazlar sekmesinde, bağlı RPi'mizi göreceğiz (yeşil bağlantı simgesi, RPi'nin şu anda bağlı olduğu anlamına gelir)
Adım 16: Python Komut Dosyası Ekleme
Şimdi python betiğini ekleyeceğiz, bu zaten şablonlarda, bu yüzden hiçbir şey programlamamıza gerek yok.
Cihazlar sekmesinde RasbperryPi menüsünü açın ve "Harici komut dosyası ekle"yi seçin.
Yeni pencere göründüğünde, yukarıdaki resimdeki gibi bilgi sağlayın
"car4wd" şablonunu seçmeyi unutmayın. Bu adımlardan sonra remoteme.org, RasbperryPi'mize python betiği ekleyecek ve yeniden başlatacaktır.
Adım 17: Python Komut Dosyasının Başarıyla Eklenip Eklenmediğini Kontrol Etme
Cihazlar sekmesinde yeni python komut dosyası cihazı eklenmelidir ve cihaz kimliği 2'dir. Bu cihaz kimliği web sayfasına arabayı kontrol etmek için mesajlar gönderecektir.
Adım 18: Kontrol Arabasına Web Sayfası Ekleme
cihazlar sekmesinde "Yeni"yi ve ardından "Web Sayfası"nı tıklayın. Sadece başka bir cihaz ekliyoruz - web sayfasını arabamızı kontrol etmek için kullanacağız. Ve web sayfasında "car4wdDesktop" şablonunu kullandığımız için, dosyalar neredeyse kullanıma hazırdır.
Adım 19: Web Sayfası Aygıtını Araba 1/2'yi Kontrol Etmek için Yapılandırın
Cihaz sekmesinde Web Sayfasını genişletin ve index.html'yi ve ardından Aç'ı tıklayın.
Adım 20: Web Sayfası Aygıtını Araba 2/2 Kontrol Edecek Şekilde Yapılandırın
Pencere açılır, ardından python betiğimizin deviceId'sini durumumuzda deviceId 2 sağlamamız gerekir. Resimde gösterilen yeri değiştirelim.
Adım 21: Araba Kontrol Merkezini Açın
Şimdi sayfamızı açmanın ve nasıl çalıştığını görmenin zamanı geldi. Cihaz sekmesinde index.html'yi ve ardından "Yeni sekmede aç"ı tıklayın Video önizlemesini almak için Chrome veya firefox tarayıcı kullanmanız gerekir, diğer tarayıcılar webRTC'yi tam olarak desteklemiyor
Adım 22: Kamera Yapılandırması 1/2
Fareyi video alanında hareket ettirdiğimizde kamera pozisyonunu değiştirmeli ve tam olarak FPS oyunlarında olduğu gibi çalışmalıdır. Muhtemelen doğru hareket etmeyecek
Adım 23: Kamera Yapılandırması 2/2
script.js'yi açın (cihazlar sekmesi web sayfasını genişletin, ardından script.js'ye tıklayın ve açın) ve ekranda gösterdiğim yeri bulun
benim durumumda merkez konumu 560 ve 430 ve hareket aralığı her iki eksen için 200
Bu sayıları denemeniz gerekir, böylece kamera konum merkezi ve yumuşak hareketler elde edersiniz, Bu öğreticiyi kullandıysanız, verilen değerleri kopyalayıp yapıştırın
Adım 24: Sürüş 1/2
Klavyede yukarı oka basarsanız göstergeler pozisyon değiştirmeli ve araba sürmelidir. Yukarı oka basarsanız ve araba dönüyorsa ekrandaki yerlere eksi eklemeniz/çıkarmanız gerekir.
Bu işlemden sonra "yukarı" ok vuruşundan sonra araba ileri gitmeli ve aşağı ok araba geri gitmelidir.
Adım 25: Sürüş 2/2
Şimdi dönüyor – araba sağa dönüyorsa sol oka basın Kabloları çevirmeniz gerekiyor (yukarıdaki resme bakın)
Bu kabloları lehimlerseniz script.js'de değiştirebilirsiniz, sadece motorların hız gönderme sırasını değiştirin, önce:
pos=putByte(ret, pos, carController.getMotorMode(carController.getRightSideSpeed())); pos=putByte(ret, pos, Math.abs(carController.getRightSideSpeed()*255));
pos=putByte(ret, pos, carController.getMotorMode(-carController.getLeftSideSpeed()));
pos=putByte(ret, pos, Math.abs(carController.getLeftSideSpeed()*255));
sonrasında:
pos=putByte(ret, pos, carController.getMotorMode(-carController.getLeftSideSpeed()));
pos=putByte(ret, pos, Math.abs(carController.getLeftSideSpeed()*255));
pos=putByte(ret, pos, carController.getMotorMode(carController.getRightSideSpeed()));
pos=putByte(ret, pos, Math.abs(carController.getRightSideSpeed()*255));
ve şimdi düzgün çalışması için bir adım öncesi gibi eksilerle oynamanız gerekiyor;). Muhtemelen fark ettiğiniz gibi, yukarı ok tuşuna bastıktan sonra araba tam hızda sürmüyor, arabayı daha hızlı hareket ettirmek için sadece maksimum konumdayken yukarı oku hızlı bırakın ve tekrar basılı tutun
Adım 26: Nasıl Çalışıyor?
Web sayfası, python betiğine 9. baytlık mesaj mesajlarını şu biçimde gönderiyor:
- 1 bayt bir bayt tam sayı değeri 1
- 2 bayt tamsayı X kamera konumu
- 2 bayt tamsayı Y kamera konumu
- 1 bayt tamsayı sol motor modu (3= geri, 1= ileri, 2=dur)
- 1 bayt tamsayı sol motor hızı
- 1 bayt tamsayı sağ motor modu (3= geri, 1= ileri, 2=dur)
- 1 bayt tamsayı sağ motor hızı
mesaj gönderme script.js dosyasında "sendNow()" işlevinde yapılır
RasbperryPi'de python.py bu mesajı "onUserMessage" işlevinde alıyor
Kontrol edebilir ve biraz oynayabilirsiniz, böylece neler olduğunu bilirsiniz.
sınıf fonksiyonları açıklaması burada
27. Adım: Tablet, Mobil Direksiyon
Önceki sefer yaptığımız gibi yeni web sayfası ekledik ama şimdi "car4wdMobile" şablonunu seçiyoruz.
Daha sonra, script.js'deki her şeyi masaüstü kontrol web sayfası için yaptığımız gibi yapılandırıyoruz. Mesaj formatı tamamen aynı, bu yüzden python.py betiğini değiştirmek zorunda değiliz.
Adım 28: Cep Telefonunda Sayfayı Açın
Hesabınıza mobilden giriş yapmak yerine, herhangi bir QR url'sini tarayın.
QR'nin ayrıntıları burada
RPI ve mobil aynı wifi üzerindeyken mobil kumandanız çalışıyor ancak mobil internet kullanıyorsanız çalışmıyorsa turn server eklemeniz gerekir nasıl yapılır burada yazdım
Adım 29: Turn Server Ekleme
Bazen (NAT veya bazı güvenlik duvarı ayarlarının arkasında olduğunuzda) Robotunuzu başka bir ağdan bağlayamazsınız, ardından robotunuz bağlanır. Bu büyük bir sorun değil ve sonra sıra sunucusu eklemelisiniz.
XIRSYS şirketinden sunucuyu test ettim (geliştirici kullanımı için ücretsiz) ve XIRSYS sistemini kullanarak dönüş sunucusunun nasıl yapılandırılacağını göstereceğim
Kayıt ol:
global.xirsys.net/dashboard/signup
ardından uygulama eklemek için "artı" yı tıklayın
sağda "statik dönüş kredileri" altında İhtiyacınız olan tüm verilere sahipsiniz. Bunu yapmak için webrtc_streamer.conf dosyasına kopyalayın, https://app.remoteme.org/en/#/app/devices adresine gidin.
RaspberryPi aygıtlarını genişlet
webrtc_streamer.conf dosyasına tıklayın
tıkla aç
ve bilgi ekleyin
turn_server=turn_username=
turn_credential=
Düzenlemeyi bitirdikten sonra Ekranda şöyle bir şey olması gerekir.
daha sonra Kaydet'e tıklayın ve RasbperryPi cihazındaki menüye tıklayarak You Rpi'yi yeniden başlatın ve yeniden başlat'ı seçin
RPi programı yeniden başlatıldıktan sonra Mobil internet kullanıyor olsanız bile video ön izlemesini cep telefonunuzda görebilirsiniz.
Adım 30: Mobil Direksiyon
1. daireye sol başparmağımızı, 2. sağ başparmağımızı yerleştiriyoruz – tam olarak bu noktalarda olmak zorunda değilsiniz – web sayfası siz ekrana dokunduktan hemen sonra sıfır konumunu ayarlayacaktır ve başparmaklarınızı hareket ettirerek (sol sürüş, sağ kamera konumu) kontrol edebilirsiniz senin araban
31. Adım: Özet
Umarım bu öğreticiyi beğenmişsinizdir, daha önce bu eğitimde yazdığım gibi, kaputun altında nasıl çalıştığı hakkında daha fazla ayrıntı var.
bazı bağlantılar:
remoteme.org - remoteme.org'un ana sayfası orada belgeler ve öğreticiler bulabilirsiniz
FB hayran sayfası - Remoteme.org hakkında Facebook hayran sayfası en yeni bilgiler
Youtube - bazı proje videoları, öğreticiler
Şerefe, Maciek
Önerilen:
Hareketli FPV Kameralı RC Tank: 9 Adım (Resimlerle)
Hareketli FPV Kameralı RC Tankı: Merhaba.Bu talimatta size FPV kameralı uzaktan kumandalı tank yapmayı gösteriyorum. Başlangıçta sadece FPV kamerasız RC tank yaptım ama evin içinde sürerken nerede olduğunu göremedim. Bu yüzden şunu ekledim
Köpek Botu: Web Kameralı Lego Robot Rover: 17 Adım (Resimlerle)
Köpek Botu: Web Kameralı Lego Robot Rover: Wi-Fi üzerinden herhangi bir ekrandan kontrol edebileceğiniz bir Lego robotu nasıl yapılır. Ayrıca nereye gittiğinizi görebilmeniz için bir web kamerası ve gözler için LED ışıklar var! Bu, çocuklarınızla birlikte yapmak için harika bir proje çünkü logo oluşturmayı yapabilirler ve siz de dahil edebilirsiniz
Arduino ile RPLIDAR 360° Lazer Tarayıcı Nasıl Kullanılır: 3 Adım (Resimlerle)
Arduino ile RPLIDAR 360° Lazer Tarayıcı Nasıl Kullanılır: Sumo robotları yapmanın büyük bir hayranıyım ve her zaman daha iyi, daha hızlı ve daha akıllı bir robot oluşturmak için kullanılacak yeni ilginç sensörler ve malzemeler arayışındayım. DFROBOT.com'dan 99$'a alabileceğiniz RPLIDAR A1'i öğrendim. ilgilendiğimi söyledim
Arduino ile Masaüstü CT ve 3D Tarayıcı: 12 Adım (Resimlerle)
Arduino ile Masaüstü CT ve 3D Tarayıcı: Bilgisayarlı tomografi (CT) veya bilgisayarlı aksiyal tomografi (CAT), klinisyenlerin herhangi bir ameliyat yapmadan hastanın içindeki anatomik yapıyı görmelerini sağladığı için çoğunlukla vücudun görüntülenmesiyle ilişkilendirilir. İnsan içindeki görüntü için b
Muz/Ahududu Pi + Web Kameralı Arduino Rover: 9 Adım
Banana/Raspberry Pi + Webcamli Arduino Rover: Boş zamanlarımda yaptığım bir proje. Bir web arayüzü üzerinden kontrol edilen tam tahrikli 4 tekerlekli bir robottur. Herhangi bir yorumunuz veya sorunuz varsa, lütfen benimle iletişime geçmekten çekinmeyin. Bu projenin kendisi, 3D baskılı parçalar ve belirli kod parçalarını kullanır