coolwolf / 15/01/2021

OsX Seri Port İzleme

OsX altında seri port haberleşmesini izlemek istediğimizde, Windows’ta yaptığımız gibi, Putty veya benzeri terminal programı yüklemeye ihtiyacımız yoktur. Bu işlemi OsX’in dahili “screen” komutu ile yerine getirebiliriz. Alttaki adımları izleyerek, bilgisayarınıza bağlı seri cihazın veri akışını takip edebilirsiniz.

Önce kullanılabilir portaları listeleyelim:

ls /dev/cu.*

Alttaki gibi bir çıktı almalısınız:

/dev/cu.Bluetooth-Incoming-Port	/dev/cu.usbserial-012345

Seri port dinlemeyi başlatalım:

screen /dev/cu.usbserial-012345 115200
  1. parametre Seri port adı. cu.usbserial-012345 kısmını sizin listenizdeki port ile değiştirin.
  2. 2. parametre ise band hızıdır. Dinlemek istediğiniz cihazın baud hızını yazmalısınız.

Terminal (screen) ekranından çıkmak için, önce CTR + A ardından sadece k (veya İngilizce klavyede \ (ters slash)) tuşlarını kullanabilirsiniz.

coolwolf / 16/08/2019

MicroPython machine.Pin kullanımı

Öncelikle kütüphaneyi dahil etmemiz gerekiyor:

from machine import Pin

Ardından pin nesnesi oluşturalım:

EspPin = Pin(33, Pin.IN)

Pin tetiklendiğinde çalıştırılacak fonksiyonu tanımlayalım:

def PinTrigger(p):
    print("Pin Tetiklendi:"+str(p)+"||")

Şimdi Pin.irq fonksiyonu ile pin voltajına göre nasıl tetikleme yapabileceğimize bakalım.
1. trigger=Pin.IRQ_FALLING

EspPin.irq(trigger=Pin.IRQ_FALLING , handler=PinTrigger)

Bu şekilde yaptığımızda, 33 nolu pin – (eksi) değer aldığı sürece, sürekli olarak PinTrigger fonksiyonu çalışacaktır.

2. trigger=Pin.IRQ_RISING

EspPin.irq(trigger=Pin.IRQ_RISING , handler=PinTrigger)

şeklinde kullandığımızda ise pin değeri eksiden artıya döndüğünde tetiklenir.

Mekanik butonlar durum değiştirme esnasında milisaniye aralığında dalgalanma gönderirler. Bu doğal bir sonuçtur. Bu işlemin bize yansıması, pin tetikleme foksiyonumuzun butona her basıldığıdna 3-5 defa peşpeşe tetiklenmesi şeklinde olur.
Önlem olarak, fonksiyon başında, iki tetiklenme arası 200-300 milisaniye geçmemişse fonksiyondan çık şeklinde bir sorgu koyarsak sorunumuz çözülmüş olur.