USB IO Kurulu PIC18F2455 / PIC18F2550 seri port RS232 COM port

  • Konbuyu başlatan hüseyin55
  • Başlangıç tarihi

hüseyin55

Üye
Katılım
2 Kas 2009
Mesajlar
15
Puanları
3
Arkadaşlar bu konuda yardımcı olurmusunuz micro controllerden tez ve uygulamam var.. Ancak Pıc anlamıyorum =(

Benden istenen Manuel su sayacuna desi göstergesine hassas swich monte edip Su sayacından gecen su miktarını okuya bilmek . Her 1 litrede swiche bastıgında 1 litre ekleyecek . numaratördeki aynı degeri pc ortamında degerini taşıyabilmekve bu şekilde 25 tane sayacıda bu şekilde okumak . İnternetten araştırdım Darbe sayacı Mbus yolunda bana yardım etmenizi istiyorum. Rs232 RS485 Devre tasarımı ve programda yardım ederseniz sevinirim. mesafe 100 mt mesafenden rahat şekilde okuyabilecekmiş oda herhalde rs485le oluyormuş. Bu konuda yardım lütfen.. Bu asagıdaki buldugum devrede işinize yarar umarım.. Kolay gelsin arkadaşlar..

1x PIC18F2455 / PIC18F2550 Programlanmış Mikrodenetleyici (MCU)
1x USB B Tipi Konnektör
1x 20MHz kristal Resonator
2x 10K Direnç (siyah-kahverengi turuncu altın)
1x 470 Direnç (sarı mor kahverengi altın)
1x 470nF Seramik Kondansatör
1x 100nF Seramik Kondansatör

Hakkında PIC18F2455 / PIC18F2550 USB IO Kurulu

USB Giriş / Çıkış Kurulu, muhteşem bir küçük kalkınma kurulu / PIC18F2455 / PIC18F2550 mikrodenetleyici paralel port değiştirme . Windows / Mac OSX / Linux bilgisayarlarda USB IO Kurulu UYUMLUDUR. Windows IO kuruluna bağlı RS232 COM portu olarak görünecektir. I / O pini 16 bireysel mikrodenetleyici basit bir seri komutlar göndererek kontrol edebilirsiniz. USB Giriş / Çıkış Yönetim Kurulu, kendi kendine çalışan USB bağlantı noktası ve elektronik projeleri için 500mA kadar sağlayabilir. USB IO Kurulu breadboard uyumludur. Sadece lehim 12-PIN 8-PIN başlıkları PCB alt tarafta ve yönetim kurulu, hızlı prototipleme için breadboard takılabilir . USB IO Board kullanılarak inşa edilebilir ne örnekleridir USB Röle Kontrol (ON / açmak OFF evde ışıklar veya cihazlar) Kontrol LED'ler, oyuncaklar, elektronik cihazlar, kablosuz kontrol, vb USB LCD Controller USB Volt / Amper / Watt Metre USB CNC Kontrolör USB Data Logger USB Sıcaklık Ölçer / Logger USB Termostat Denetleyicisi USB Nem Ölçer / Logger USB Step Motor Kontrollü USB RC Servo Kontrolör Röleli USB Geri Sayım Sayacı

R1, R2 10K direnç
C1 470nF kapasitör
C2 100nF kapasitör
soldaki 5-PIN başlığı gelecekteki firmware sürümleri indirmek için ICSP konnektörü (Devre Seri Programlama).


Hızlı Başlangıç

1) Download
USB IO Kurulu sürücüleri Electronics-DIY.com - USB IO Board Drivers - Drivers for USB IO Board ve unzip 2) USB IO Kurulu standart bir USB kablosu kullanarak bilgisayara bağlayın.3) Bir sürücü yüklemek istiyorsanız, Windows size soracaktır. Fermuarını açıp sürücüleri için gelin. Windows 2000 / XP , Windows 2000 veya XP altında iki sürücü yüklemek için iki kez istenecektir . Ilk isteminde göz atın ve lütfen MCHPUSB sürücü klasörüne gidin. Ikinci isteminde lütfen göz atın ve USB CDC sürücü klasörüne gidin. Windows 7 / Vista , Windows 7 veya Vista altında MCHPUSB sürücüsü zaten yüklü ise USB CDC sürücüsünü yüklemek için sadece bir kez istenebilir. sürücüleri yüklendikten sonra 4 ) gidin Bilgisayarım tıklatın ve Özellikler-> Donanım-> Aygıt Yöneticisi Aygıt Yöneticisi (sağ tıklayın) ve Bağlantı Noktaları (COM ve LPT) bölümü altına bakın ve orada yeni bir seri bağlantı noktasını görmelisiniz . Not COM port numarası 5) favori seri emülatörü açın; Windows, ya da benim kişisel favorim USB IO Kurulu Kontrolörü ile gelir gerçekten korkunç HyperTerminal indirebilirsiniz burada Electronics-DIY.com - USB IO Board Controller - . 6) USB IO Kurulu Kontrolörü başlattıktan sonra COM bağlantı noktasını seçin kurulu bağlanmak için açılan listeden, giriş kutusu ve vurmak "V" tipi girin veya "Gönder" butonuna tıklayın. PIC18F2455 / PIC18F2550 çip bir firmware sürüm numarasını geri almak gerekir. Bu USB IO Kurulu düzgün çalışır durumda olduğunu kanıtlıyor. Şimdi USB IO Kurulu kontrol etmek için kullanılabilir komutları hakkında bilgi almak için hazırız.

USB IO Kurulu Controller

USB IO Kurulu her Windows işletim sistemi ile gelen Hyper Terminal gibi, hemen hemen her seri port emülasyonu programı ile kontrol edilebilir. Hyper Terminal ile ilgili sorun, onları türüne ve bu çok can sıkıcı olabilir komutları göremiyorum ki. Hyper Terminal ile bir seri port bağlantı kurma sihirbazı ile gitmek için, ve COM port değişiklikleri eğer oldukça fazla tekrar tekrar üzerinden yapmak zorunda. Neyse ki biz kendi küçük uygulama USB IO Kurulu Controller adında relesed o kadar çok Hyper Terminal daha kolay ve eğlenceli kullanmak. Bu alan sadece 25KB alır bu yüzden çok hafif. USB IO Kurulu Controller USB IO Kurulu COM port USB IO Kurulu COM port numarasını öğrenmek için Aygıt Yöneticisi (ve zaman) gezisi kazandıracak gösterecektir USB IO Kurulu Kontrolörü COM bağlantı noktasını seçin. kullanmak için açılan listeden şu komutu yazın ve vurmak "Enter" tuşuna (veya Gönder butonuna tıklayın). Her komut komutu almış ve başarılı bir şekilde işlenmiş olduğunu acknowlege "Tamam" mesajı döner.
Download USB IO Kurulu Kontrolörü (Win 2K, XP, Vista, Win7) Not: USB IO Kurulu Kontrolörü çalıştırmak için deneyin ve işe yaramazsa indirmek ve yüklemek için ihtiyacınız olacaktır .. NET Framework , Microsoft web sitesinden.
Download: Microsoft .NET Framework 4 (Web Installer) - Microsoft Download Center - Download Details
Download USB IO Kurulu Kontrolörü Electronics-DIY.com - USB IO Board Controller -


Test USB IO Kurulu

Lets ON / OFF LED dönüş ne kadar kolay olduğunu görmek için bazı örnek komutları çalıştırın.

bağlayın mikrodenetleyici LED PIN28 uzun bacak (RB7), 470 Ohm direnç üzerinden toprağa (GND) kısa bacak. Şimdi, USB IO Kurulu Controller kullanarak bu komutları yazın AÇIK ve KAPALI LED açmak için. Her komutu girildikten sonra "Enter" tuşuna basın unutmayın.
: Port çıkışları A, B ve C yapılandırma
C, 0,0,0,0 (+5 V) LED ON açın : PO, B, 7,1 LED OFF Turn (0V): PO, B, 7,0 İşte bir Örneğin, biz PIN2 (AN0) gerilim ölçmek ve çıkışları gibi başka bağlantı noktalarını kullanmaları mümkün nasıl . Maksimum giriş voltajı PIC18F2455 / PIC18F2550 mikrodenetleyici 5V sınırlı ama basit bir iki direnç bir gerilim bölücü ile biz istediğimiz herhangi bir gerilim kolayca ölçebilirsiniz
.PIN2 ve GND ve PIN2 ve 500V ile ölçmek için giriş bağlı 100K direnç bağlı 1K direnç kullanın. Bakınız USB voltmetre daha fazla bilgi için bkz. Port A yapılandırın - analog giriş, B ve C çıkışları gibi PIN2: C, 1,0,0,1


PIN2 Örnek giriş voltajı:
A . USB IO Kurulu gerilim dijital gösterimi dönmek ve bilgisayarda görüntülemek PIN28 (+5 V) ON LED açın : PO, B, 7,1 PIN28 LED OFF açın (0V): PO , B, 7,0 daha fazla analog giriş nasıl yapılandırmak için aşağıda "C" komutu hakkında daha fazla bilgi .


Komutlar

TÜM komutları için notlar:



    • <CR> Veya <LF> ya da bu ikisinin bir kombinasyonunu göndererek bir komut sonunda. Bu tüm komutları geçerli sayılacaktır nasıl sonlandırılması gerekir.
    • Ve komutun sonunda <CR> dahil komut adının ilk byte sayma, her komut bayt toplam sayısı, 64 bayt veya daha az olmalıdır. 64 bayttan uzunsa, komut yok sayılır ve diğer kötü şeyler ya da olmayacak olabilir. Bu sınırlama, umarım gelecekte FW D sürümleri silinecektir.
    • Sen bir dizeye istediğiniz gibi pek çok komutları olarak birlikte dize, ve sonra bir defada o USB IO Kurulu dizgi yollayın.Her bir komutu en fazla 64 bayt olduğu sürece, bu iyi çalışacaktır. Birlikte birçok komut koyarak (her biri kendi sonlandırma <CR> ile) ve bir kerede tüm USB IO Kurulu'na göndererek, USB bant genişliği en verimli şekilde kullanılmasını olun.
    • Bir komut başarılı bir şekilde alınmasını müteakip, USB IO Kurulu her zaman, "Tamam <CR> <LF>" oluşacaktır Tamam paket geri göndereceğiz. USB IO Kurulu komutu anladığını söyler, çünkü sadece bir terminal emülatörü ile test için, bu çok yararlıdır. Ancak, daha yüksek bir hız uygulamasında takdir olmayabilir ekstra iletişim yükü eklemek. Bu sürümü (1.4.0) ile başlayarak, "Tamam" paketlerin gönderilmesini kapatmak için CU komutunu kullanabilirsiniz. Hatalar hala herhangi bir "OK" paketleri gönderdi, ama olacak.
    • Şu anda, geri silme tuşu çalışmıyor. Örneğin, bir terminal emülatörü USB IO Kurulu bir komut ve bir hata yaparsanız ve hatasını düzeltmek için backspace çalışın, USB IO Kurulu backspace tanımıyor ve bir hata üretecektir. Bu durum umarım gelecekte FW D sürümü doğru olacaktır.
    • Tüm komut adları ("C", "BC", vb.) Harf büyüklüğüne duyarsızdır.
    • Tüm bağlantı noktası adları ("A", "B", "C") küçük harf duyarlılığı

"C" Komut:


    • "C" komutu 'Yapılandır' anlamına gelir ve sizin hem de analog girişler etkinleştirmek, port A, B ve C için kaydeder port yönü durumunu ayarlamak sağlar. Bu pin bazında bir iğne veya bir giriş bir çıkış içine her pin açmak, ya da pimlerin bir veya daha fazla analog girişler olmasını sağlayacak sağlar.
    • Biçim: "C <DirA>, <DirB>, <DirC>, <AnalogEnableCount> <CR>" burada <DirX> bu port için yön bit gösteren 0 ile 255 arasında bir değerdir. A 1 bir giriş bir çıkış, 0.
      • Eğer <AnalogEnableCount> bu değer sıfır olarak gönderilir, daha sonra tüm analog girişler kapalı ve tüm pinler sadece dijital giriş ya da çıkış davranırlar.
      • <AnalogEnableCount> 1 ila 12 arasında bir değer olarak gönderilir, daha sonra analog giriş (aşağıya bakınız) bir veya daha fazla etkin ve her milisaniyede bir örnekleme başlayacak. 12'nin üzerinde herhangi bir değer, bir hatadır. Etkin analog giriş değerleri almak için "A" komutunu kullanın.
    • Örnek: "C 4,245,52,0"
    • Analog Girişler Uyarı: Bu çok önemli olduğunu, bir iğne, bir giriş (uygun <DirX> bitini) olarak bu pin bir analog giriş, izin verirseniz. <DirX> Bit bir çıkış olarak ayarlanmış bir pin var ama bu bir analog giriş olarak etkin varsa, analog okuma sadece (muhtemelen ne istediğinizi, ama hangi) pin mevcut dijital çıkış gerilimi dönüştürür . <DirX> Bit dijital çıkış olarak ayarlanmış bir pin var, ama bir analog giriş olarak etkinleştirmek ve sonra pin analog giriş seviyeleri uygulamak ETMEYİN etrafında yüzer, çünkü Ayrıca, bu pin aşırı güç çizebilir (0V) (5V) Yüksek ve düşük arasında. PIC'ler çok sağlam, ancak dikkatli olun.
    • Analog Giriş, Matrix:
      • Bir veya daha fazla analog giriş etkinse, sonra <AnanlogEnableCount> için hangi numara sağlar görmek için bu grafiği kullanabilirsiniz hangi analog girişler gibi pimleri. USB PIC üzerine inşa edilmiş olduğunu PIC çekirdek, 13 analog giriş kanalı vardır. Ancak, 28 pin parçalar (şu anda USB IO Kurulu tasarımlarında kullanılan) üç (AN5, an6 ve AN7) bu analog giriş pinleri olarak çıkıp yok. Bunlar hala var ve Firmware D v1.2 ile ilgili olarak, tüm diğer analog giriş pinleri tam olarak tedavi edilir, "A" paket içinde göstermek. Ayrıca, tüm 13 daha fazla izin verilmeyen 64 byte, bir USB paket yaratacak sağlayan çünkü AN12 (13 analog giriş) Firmware D v1.2 kullanımı için uygun değildir.
"O" Komut:


    • "O" komutu 'Çıktı devlet' anlamına gelir ve bunu vermek ve liman A, B ve C veri kaydeder bunları yazmak değerler alacaktır. Bu çıkışları tüm pinlerinin durumunu ayarlamak için izin verir.
    • Biçim: <PortX> bu kayıt için port pinlerinin değerini belirtir, 0 ile 255 arasında bir değer "O, <PortA>, <PortB>, <PortC> <CR>".
    • Örnek: "O, 0,255,22"
    • Paket Dönüş: "Tamam"

"Ben" Komut


    • "Ben" Komut 'Giriş devlet' anlamına gelir ve USB IO Kurulu bir "ben" komutu gönderdiğinizde, her üç limanlarından her bit değeri yapacak, "Ben" paket geri ile cevap verecektir , B ve C pin durumu, pin bir giriş veya çıkış olursa olsun okur.Pin analog giriş olarak yapılandırılmış ise, bit her zaman "ben" paket (0) düşük okuyacaktır.
    • Biçim: "Ben <CR>"
    • Örnek: "Ben"
    • "Ben, <StatusA>, <StatusB>, <StatusC> <CR>:" Paket <StatusX> pimleri bu port üzerinden akım değeri gösterir 0 ile 255 arasında bir sayı olduğu dönün. Bu <StatusX> her zaman önde gelen sıfırları dönüş paket veri değerleri ne olursa olsun her zaman aynı uzunlukta olduğunu eklenecektir, yani 3 karakter uzunluğunda olacak.
    • Örnek dön Paket: "Ben, 001.045.205"

"V" Komut


    • "V" Komut 'Version' anlamına gelir ve USB IO Kurulu bir "V" komutu gönderdiğinizde, bu şuna benzer bir metin dizesi ile cevap verecektir: "USB IO Kurulu FW D Sürüm 1.4.0"
    • Biçim: "V"
    • Dönüş: Paket "USB IO Kurul FW-Ge Sürüm 1.4.0"

"R" Komut


    • 'Varsayılan durumuna reset ve USB IO Kurulu bir "R" komutu gönderdiğinizde dijital girişler için tüm pimleri başlatmak ve herhangi bir çalışan zamanlayıcı duracaktır "R" Komut duruyor.
    • Biçim: "R"
    • Paket Dönüş: "Tamam"

"T" Komut


    • "T" Komut açılımı 'Timer girişleri okumak' ve USB IO Kurulu bir "T" komutu gönderdiğinizde, bu iki sayaçları için gecikme koyacaktır. Zamanlayıcısı zaman aşımına uğradı, bir "ben" paket veya "A" paket PC'ye gönderilen yanıt almak için neden olacaktır.
    • Biçim: "T <TimeBetweenPacketsInMilliseconds>, <Mode> <CR>"
    • <TimeBetweenPacketsInMilliseconds>: Yanıt paketleri arasındaki zaman <TimeBetweenPacketsInMilliseconds> değere göre belirlenir ve (dahil) 1 ve 30000 arasında bir sayı olarak ifade edilir. <TimeBetweenPacketsInMilliseonds> Için 10 göndermek Eğer yeni bir paket yanıtı her 10ms gönderilen olurdu. 30000 değeri gönderdi, o zaman her 30 saniyede bir paket yanıt göndermek istiyorsunuz. Daha fazla paket gönderilir, böylece iki zamanlayıcı devre dışı bırakmak istiyorsanız, <TimeBetweenPacketsInMilliseconds> sıfır göndermek. Kapatmak istiyorsanız, hem "I" ve "A" zamanlayıcılar için sıfır bir zaman göndermek zorunda. Not: UWB tekmeyi ve sırf bir paketlerinin her 1ms (en hızlı) PC uygulaması bu kadar hızlı okuyabilirsiniz anlamına gelmez. Bazı terminal emülatörlerine bu veri hızı, USB IO Kurulu geri geliyor yetişmek mümkün değil, ve USB IO Kurulu'nun iç tamponlar taşma ne olur. Bu USB IO Kurulu tarafından geri gönderilen hata mesajları üretecektir. USB IO Kurulu veri almak için kendi özel uygulama yazarsanız, seri port bir seferde bir byte okumak için emin olun her zaman büyük miktarda (10K veya daha fazla) sormak ve sonra dahili içeriğini ayrıştırmak Bu bir girişimi, 13 kanal için yapılmış ise analog her 4ms, sonra bir dahili USB IO Kurulu'nun daha hızlı rapor olması keşfetmiş oldu: (en son paketi tam olmayabilir fark) Not 2 inç gelen veri arabellek taşması oluşur. A paketler için seçtiğiniz hız ile dikkatli olun. Maksimum hız, analog kanal geri gönderilir kaç dayanmaktadır.
    • <Mode>: Eğer <Mode> olan "0" sonra "I" paket zamanlayıcı (dijital giriş paket) ve "ben" paketleri PC üretecek. Eğer <Mode> olan "1" sonra "A" paket zamanlayıcı (analog giriş paket) ve "A" paketleri PC üretecek. Her iki zamanlayıcı aktif ve farklı (veya aynı) fiyatla kendi paketlerin geri göndermektedir.
    • Not: USB IO Kurulu T komut gönderdi ne olursa olsun, aslında son derece hassas bir zaman aralığı dijital giriş pinlerine örnektir. Pinlerinin değerleri bir tampon saklanır ve sonra PC'ye USB arkasındaki 'boş zaman' her paket tepkiler üretilir.Yani I paket yanıtları pin değerleri yükselen veya düşen kenarları arasında saymak ve bu olaylar arasındaki <TimeBetweenPacketsInMilliseconds>, değeri hassas zamanını bilmek. Bu <Mode> = 0 için de geçerlidir. <Mode> = 1 için, analog girişler her 1ms örneklenmiş. Her zaman "A" zamanlayıcı, analog değerler en son set yeni bir "A" paket oluşturmak ve sonra gönderilir.
    • Örnek: "T 100,0" - Bu her 100ms örneklenmiş saniyede 10 "ben" paketleri, geri göndermek istiyorsunuz.
    • Örnek: "T, 14,1" - Bu örnek tüm etkin analog giriş ve her 14ms bir "A" paket geri gönderir.
    • Paket Dönüş: "OK". Ancak unutmayın, "I" paket ya da "A" paket yanıtları T komutunu UWB tarafından alındıktan sonra düzenli aralıklarla akan başlayacaktır.
    • Not: "I" veya "A" paket yanıtları "T" komutunu yaptıktan sonra geri geliyor ve ("T, 0,0" veya "T, 0 ile bunları kendiniz durmadı Eğer. , 1 ") sonra ne oldu, ben veya bir paket veri USB IO Kurulu'nda iç tampon dolu olmasıdır. (3 I paketleri ve 3 A paketler için bir oda vardır.) Bunun anlamı, USB sistemi yeterince hızlı PC paket yanıtları almak için çok meşgul olduğunu. Az USB trafiği (diğer cihazlar) veya paket yanıtları arasındaki süresini artırmak gerekir.

"A" Komut


    • "A" Komut 'örnek Analog Girişler' anlamına gelir. USB IO Kurulu "A" paket göndermek, analog girişler son örneklenmiş seti geri gönderecektir. Tüm etkin analog giriş, her 1ms örneklenmiş ve saklanır. "A" paket alındığında, analog girişler için son saklanan değeri geri dönen bir "A" paket geri gönderilir.
    • Formatı: "A <CR>"
    • Örnek: "A"
    • "A, 0145,1004,0000,0045" ("C" komutu ile etkin 4 analog giriş yokmuş dönüş paket bu gibi görünecektir): Paket dönün.12 analog giriş etkin olması ve bu nedenle "A" dan sonra 0 ile 1023 arasında 12 sayı olabilir. Analog giriş hangi pinlerine karşılık hangi bilgi için yukarıda "C" komutu tabloya bakın. Numaraları 0V (0000) 5V (1023) etkin olan her analog giriş, analog voltaj temsil eder. Sonra ilk "A" AN0 için, ve son numarayı anda etkin olan en yüksek analog giriş kanalı (ANX).

"MR" Komut


    • "MR" Komut 'Hafıza Oku' anlamına gelir.
    • Biçim: "MR, <Address> <CR>"
    • <Address>: Bu arasında ve 0 ila 4095 de dahil olmak üzere bir sayıdır. Okumak istediğiniz USB IO Kurulu'nun RAM adresi.
    • Örnek: "MR 3968" (PORTA kayıt değerini okumak için USB IO Kurulu sorar)
    • Dönüş Paket: "MR, <VALUE>"
    • <değer>: 0 ile 255 arasındaki bir sayıdır. <Address> Okuma sonucudur.
    • Örnek dön Paket: "MR, 28"

"MW" Komut


    • "MW" Komut 'Hafıza Yaz' anlamına gelir.
    • Biçim: "MR, <Address>, <VALUE> <CR>"
    • <Address>: Bu arasında ve 0 ila 4095 de dahil olmak üzere bir sayıdır. Içine yazmak istediğiniz USB IO Kurulu'nun RAM adresi.
    • <değer>: 0 ile 255 arasındaki bir sayıdır. <Address> Içine yazmak istediğiniz değerdir.
    • Örnek: "MW, 3968,56 (PORTA kayıt içine değeri 56 yazmak için USB IO Kurulu sorar)
    • Paket Dönüş: "Tamam"
    • NOT: Bu komut PIC veri sayfasını okuyun ve ne yaptığınızı anlamadan son derece tehlikeli olabilir. - Bu komut ile tüm USB IO Kurulu mevcut RAM yazma yeteneğine sahip firmware kullanıyor ve Özel Fonksiyon tüm PIC kaydeder tüm değişkenleri de dahil olmak üzere. Bu çok kullanışlı bir şey olabilir, ama dikkatli kullanın.

"PD" Komut


    • "PD" komutu, "Pin Yön" için duruyor. Bu, bir anda sadece tek bir pin yönünü ayarlamak için izin verir. (Giriş veya çıkış)
    • Biçim: "PD, <port>, <Pin>, <Direction> <CR>"
    • <port>: Bu karakter "A", "B" ya da değiştirmek istediğiniz portuna bağlı olarak "C".
    • <Pin>: 0 ile 7 arasındaki bir sayıdır. Bu yönde değiştirmek için istediğiniz portu hangi pin gösterir.
    • <Direction>: Bu ya "0" veya "1", Çıkış (0) ya da Giriş (1).
    • Örnek: "PD, B, 2,1" - Bu bir giriş, Port B, pin 2 değiştirmek istiyorsunuz.
    • Paket Dönüş: "Tamam"

"PI" Komut


    • "PI" komutu "Pin Giriş" anlamına gelir. Bu, bir anda sadece tek bir pin devlet okumak için verir. (Yüksek veya Düşük)
    • Biçim: "PI, <port>, <Pin> <CR>"
    • <port>: Bu karakter "A", "B" ya da değiştirmek istediğiniz portuna bağlı olarak "C".
    • <Pin>: 0 ile 7 arasındaki bir sayıdır. Bu yönde değiştirmek için istediğiniz portu hangi pin gösterir.
    • Örnek: "PI, C, 6" - Bu Liman C pin 6 devlet okurdum.
    • Dönüş Paket: "PI, <VALUE>"
    • <değer>: Bu ya bir Yüksek (1) veya pin gerilim bağlı olarak okuma olduğu zaman (0) Düşük.
    • Örnek dön Paket: "PI, 1" (pin yüksek olduğunu ifade eder.)

"PO" Komut


    • "PO" komutu "Pin Çıkışı" için duruyor. Bu, bir seferde sadece bir pin çıkış değeri (şu anda bir çıkış olarak ayarlıysa) ayarlamanıza olanak verir. (Yüksek veya Düşük)
    • Biçim: "PO, <port>, <Pin>, <VALUE> <CR>"
    • <port>: Bu karakter "A", "B" ya da "C" ayarlamak istediğiniz portuna bağlı.
    • <Pin>: 0 ile 7 arasındaki bir sayıdır. Hangi devlet ayarlamak istediğiniz port pin gösterir.
    • <değer>: Bu ya "0" veya "1", Düşük (0) veya Yüksek (1).
    • Örnek: "PD, A, 3,0" - Bu Port A pin düşük 3 yapacak.
    • Paket Dönüş: "Tamam"

"CU" Komut


    • "CU" komutu "Configure USB IO Kurulu" için duruyor. USB IO Kurulu genel işleyişini etkileyecek şeyler ayarlamak için genel bir komut olacak şekilde tasarlanmıştır.
    • Biçim: "CU, <parametre> <VALUE> <CR>"
    • <parametre>: Bu, değiştirmek istediğiniz parametre sayısını temsil eden bir işaretsiz 8 bit değeri,. (Aşağıdaki tabloya bakınız)
    • <değer>: Bu bir değerdir seçilen <parametre> numarası bağlıdır anlamı bulunuyor.
    • Örnek: "CU, 1,0" - Her komutun ardından "Tamam" paketlerin gönderilmesini kapatmak istiyorsunuz.
    • Paket Dönüş: "Tamam"

"RC" Komut


    • "RC" komutu, "RC Servo Çıkış" için duruyor. Bu pin zaten dijital çıkış olarak yapılandırılmış ise, RC servo çıkışı herhangi bir pin dönecek.
    • Biçim: "RC, <port>, <Pin>, <VALUE> <CR>"
    • <port>: Bu karakter "A", "B" ya da "C" ayarlamak istediğiniz portuna bağlı.
    • <Pin>: 0 ile 7 arasındaki bir sayıdır. Hangi devlet ayarlamak istediğiniz port pin gösterir. Bazı iğneli (RA6, RA7, RC3, RC4 ve RC5) çip çıkıp yok olduğunu, bazı iğneli IO Kurulu (RC0, RC1, RC2) başlıkları üzerinden erişilebilir değildir. RC çıkışları hala bu iğneler üzerinde ayarlayabilirsiniz, ancak varolmayan olanlar sadece RC kod atlanır ve RC0 RC çıkışları ayarlarsanız, RC1 ve RC2 (ilginç sonuçlar görebilirsiniz RC0 ve RC1 LED'ler beri onlara).
    • <değer>: 0 ile 11890 arasında bir değerdir.
      • 0 (sıfır) <VALUE> RC çıktı (o pin) tamamen kapanacaktır. 1 <VALUE> pin 1ms yüksek nabız neden olacaktır.11890, bir <VALUE> pin 2ms yüksek nabız neden olacaktır. Herhangi bir <VALUE> inbetween 1 ve 11890 süresi 1ms ve 2ms arasında orantılı olarak yüksek bir darbe neden olacaktır. Bu darbeleri her 19ms tekrarlayın.
    • Örnek: "RC, B, 3,5945" - PORTB pin 3 zaten bir çıkış oldu, sonra bir 1.5ms yüksek nabız PORTB 3 pin her 19ms çıkan (RC servo 'merkezi' olan) olacaktı.
    • Paket Dönüş: "Tamam"
    • Not: Bu komut, 16 bağımsız RC servo çıkışları sağlar.

İkili Çıkış Komutları
için birlikte bir LCD panel veya diğer mandallı 8-bit paralel arayüz gibi bir donanım aygıtı için yüksek hızlı paralel çıkış için izin "BC", "BO" ve "BS" komutları tüm çalışma. Temel fikir, bir byte PORTB için yazmak, Porta bir strobe biti, biraz bekleyin, daha sonra Porta (veya düşük) yüksek gitmek meşgul biraz bekleyin ve sonra, Porta strobe biraz temizlemek için sonra Porta (veya yüksek) düşük gidin ve sonra PORTB dışarı göndermek için olduğu gibi birçok bayt olarak tekrarlamak için yoğun biraz bekleyin.Yani PORTB paralel otobüs ve Porta iki bit çıkış bir strobe bit (çıktı) ve yoğun bir bit (giriş) olarak kullanılır kullanılır.
M.Ö. komutunu daha sonra tüm parametreleri ayarlar ve BO veya BS komutları PORTB çıkış veri akışı. Bu planın çok başarılı olacağına önce, düzgün PORTB ve Porta yönünde bitleri emin olun. "BC" Komut



    • "BC" komutu, "Toplu Yapılandır" için duruyor. BO ve BS komutları için seçenekleri yapılandırmak için izin verir.
    • Biçim: "M.Ö. <Init>, <WaitMask>, <WaitDelay>, <StrobeMask>, <StrobeDelay>, <CR>"
    • <Init>: Bu Porta yazılı örneğe cilalama değerdir.
    • <WaitMask>: Bu maske her bit 'meşgul' bit LCD (veya diğer donanım) geri geliyor gösterir. <WaitDelay> Sıfır değilse, bu değeri sadece kullanılır.
    • <WaitDelay>: <WaitDelay> De iddia olmak için daha sonra iddia haline meşgul biraz beklemek için zaman maksimum miktarı ve. Eğer <WaitDelay> sona eriyor, daha sonra bir sonraki byte sadece dışarı gönderilir. <WaitDelay> 400ns ilgili birimleri.
    • <StrobeMask>: Bu maske her bit, bayt PORTB yazıldıktan sonra ters olması strobe bit gösterir. <StrobeDelay> Bittiğinde, başlangıç değeri (<Init>) Porta geri yazılır.
    • <StrobeDelay>: Strobe bit (<StrobeMask>) başlangıç değerlerine ters olduğu süre uzunluğu. <StrobeDelay> 830ns ilgili birimleri.
    • Örnek: "BC, 1,1,1,1,1"
    • Paket Dönüş: "Tamam"

"BO" Komut


    • "BO" komutu, "Toplu Çıkış" için duruyor. BC komut ayarlarını kullanır ve PORTB bayt çıkışları. Porta bit en az bir strobe çıkışı (yeni bir bayt PORTB üzerinde mevcut olduğunu belirten) olarak kullanılan ve 'yoğun' bir giriş olarak gönderilen sonraki byte önlemek için kullanılan bir isteğe bağlı ikinci Porta biraz kontrol bitleri olarak kullanılır alıcı işlemek için önce.
    • Biçim: "BO, <ASCII_HEX_Bytes> <CR>"
    • <ASCII_HEX_Bytes>: Bu grup karakter Eğer PORTB göndermek için whish bayt onaltılık gösterimi. Örneğin, değerler 0x55, 0xA7 ve 0x21 3 byte göndermek istiyorsa, komut olarak "BO, 55A721" kullanmak istiyorsunuz. Bu komutun toplam uzunluğu 63 bayt fazla olmamalıdır, bu yüzden en çok bu komutu içine ASCII hex karakter 30 byte değerinde paketi olabilir.
    • Bayt PORTB gönderdi olsun bu yolu WaitMask, WaitDelay StrobeMask, StrobeDelay ve yukarıdaki M.Ö. komut Init değerleri kullanarak. BC komutu kabul edildiğinde, Porta <Init> parametre değeri initalized olacak. Zaten çıkışları PORTB kurmak sahip olması gerektiğini unutmayın ve her bit Porta yönü neye ihtiyacınız olduğunu göre ayarlayabilirsiniz.Aşağıdaki gibi bir byte (BO veya BS komutları ile) çıkış zamanı geldiğinde, olaylar zinciri:
      • Byte PORTB çıkış.
      • <StrobeMask> Yüksek bit Porta ters.
      • (Her birim 830ns) <StrobeDelay> birimleri için bir gecikme çalıştırılır
      • Porta sonra <Init> değeri döndürülür.
      • <WaitDelay> Sıfırdan büyükse,
        • <Init> Içinde devlet haline meşgul biraz bekleyin (<WaitDelay> birimleri)
        • <Init> Içinde ne ters haline meşgul biraz bekleyin (<WaitDelay> birimleri)
      • Tekrar

  • Örnek: "BO, 55A721"
  • Paket Dönüş: "Tamam"
"BS" Komut
NOT: (09/18/08) Greg Corson Firmware D 1.4.3 Bu komut ciddi bir hata işaret etti. Komut bunların ikili veri bölümünde herhangi bir <CR> veya <LF> bayt gönderirseniz, onlar komut işleme fuctions yemiş olsun ve I / O pinlerine yapmazlar! Bu, gelecekteki bir sürümüne sabit alırsınız .


    • "BS" komutu, "Toplu Akım" için duruyor. "BO" komutu gibi, PORTB BC komut ve akarsu ham ikili bayt ayarlarını kullanır.
    • Biçim: "M.Ö. <ByteCount>, <BinaryStreamOfBytes> <CR>"
    • <ByteCount>: Bu <BinaryStreamOfBytes> bayt sayısıdır. Bu onun USB IO Kurulu <BinaryStreamOfBytes> sonuna zaman bilir ve <CR> için aramaya başlamak için nasıl Çünkü, tam bir sayı olmalıdır. Dizi <ByteCount> için kabul edilebilir değerler, 1 ile 56 (dahil).
    • <BinaryStreamOfBytes>: Tam <BinaryStreamOfBytes> bayt uzunluğunda olmalı. Bu akım PORTB dışarı göndermek istediğiniz _binary_ (ASCII) bayt. Diğer bir deyişle, değerler, 0x23, 0x49 ve 0x6A üç bayt göndermek istiyorsa, sonra <BinaryStreamOfBytes> içinde üç bayt "# Ij" olacağını ve <ByteCount> 3 olacaktır. Bu saf bir ikili olduğu için, "BO" komutu sahip olduğu düşük bant genişliği kullanımı zarar gelmez (çıkış olmak için her byte komut dizesi iki ASCII HEX bayt tarafından temsil edilmektedir). Ama bu ikili akışı içinde birçok karakter yazdırılabilir ve / veya bir terminal emülatörü ile üretmek için zor kullanmak da daha zordur.
    • Örnek: "BS, 3, # Ij"
    • Paket Dönüş: "Tamam"

Denetleyici Uygulamaları USB IO Kurulu Projeler

USB Röle Kontrol
sekiz ışıkları / cihazlar USB IO Kurulu aracılığıyla kontrol etmesini sağlar. Mikrodenetleyici Port-B PIN BC549 transistör ve sürücü 12V / 10A röleleri tarafından arabelleğe USB Termometre USB Termometre iki farklı konumda sıcaklık ölçmek için sağlar. TO-92 standart paket içinde iki Microchip MCP9700 sıcaklık sensörleri, sıcaklık ve -40 ° C ile 125 santigrat derece sıcaklığı ölçmek için örnek izin vermek için kullanılır . Sadece standart USB kablosu ve sıcaklık okumaları üzerinden bir PC bilgisayar bağlamak gelen USB Termometre yazılımı kullanılarak gösterilecektir. USB Termometre doğrudan USB portundan güç alır ve harici güç kaynağına ihtiyaç duymaz. Fahrenheit hem de Celsius derece sıcaklık okumaları görüntülenebilir USB Termometre yazılım Data Logger özelliği ile geliyor. Tarih, zaman ve sıcaklık değerlerini bir metin dosyasına kaydedilir ve Microsoft Excel ya da başka herhangi bir istatistiksel yazılım ile çeşitli grafikler oluşturmak için kullanılabilir. Yazılım sıcaklık, bir gün ikinci bir ayarlanabilir zaman her x miktarı oturum olacaktır USB Voltmetre USB Voltmetre kadar 0V için 500V voltaj ölçmek için iki gerilim girişi vardır . USB Voltmetre yazılımı dahil yoluyla Sadece standart USB kablosu ve voltaj okumaları üzerinden bir PC bilgisayar bağlamak görüntülenir. USB Voltmetre doğrudan USB portundan güç alıp ve harici güç kaynağı gerekmez USB 0-500MHz RF Güç Ölçer (AD8307) AD8307 USB 0-500MHz RF Güç Metre 1nW gelen 2W vericilerin gücünü ölçmek için sağlar. Çıkış dBm, Watt (nW uW, mW ve W aralığı) gibi giriş gerilimi görüntülenir. USB RF Güç Metre popüler AD8307 watt metre IC ve PIC18F2550 mikrodenetleyici dayanmaktadır. LCD ekran modülü kullanarak yerine metre, USB bağlantı noktası üzerinden bir PC'ye bağlanır ve USB RF Güç Ölçer yazılımı üzerinden bir bilgisayarla ölçümler görüntüler . 10-50dBm zayıflatıcı kullanmak için yazılım ayarları değişti ve böylece daha yüksek RF güç 2W ölçmek için izin olabilir. 4-Kanal MCP9700 Sıcaklık Ölçer Çıkış MCP9700sıcaklığındaki sensörler (TO-92 paket) port A0, A1, doğrudan bağlı olduğu, A2 ve A3 (PIN2, 3. Pindeki Ölçüm, PIN4, PIN5).Sensörler, doğrudan USB portuna +5 V güç çizin . Sıcaklık her saniye örneklenmiş ve Celsius ya da Fahrenheit derece görüntülenir. Test ederken MCP9700 sınırı üzerinden itti ve sensör hala santigrat 230 derecenin üzerinde sıcaklık ölçüm olduğunu şaşırdık. Yani böyle bir nispeten ucuz sensör için çok etkileyici bulunuyor! USB Volt / Amper Metre 2-Kanal USB Volt / Amper Metre 2-Kanal USB Volt Metre 4-Kanal USB Volt Metre USB Röle Countdown Timer USB Röle Countdown Timer sonra cihaz OFF açmak veya ON. Belirtilen süre. Geri sayım sayacı, UV ışık kutuları, fotoğraf, yumurta zamanlayıcı, ve birçok diğer projeler için bir maruz kalma zamanlayıcı olarak kullanılabilir . Geri sayım süresi 99.999 saat kadar güvenebilirsiniz.USB Relay Timer USB Relay Timer gün boyunca belirtilen saatte röle ON ve OFF açmak için programlanmış olabilir. Röle günlük kapalı ya da tekrarlanan sonra Timer kapatabilirsiniz. Sıcaklık Tablosu USB Sıcaklık Ölçer / Logger USB Termostat DenetleyicisiUSB LCD Denetleyicisi USB Stepper Motor Kontrolör USB RGB LED Kumanda / Sürücü USB CNC Controller

RF Power Meter with AD8307
USB Thermometer Kit with Data Logger - Electronics-DIY.com
USB Relay Controller - Electronics-DIY.com
USB Voltmeter


Windows Sürücüleri

USB IO Kurulu sürücüleri (Win 2K, XP, Vista, Win 7) Electronics-DIY.com - USB IO Board Drivers - Drivers for USB IO Board[/TD]

USB IO Kurulu / Ubuntu Linux altında

Linux Ubuntu altında USB IO Yönetim Kurulu nasıl kontrol etmek için burada.
Adım 1: USB IO Kurulu takın. / Dev/ttyACM0 veya / dev/ttyACM1 görünmelidir bir göz atın gidin.
Adım 2: / / dev/ttyS3 dev/ttyACM0 simgesel bir bağlantı oluşturmak gtkterm konuşmak böylece
Adım 3: gtkterm kadar çalıştırın, tırnak ve ENTER tuşuna basın olmaksızın "V" tipi, / dev/ttyS3 bağlayın. Firmware sürümü geri almak ve bu herşey güzel çalışıyor kanıtlıyor. Linux Ubuntu altında PHP kullanarak internet üzerinden uzaktan kontrol USB IO Kurulu:


<? Php "php_serial.class.php";


/ / Sınıf başlayalım
$ seri = new phpSerial;
/ / İlk olarak aygıt belirtmelisiniz. Bu hem linux ve windows üzerinde çalışır (eğer
COM1 / / linux seri aygıt / dev/ttyS0, vb.)
seri-> deviceSet ("/ dev/ttyS3");
/ / Sonra bunu açmak için gereken
seri-> deviceOpen ();
/ / Içine yazmak için
seri-> sendMessage ("V \ n");
/ / Veya okumak için
$ = ABD doları seri-> readPort () okuyun;
echo "çıktı: \ n $ read \ n";
/ / Konfigürasyon değiştirmek istiyorsanız, cihaz kapalı olmalıdır
seri-> deviceClose ();
>

İndir php_serial.class.php http://www.electronics-diy.com/downloads_x/php_serial.class.txt
Not: linke sağ tıklayın ve bilgisayarınıza kaydetmek için "Farklı Kaydet Link" seçin.

USB IO Kurulu Kiti

Programlanır ve kullanıma hazır USB IO Kurulu kiti PIC18F2455 / PIC18F2550 mikrodenetleyici
Elektronik- yapı marketinde .Daha fazla bilgi için bağlantıya bakınız.
 

firzen

Bölüm Yöneticisi
Yönetici
Bölüm Yöneticisi
Katılım
14 Tem 2010
Mesajlar
359
Puanları
8
Yaş
30
Konum
Sheffield
iPad den yazıyorum yanlış yazdım kusura bakmayın çok güzel yazmışsınız olacaktı :)
 
Katılım
23 May 2012
Mesajlar
14
Puanları
1
Yaş
43
Eline sağlık
 

Benzer Konular

Forum istatistikleri

Konular
116,785
Mesajlar
822,403
Kullanıcılar
425,684
Son üye
mühendismiş

Yeni konular

Üst