Joystick Arduino - bağlantı ve eskiz. Arduino bağlantısı için Arduino Joystick üzerinde başka bir joystick (gamepad) yapmak

Bugün Arduino Uno tabanlı basit bir devre kurarak bir servoyu joystick ile kontrol etmeye karar verdim.

Neye ihtiyacımız var

  1. Bağlantı telleri;

Kaynak

#katmak
int neşeX=0;
karışık=0;
Servo myservo;
geçersiz kurulum()
{
myservo.attach(9);
pinMode(joyX,GİRİŞ);
Serial.begin(9600);
}
boşluk döngüsü()
{
int val = (analogRead(joyX)/64)-8;
eğer (değer > 0) (
angl=angl+abs(değer);
}
başka(
eğer (değer< 0) {
angl=angl-abs(val);)
}
eğer (türkçe< 0) angl = 0;
eğer (açı > 180) açı = 180;
Serial.print("Güç: ");
Seri println(val);
Serial.print("Açı: ");
Seri println(angl);
myservo.write(angl);
int hız = 500;
eğer (değer != 0) (
hız = 600/mutlak(değer);
}
Serial.print("Hız: ");
Seri yazdırma(spd);
Serial.println("-----------");
gecikme(hız);
}

Nasıl çalışır

Servoyu kontrol etmenin kolay olduğu ortaya çıktı (kütüphaneyi kullanarak). Basitçe yazma işlevini ve dönüş açısının derece cinsinden değerini çağırıyoruz. Ama biz joystick'i kullanarak açının değerini dinamik olarak değiştireceğiz.

Döngü, analog girişten gelen değeri okur (joystick'in konumuna bağlı olarak 0 ile 1023 arasında değişir), adımı 64'e düşürmek için bu değeri bölerim ve ortalamadan 8 çıkarırım. Şimdi 7'den -8'e kadar bir değerimiz olacak. Sonra dönüş açısını saklayan değişkeni bu değere değiştiriyorum. Gecikmeyi de bu değere göre değiştiriyorum. Sapma ne kadar büyük olursa, gecikme o kadar düşük olur (daha hızlı dönüş).

  1. Arduino ile beyin tahtasının bir tarafına (kırmızı kablo) +5 V alıyoruz;
  2. Siyah kablo, GND'den beynin diğer tarafına gider;
  3. Sinyal pimi - dokuzuncu, yeşil tel, servo motora gider (sarı kablo);
  4. Ayrıca, joystick'ten (S-X pimi) mavi bir kablo a0 analog girişine beslenir;
  5. Kumanda çubuğundan, X tarafının VCC'si kırmızı bir kabloyla beyin tahtasının +5 V'una gider;
  6. X tarafındaki GND kumanda çubuğundan, beyin tahtasının ortak GND'sine beyaz bir tel gider;
  7. Buna göre, beyin panosunun beyaz GND kablosunu servo motorun siyah kablosuna;
  8. Servo motorun kırmızı kablosuna beyin tahtasının turuncu kablosu +5 V;

Ne oldu

Talimat

Joystick, bilgi aktarımı için kullanışlı ve kullanımı kolay bir cihazdır. Serbestlik derecesi sayısı, göstergeleri okuma ilkesi ve kullanılan teknolojiler açısından çok sayıda joystick türü vardır. Joystick'ler çoğunlukla herhangi bir mekanizmanın, kontrollü modellerin, robotların hareketini kontrol etmek için kullanılır. Bugün ele alacağımız analog joystick, karşılıklı olarak dik iki eksene sahip bir bilyalı mafsal üzerine monte edilmiş bir koldur. Kol eğildiğinde, eksen, çıkışındaki voltajın değişmesi nedeniyle potansiyometrenin hareketli kontağını döndürür. Ayrıca, analog joystick'te, tutamağa dikey basınç uygulanarak tetiklenen bir dokunma düğmesi bulunur.

Joystick'i yukarıdaki şemaya göre bağlayın. Joystick'in X ve Y analog çıkışlarını Arduino'nun A1 ve A2 analog girişlerine, SW düğmesinin çıkışını dijital giriş 8'e bağlayın. Joystick +5 V ile çalışır.

Joystick'in nasıl çalıştığını görsel olarak görmek için böyle bir eskiz yazalım. Pinleri tanımlayalım, çalışma modlarını ayarlayalım. Setup() prosedüründe, switchPin girişine yüksek bir seviye uyguladığımıza dikkat edin. Bu, bu bağlantı noktasında yerleşik çekme direncini etkinleştirdi. Etkinleştirilmemişse, joystick düğmesine basılmadığında, Arduino'nun 8. portu havada asılı kalacak ve manyetikleri yakalayacaktır. Bu, istenmeyen kaotik yanlış pozitiflere neden olacaktır.

loop() prosedüründe, butonun durumunu sürekli olarak sorgular ve pin 13'teki LED'i kullanarak gösteririz. SwitchPin girişi güce çekildiğinden, LED sürekli yanar ve düğme açıkken basıldığında söner ve tersi olmaz.

Ardından, iki joystick potansiyometresini okuyoruz - X ve Y eksenlerinin çıkışı Arduino'nun 10 bit ADC'leri var, bu nedenle joystick'ten alınan değerler 0 ile 1023 arasında değişiyor. , resimde görüldüğü gibi, değerler 500 aralığının ortası civarındadır.

Tipik olarak, elektrik motorlarını kontrol etmek için bir joystick kullanılır. Ancak, örneğin bir LED'in parlaklığını kontrol etmek için neden kullanmıyorsunuz? Yukarıdaki diyagramı kullanarak Arduino'nun 9, 10 ve 11 numaralı dijital bağlantı noktalarına bir RGB LED'i (veya üç normal LED'i) bağlayalım, elbette dirençleri unutmayalım.

Şekilde gösterildiği gibi, joystick'in eksenler boyunca konumunu değiştirirken karşılık gelen renklerin parlaklığını değiştireceğiz. Joystick üretici tarafından tam olarak ortalanmayabileceği ve ölçeğin ortası 512'de değil, 490'dan 525'e kadar olabileceğinden, joystick nötr konumdayken bile LED hafifçe yanabilir. Tamamen kapatılmasını istiyorsanız, programda uygun değişiklikleri yapın.

Yukarıdaki şemaya dayanarak, bir joystick kullanarak bir RGB LED'in parlaklığını kontrol eden Arduino için bir çizim yazalım.

İlk olarak, düğmeyle çalışacak bir pin eşleme ve iki değişken - ledOn ve prevSw - bildirelim. setup() prosedüründe, fonksiyon pinlerini atayın ve komut ile buton pinine bir pull-up direnci bağlayın. digitalWrite(swPin, YÜKSEK).

loop() döngüsünde, joystick düğmesine basılmasını belirleriz. Düğmeye basarak, çalışma modlarını "el feneri" modu ile "renkli müzik" modu arasında değiştiriyoruz.

freeMode() modunda, joystick'i farklı yönlere eğerek LED'lerin parlaklığını kontrol ederiz: eksen boyunca eğim ne kadar güçlüyse, karşılık gelen renk o kadar parlak olur. Ayrıca fonksiyon, değerlerin dönüşümünü üstlenir. map(değer, Alttan, Üstten, Alttan, Üste). map() işlevi, joystick eksenleri boyunca ölçülen değerleri (fromBottom, fromTop) istenen parlaklık aralığına (toBottom, toTop) eşler. Aynısını sıradan aritmetik işlemlerle de yapabilirsiniz, ancak böyle bir notasyon çok daha kısadır.

discoMode()'da, üç renk dönüşümlü olarak açılır ve kapanır. Düğmeye tıklandığında döngüden çıkabilmek için, düğmenin tıklanıp tıklanmadığını her iterasyonda kontrol ederiz.


Ev yapımı montaj süreci:

Adım bir. Servo motorları bağlarız
Ev yapımı bir ürünün montaj süreci, servo motorların bağlanmasıyla başlar. Bir ön düzen oluşturmak için bir devre kartı kullanılır. O zaman ayrı bir kalkan yapabilirsiniz. Şekilde, her şeyin tam olarak nasıl bağlandığını görebilirsiniz.


Kırmızı kablo güçtür ve Arduino üzerindeki 5V pinine bağlanır.
Siyah tel negatiftir (toprak) ve GND adı verilen bir Arduino pinine bağlanır.
Sağ & Sol servo motordan gelen sarı kablo pin 11'e bağlanmalıdır. Bazı modellerde beyaz da olabilir.
Pim 4'e benzer bir sarı Yukarı ve Aşağı kablosu bağlanmalıdır. Bazı motor modellerinde beyaz da olabilir.
Motoru kontrol eden sinyal konektörlerinin PWM çıkışlarından geldiğini unutmamak önemlidir.

İkinci adım. Joystick'i bağlarız

Joystick'in nasıl bağlandığı resimde görülebilir. İlk başta, şema oldukça karmaşık görünebilir, ancak aslında burada karmaşık bir şey yoktur. Motorlarda olduğu gibi burada da bağlantı için bir devre kartı kullanılır.


1. Joystick modülünde U/R+ ve L/R+ çıkışları bulunur. Güç bu çıkışlar üzerinden bağlanır. Buna göre Arduino üzerinde karşılık gelen pinden buraya + 5V gerilim uygulanmalıdır.

2. Ayrıca joystick üzerinde L/R denilen iki adet konnektör ve iki adet U/D konnektörü bulunmaktadır. A3 ve A4 analog çıkışlarına bağlanmaları gerekir.

3. Ve son olarak joystick üzerindeki zemin Arduino üzerindeki zemine bağlanmalıdır.

Montajdan sonra bağlantı yeniden kontrol edilmelidir. Sorunların ortaya çıkması çoğu durumda bağlantı hatalarından kaynaklanmaktadır. Bu, özellikle bir devre kartı kullanıldığında ve üzerinde birçok bağlantı olduğunda geçerlidir.

Adım üç. Arduino için eskiz
Kod çok basittir ve ayrıntılı yorumlar içerir. Yukarıdaki kodun Arduino IDE'ye kopyalanması yeterlidir. Kod yüklendikten sonra motorlar hareket etmemelidir. Yalnızca joystick üzerindeki bir düğmeye basıldığında hareket etmeye başlamalıdırlar.


Ortaya çıkabilecek sorunlar ve bunların nasıl çözüleceği
1. Motorlar çalışmazsa, bağlantıyı yeniden kontrol etmeniz gerekir. PWM çıkışları motorları bağlamak için kullanılır ve analog çıkışlar joystickleri bağlamak için kullanılır.

2. Kodu yükledikten hemen sonra motorlar titremeye başlar. U / D + L / R + pinleri yanlış bağlanırsa bu olur. Bağlantı dikkatlice kontrol edilmelidir. Test sırasında kartın yanmaması için bilgisayarla bağlantısı kesilmelidir.

3. Her şey yeniden kontrol edildiği halde motorlar yine de çalışmak istemiyorsa, joystick'i yeniden bağlamayı deneyebilirsiniz. Devre kartından çıkarılmalı ve ardından biraz çabayla tekrar takılmalıdır. Joystick konektörleri devre tahtasına iyi oturmalıdır.

Her şey yolunda gittiyse, artık joystick kontrolü ile herhangi bir ev yapımı ürün yaratmaya başlayabilirsiniz. Örneğin joystick ile kontrol edilebilen bir robot ve çok daha fazlasını yapabilirsiniz.

Yeni Makaleler

● Proje 18: Kumanda çubuğundan veri işleniyor. Kumanda Kolu Kaydırma/Eğme Braketi Kontrolü

Bu deneyde, Arduino'ya iki eksenli bir analog joystick bağlamaya bakacağız.

Gerekli bileşenler:

Bir joystick, 2B koordinat sisteminde hareket eden Arduino tabanlı herhangi bir cihazı kontrol etmek için harikadır. Arduino kartları için, X, Y ekseni (10 kΩ potansiyometre) ve ek bir düğme - Z ekseni olan analog joystick modülleri vardır Joystick, sıfır noktasından sapma derecesini sorunsuz ve doğru bir şekilde izlemenizi sağlar. Kumanda kolunun kendisi yaylıdır, bu nedenle belirli bir konumdan serbest bırakıldıktan sonra merkez duruma geri dönecektir.
Üç pin grubu arasındaki Vcc ve GND pinleri birbirine bağlıdır. Bu nedenle, bağlantı için 5 kablo gereklidir: X ekseni, Y ekseni, Z düğmesi, Vcc gücü ve ortak GND. Joystick'ler pasif modüllerdir ve Arduino kartından herhangi bir güç çekmezler. VERT ve HORZ pinleri Arduino'nun A0 ve A1 analog girişlerine, SEL - D2 dijital girişine bağlanır. Bağlantı şeması Şek. 18.1.

Pirinç. 18.1. Joystick kartının Arduino'ya bağlantı şeması

Joystick verilerini okumak ve değerleri Arduino IDE seri port monitörüne çıkarmak için bir çizim yazalım. Çizimin içeriği Liste 18.1'de gösterilmiştir.

Sabit int eksenX=A0 // A0'a bağlı X ekseni sabit int eksenY=A1 // A1'e bağlı Y ekseni sabit int eksenZ=2 // D2'ye bağlı Z ekseni (joystick düğmesi) int valX, valY, valZ = 0 ; geçersiz kurulum()( pinMode(axis_Z, INPUT_PULLUP); // D2'yi dahil etme ile GİRİŞ olarak yapılandırın // işlemci içindeki pull-up direnci Serial.begin(9600 ); ) boşluk döngüsü()( valX = analogRead(axisX); // X ekseninin değeri valY = analogRead(axisY); // Y ekseninin değeri valZ = 1 -digitalRead(axisZ); // Z ekseni değeri (düğme) // monitöre çıkış değerleri Serial.print("X:" );Serial.print(valX, DEC); Serial.print(" | Y:" );Serial.print(valY, DEC) Serial.print(" | Z: " );Serial.println(valZ, DEC); gecikme(500 ); // bir sonraki veri okumadan önce duraklat }
Bağlantı sırası:

1. Joystick'i Şekil l'deki şemaya göre Arduino kartına bağlarız. 18.2.
2. Liste 18.1'deki taslağı Arduino kartına yükleyin.
3. X ve Y eksenleri boyunca ofset değerlerini ve düğmenin durumunu (Z ekseni) görüntülemek için Arduino IDE'nin seri portunun monitörüne bakıyoruz.

Pirinç. 18.2. Arduino için Joystick Kartı ve Pan/Başlık Braketi Bağlantı Şeması


Örneğin bir kamera yerleştirebileceğiniz ve kullanarak kameranın konumunu sola/sağa ve aşağı/yukarı değiştirebileceğiniz iki servolu Pan/Titl Braketinin konumunu kontrol etmek için bir joystick kullanmanın daha anlaşılır bir örneğini oluşturalım. oyun çubuğu. Bu deney için bağlantı şeması Şek. 18.2.
Joystick'i X ekseni boyunca hareket ettirerek alt servonun (sol/sağ) dönüşünü kontrol edeceğiz, joystick'i Y ekseni boyunca hareket ettirerek üst servonun dönüşünü (yukarı/aşağı) kontrol edeceğiz. Joystick'in her eksendeki ortalama nötr konumu (analog değeri 512 olan), servonun 90°'lik bir açıyla dönme açısına karşılık gelir. Çizimin içeriği Liste 18.2'de gösterilmektedir.

#katmak // Servo kütüphanesini bağlama Servo servo1, servo2; const int pinServo1=8 ; // 1 servo bağlamak için pim const int pinServo2=9 ; // 2 servo bağlamak için pin // servoların dönüş açılarını saklamak için değişkenler int açıServo1,açıServo2 = 0 ; sabit int eksenX=A0; // A0'a bağlı X ekseni const int eksenY=A1; // A1'e bağlı Y ekseni int valX, valY = 0 ; // eksen değerlerini saklamak için değişkenler geçersiz kurulum(){ // servo1 değişkenini pinServo1 pinine bağlayın servo1.attach(pinServo1); // servo2 değişkenini pinServo2 pinine bağlayın Servo2.attach(pinServo2); ) boşluk döngüsü()( valX = analogRead(axisX); // X ekseni değeri valY = analogRead(axisY); // Y ekseni değeri // değeri 0-180 aralığına ölçeklendir angleServo1=harita (valX,0 ,1023 ,0 ,180 ); angleServo2=harita (valY,0 ,1023 ,0 ,180 ); // servoları alınan açıya çevirin servo1.write(açıServo1); servo2.write(açıServo2); gecikme(15); // servoların dönmesini beklemek için duraklat }
Bağlantı sırası:

1. Kaydırma/Başlık Braketini ve servoları birleştirin.
2. Joystick'i ve Pan / Title Bracket'i Şekil 1'deki şemaya göre Arduino kartına bağlarız. 18.2.
3. Liste 18.2'deki taslağı Arduino kartına yükleyin.
4. Joystick'i X ve Y eksenleri boyunca hareket ettirerek Kaydırma/Başlık Braketinin konumunu kontrol edin.

Program listeleri

Bir joystick kullanmak, bir kişi ile Arduino'ya dayalı bir cihaz (bilgisayar, mikrodenetleyici) arasında bilgi alışverişinin yollarından biridir. Çoğu zaman mekanizmaları veya robotları kontrol etmek için kullanılırlar. Tanıdık oyun dünyasına benzetilerek, oyun çubuklarına genellikle oyun kumandası da denir. Gamepad basit ve kullanımı kolaydır. Günümüzde serbestlik derecesi sayısı, bilgi okuma sıklığı ve kullanılan teknoloji açısından çok sayıda joystick türü bulunmaktadır. Bu yazıda en popüler seçeneği ele alacağız, joystick'i nasıl kontrol edeceğinizi öğreneceğiz ve nasıl bağlayacağımızı öğreneceğiz.

Analog çubuk, X ve Y eksenlerini belirleyen iki potansiyometre ve bir Z düğmesi ile bir menteşe üzerine monte edilmiş bir topuza benziyor.Düğmeyi eğin veya çevirin, çıkış voltajını değiştiren özel bir hareketli kontağı döndürür. Gamepad'in kendisi, herhangi bir konumdan serbest bırakıldıktan sonra sorunsuz bir şekilde orijinal merkezi durumuna döndüğü bir yay ile donatılmıştır. Cihaz, merkezi (sıfır) noktadan sapma derecesini daha sorunsuz izlemenizi sağlar.

Joystick'i arduino'ya bağlama

Joystick'in Arduino Uno'ya bağlanması aşağıdaki şemaya göre yapılır.

Modülün 5 çıkışı vardır - Vcc, Gnd, X, Y ve Key (tanımlamalar cihaza göre değişebilir).

X eksenindeki veriler A0 girişine, Y ekseni boyunca - A1'e gönderilir. Düğmeye basmanın görsel kontrolü için LED D11'i de bağlayabilirsiniz. Güç, 5 voltluk bir voltajla sağlanır. GND pini Arduino kartındaki aynı pine bağlanır. SW pini herhangi bir dijital pine bağlanabilir.

Gördüğünüz gibi joystick modülünü bağlamak zor değil. Bağlandıktan sonra cihaz çalışmıyorsa, tüm pinleri doğru bağlayıp bağlamadığınızı kontrol edin.

Joystick'in mevcut konumu veya yönü nasıl izlenir?

Joystick'i gerçek bir projede kullanmak için, joystick'in çalışması sırasında gönderdiği verileri işlemek için bir taslak yazmamız gerekir.

Potansiyometrelerin değerlerine bağlı olarak cihazın o anda hangi konumda olduğunu öğrenebilirsiniz. Hareket, dikey olan X ve Y eksenleri yönünde gerçekleşir.Bilgiler kullanılarak gamepad'den okunur - 0 ile 1023 arasındaki değerleri gösterir.Argüman olarak, pimlerin numaralarını alır. joystick'in bağlı olduğu:

Serial.println(analogRead(A0)); // X koordinatının konumunu gösterir

Serial.println(analogRead(A1)); // Y koordinatının konumunu gösterir

Kolaylık açısından, nihai kodu azaltmak ve basitleştirmek için sabitlerin kullanılması tavsiye edilir. Analog pinler sadece kalıcı olarak ilan edilebilir:

sabit bayt PIN_ANALOG_X = A0; // X koordinatı için sabit

sabit bayt PIN_ANALOG_Y = A1; // Y koordinatı için sabit

Joystick ile hareket yönünün belirlenmesi

Joystick kontrolü, joystick kolunun hareket yönünü bilmemiz gerektiği anlamına gelir. Bunu yapmak için, tüm eksenlerdeki verileri almamız ve yorumlamamız gerekecek.

X ve Y eksenlerinin konumlarının değerine göre, joystick'in merkezde olup olmadığını veya bir ofset oluşup oluşmadığını öğrenebilirsiniz. Tüm yönlerdeki değerler, daha önce tartışıldığı gibi 0 ila 1023 arasındadır. Öncelikle merkez noktanın yaklaşık olarak 511-512 değerinde olacağı düşüncesi geliyor. Bu sonuç tamamen doğru değildir, çünkü kesinlikle kesin bir konum belirlenemez.

Merkez değerin yanlış belirlenmesi, joystick sabit durumdaysa hareketi hakkında hatalı bilgilere neden olabilir. Bunu yapmak için sayısal bir aralık seçin ve koşullu olarak içindeki herhangi bir değerin merkezi nokta olacağını varsayın. Değerlerin her bir joystick türü için ayarlanması gerekir ancak yaklaşık olarak 505-518 aralığında olacaktır. Elde edilen değerler koda sabit olarak yazılır:

sabit int X_THRESHOLD_LOW = 505;

sabit int X_THRESHOLD_HIGH = 518;

sabit int Y_THRESHOLD_LOW = 500;

sabit int Y_THRESHOLD_HIGH = 510;

Bir sonraki adım, koordinatları -1 ile 1 arasında bir aralığa dönüştürmektir. X için -1 sola hareket ediyor, 0 hareket yok, 1 sağa. Y'de -1 - aşağı hareket, 0 - merkezi değer, 1 - yukarı. Başlangıçta tüm değerleri merkez 0 olarak ayarladık. Hareketin oluşup oluşmadığını kontrol etmek için if / else deyimlerini kullanıyoruz.

Gamepad çalışmasındaki tuzaklar

Herhangi bir cihazda olduğu gibi, oyun çubukları da kusursuz değildir. Her şeyden önce, bir yayın varlığı, mekanik parçalardaki sürtünme nedeniyle kolun tam olarak merkez konumuna dönmesine izin vermez. Bu, merkezi konumu veya daha doğrusu herhangi bir noktanın koşullu olarak orta olarak kabul edileceği değer aralığını programlı olarak belirlemeniz gerektiği gerçeğine yol açar.

İkinci sorun, sözde ölü bölgelerin varlığı olarak adlandırılabilir. En büyük sapmalara sahip iki uç değer, 0 V'a ve besleme voltajına eşit olmalıdır. Gerçekte, direnç değişiminin tüm elektriksel aralığı kullanılmadığından bu değerler farklılık gösterebilir. Bu sorunu çözmek için uç noktalar 1 kΩ ve 9 kΩ değerlerine karşılık gelebilir.

JoyStick kalkan genişletme kartı

Robotları veya diğer mekanizmaları kontrol etmek için bazen düğmeler ve iletişim için bir joystick kullanmak gerekir. Her seferinde yeni tasarımlarla karşılaşmamak için, joystick için gerekli tüm elemanların lehimleneceği hazır bir arduino genişletme kartı satın almanız önerilir.

Dünyaca ünlü arduino üreticisi Sparkfun'dan bu kalkanın ne olduğunu bir düşünün. Bu gamepad iyi çalışıyor ve nispeten ucuz. Cihaz hafif demonte bir şekilde teslim edilebilir, bu nedenle önce monte edilmesi gerekir.


Kalkan birkaç standart düğme içerir (yanda 4 normal düğme ve bir seçim düğmesi). Modele bağlı olarak, karta bluetooth veya wifi modüllerini bağlamak için konektörler eklenebilir. Geleneksel olarak pin ve tarak çıkışlarını kullanarak harici cihazları bağlayabilirsiniz.

Çözüm

Arduino joystick projelerimde olmazsa olmazımdır. Bu tür sensörler sayesinde cihazınıza kullanışlı ve modern kontroller ekleyebilirsiniz. Bazı durumlarda joystick olmadan yapmak neredeyse imkansızdır: Arduino joystick, çeşitli oyunlarda ve diğer birçok projede navigasyon olarak robotları, akıllı makineleri, servoları, müzik sesini ve arka ışık parlaklığını kontrol etmek için kullanılır.

Hazır bir modülü bağlamak zor değil, kontrol taslağının kendisi de çok erişilebilir. Çoğu zaman, joystick, düğmeli bir yerde kullanılır ve kablosuz arabirimlerle eşlenir, çünkü hızlı hareket eden cihazlarla bir kablo üzerinde bir joystick'i kontrol etmek neredeyse imkansızdır. Bu nedenle, ihtiyacınız olan her şeye sahip olan iş için hazır kalkanların kullanılması tavsiye edilir.

Fok
Konunun devamı:
Bilgisayar

XML Dönüştürücü programı, XML dosyalarını (XML belgeleri) dönüştürmek için, XML dosyalarını dönüştürmek için mevcut standart araçlardan birini kullanarak tasarlanmıştır - teknoloji...