**CLUB İçerisinde Paylaşım Yaparken Dikkat Edilmesi Gereken Önemli Hususlar.** - Paylaşım yaparken Türkçe kurallarına olabildiğince uyulması, sorunuzun rahat anlaşılması ve en hızlı cevabı almanız adına, dikkat edilmesi gereken en önemli husustur. - Paylaşımlarınız da kibar ve yalın bir dil kullanmanız ve gerekirse resim ile eklenti yapmanız, doğru ve hızlı cevap almak adına önemli hususlardır. - Paylaşımları olabildiğince uygun bölümlere açarak, konu ile ilgili kişilerin daha hızlı görmesini sağlamak adına çok önemlidir. - Paylaşımlarda etiket kullanmak o sorunun daha sonra tekrar aranması adına çok önemlidir.
0 beğenilme 0 beğenilmeme
835 kez görüntülendi
microPython kategorisinde (4,270 puan) tarafından
from machine import Timer,Pin
import time


led = Pin(2, Pin.OUT)
led.off()
tim = Timer(-1)

def leds(self):

    while (True):
        led.off()
        time.sleep(0.5)
        led.on()
        time.sleep(0.5)


tim.init(period=10000, mode=Timer.PERIODIC, callback=leds)

Yukarıdaki kodu birkez gönderdiğimde tekrar bir değişiklik yapmak istediğim zaman erişemiyorum. LedBlink Yada Pwm Çalışmasında Problem Olmuyor.

3 Cevaplar

0 beğenilme 0 beğenilmeme
(1,400 puan) tarafından

While dongulu durumlarda benim de başıma gelmişti. Bu durumu aşmak icin ide de Stop tusuna basıyorum ondan sonra programda duzenleme yapıp run tusu ile yeniden çalıştırıyorum.
Kullandığım ide Thonny
Pycharm da nasıldır bilmiyorum.

(4,270 puan) tarafından

hocam pycharm ampy kullanarak dosyayı gönderiyor sadece anladığım kadarıyla.

(1,400 puan) tarafından

Olabilir hocam.
İsterseniz bir ara Thonny ide yi deneyin. Biraz nazlı dır.
Esp8266 ve Esp32 secenegi var menuden seciyorsunuz hangi kartı kullanacaksanız

Bu ide ile esp ye *. Bin dosyası da yukleyebiliyorsunuz

0 beğenilme 0 beğenilmeme
(2,780 puan) tarafından

Bu şekilde sorun yok. Her 10sn. de işini yapıyor.

from machine import Timer,Pin
import time

led = Pin(2, Pin.OUT)
led.off()
tim = Timer(-1)

def leds(self):
    while (True):
        led.off()
        time.sleep(0.5)
        led.on()
        time.sleep(0.5)
        break

tim.init(period=10000, mode=Timer.PERIODIC, callback=leds)
(4,270 puan) tarafından
    Connecting to /dev/ttyUSB0
Uploading files: 0% (0/1)
/media/kaplan/21506d48-3e9b-41b7-ac8c-dda6cd8ab549/PythonPycharmProjects/mpTimer/main.py -> main.py
Traceback (most recent call last):
  File "/home/kaplan/.PyCharmCE2019.3/config/plugins/intellij-micropython/scripts/microupload.py", line 138, in <module>
    main(sys.argv[1:])
  File "/home/kaplan/.PyCharmCE2019.3/config/plugins/intellij-micropython/scripts/microupload.py", line 79, in main
    files.put(remote_path, fd.read())
  File "/home/kaplan/anaconda3/lib/python3.7/site-packages/ampy/files.py", line 209, in put
    self._pyboard.exec_("f = open('{0}', 'wb')".format(filename))
  File "/home/kaplan/anaconda3/lib/python3.7/site-packages/ampy/pyboard.py", line 265, in exec_
    ret, ret_err = self.exec_raw(command)
  File "/home/kaplan/anaconda3/lib/python3.7/site-packages/ampy/pyboard.py", line 256, in exec_raw
    self.exec_raw_no_follow(command);
  File "/home/kaplan/anaconda3/lib/python3.7/site-packages/ampy/pyboard.py", line 253, in exec_raw_no_follow
    raise PyboardError('could not exec command')
ampy.pyboard.PyboardError: could not exec command

ilkkez yaptığımda problem yok. Ama tekrar aynı kodu göndermeye çalıştığımda yukarıdaki hatayı alıyorum.

(4,270 puan) tarafından
(2,780 puan) tarafından

ESPlorer ile "break" ekledikten sonra
bir kaç kez yolladım. Sorun çıkarmadı.

(4,270 puan) tarafından

Aşağıdaki Kodları İstediğim Kadar Gönderebiliyorum. Acaba Timer Bir şekilde Programlama Pinlerini mi Etkiliyor acaba

  from machine import Pin,PWM,Timer
    import time
    import math
    
    class TestClass:
        def __init__(self):
            self.leds(0.1)
        def pwms(self):
            led = PWM(Pin(2), freq=100)
            t=50
            for i in range(200):
                led.duty(int(math.sin(i / 10 * math.pi) * 500 + 500))
                time.sleep_ms(t)
            led.deinit()
    
        def leds(self, interval=0.2):
            led = Pin(2, Pin.OUT)
            led.off()
            for i in range(10):
                led.off()
                time.sleep(interval)
                led.on()
                time.sleep(interval)
    
    
    mytest=TestClass()
    mytest.pwms()
(2,780 puan) tarafından

Timer açıklamasında RTOS olarak kullanıldığı
yazıyordu yanlış hatırlamıyorsam. Etkiliyordur
belki...

(4,270 puan) tarafından

Çevresel ünitelerin sayısını hangi pinleri kullanabileceğimi yazan bir doküman var mı acaba ?

(4,270 puan) tarafından

GPIO2 led e bağlıymış, TX1 e orada ?

resim1

0 beğenilme 0 beğenilmeme
(2,780 puan) tarafından

İki farklı iş...

import machine
import time

machine.freq(160000000)

pinler = {16, 5, 4, 0, 2, 14, 12}

for i in pinler:
    machine.Pin(i, machine.Pin.OUT)
    machine.Pin(i).value(0)

l1 = machine.Pin(12, machine.Pin.OUT)
l2 = machine.Pin(14, machine.Pin.OUT)

def mb1():
    if(l1.value()):
        l1.off()
    else:
        l1.on()

tim = machine.Timer(-1)
tim.init(period=200, mode=machine.Timer.PERIODIC, callback=lambda t:mb1())

s = 10

try:

    while(s):
        l2.on()
        time.sleep(1)
        l2.off()
        time.sleep(1)
        print(s)
        s -= 1
except(KeyboardInterrupt):
    tim.init(callback=None)
    l1.off()
    l2.off()
    tim.deinit()
(4,270 puan) tarafından

Kodları ampy ile manuel yöntemlerle (terminalden) gönderince ve ampy get ile görmek istediğimizde aşağıdaki gibi

import machine
import time

machine.freq(160000000)

pinler = {16, 5, 4, 0, 2, 14, 12}

for i in pinler:
    machine.Pin(i, machine.Pin.OUT)
    machine.Pin(i).value(0)

l1 = machine.Pin(12, machine.Pin.OUT)
l2 = machine.Pin(14, machine.Pin.OUT)

def mb1():
    if(l1.value()):
        l1.off()
    else:
        l1.on()

tim = machine.Timer(-1)
tim.init(period=200, mode=machine.Timer.PERIODIC, callback=lambda t:mb1())

s = 10

try:

    while(s):
        l2.on()
        time.sleep(1)
        l2.off()
        time.sleep(1)
        print(s)
        s -= 1
except(KeyboardInterrupt):
    tim.init(callback=None)
    l1.off()
    l2.off()
    tim.deinit()

pycharm,Esploler,web ile gönderip ampy get ile görmek istediğimizde Aşağıdaki şekilde görünüyor. Sanki editörlerle gönderince problemli gönderiyor.

import machineimport timemachine.freq(160000000)pinler = {16, 5, 4, 0, 2, 14, 12}for z in pinler:    machine.Pin(z, machine.Pin.OUT)    machine.Pin(z).value(0)def mb1():    if(l1.value()):        l1.off()    else:        l1.on()tim = machine.Timer(-1)tim.init(period=200, mode=machine.Timer.PERIODIC, callback=lambda t:mb1())s = 10try:    while(s):        l2.on()        time.sleep(1)        l2.off()        time.sleep(1)        print(s)        s -= 1except(KeyboardInterrupt):    tim.init(callback=None)    l1.off()    l2.off()    tim.deinit()
(4,270 puan) tarafından

@Mehmet Hocam yukarıda verdiğim linkte boot.py dosyasında değişiklik yapıyor, neden ?

(2,780 puan) tarafından

Debug özelliğini açıyor. Ancak dikkat ederseniz
eski versiyon.
Repl ekranında deneme yaparken lüzumsuz
bilgiler çıkabilir.

Bu arada 2Mbitlik firmware yükledim. Ama
başarılı olmadı. STM32F4Disco daki gibi
flash alanın disk gibi görüleceği yazıyor.

...