NRF24L01 için Uzantı Oluşturma Sorunum | My Problem Creating an Extension for NRF24L01


#1

İyi çalışmalar. Ben Bilişim Teknolojileri Öğretmeniyim. Öğrencilerimin Arduino ile NRF24L01 kullanmayı daha kolay öğrenmeleri için uzantı geliştirmek istiyorum.
Daha önce DS18B20 sıvı sıcaklık sensörü için uzantı oluşturdum. Sorunsuz yüklendi ve çalıştı. Bu Sensör için OneWire kütüphanesi ekledim.
Ancak NRF24L01 için arduino ide de kullandığım kütüphaneleride aynı şekilde yükleyip uzantıyı oluşturmama rağmen yükleme esnasında derleme hatası alıyorum. mBlock tarafından oluşturulan ArduinoC kodunu kopyalayıp , Arduino IDE ye yapıştırdığımda kod derleniyor ve arduino’ya yükleniyor. Oluşturduğum uzantı ile ilgili ekran görüntülerini ve mext dosyasını paylaşıyorum. İlginiz ve cevaplarınız için teşekkürler.
Basic Conf. Screen:


Source File Screen:

Hata Görüntüsü:

Oluşan Arduino C Kodu: Kırmızı alanı sildiğimde Arduino IDE kodu derleyip yükleyebiliyor.

Mext Dosyası:
nrf-27.zip (195.9 KB)


#2

Hi MeKAnick,

I have shared your file to our engineer and they advised that you need change the #include <RF24_config.h> to #include “RF24_config.h” in the file “RF24.h”. Please give a try.


#3

@MeKAnick Merhaba sorunu çözdünüzmü hocam


#4

Evet. Artık o hatayı almıyorum. Ancak veri tipi hatası aldım şimdide kanal değerlerini atarken. Tam inceleme fırsatım olmadı. Bu akşam tekrar inceleyeceğim. Tamamladığımda bu başlığa yazarım.


#5

Çok teşekkür ederim geribildiriminiz için. Önerdiğiniz çözümü uyguladım ve ilk mesajımdaki hatayı artık almıyorum.


#6

Yeni bir problemim var. mBlock kodları derlerken “Const uint64” veri tipini tanımlayamadı. Aşağıda hata görüntüsünü ve mBlock 'un oluşturduğu Arduino C kodunu paylaşıyorum. Bu kod Arduino IDE ile sorunsuz derlenip arduino’ya yükleniyor. Ayrıca “.mext” dosyasınıda mesajıma ekliyorum. Yardımcı olursanız sevinirim.
Hata Görüntüsü:


mBlock 'un oluşturduğu Arduino C kodu:

nrf-37.zip (195.9 KB)


#7

Hi MeKAnick,

Here are some suggestion from our engineer to you for reference:

  1. The LL is not hex, so it can’t be used in this way:
    image
  2. The uint64_t is numeric types, while the “0xF0F0F0F0E3LL” is string type. Type definition error. You need delete the double quotes, which means change the “0xF0F0F0F0E3LL” to 0xF0F0F0F0E3LL.
    image

Here the corrections:
image
image

Besides,please delete the LL in the default parameter 0xF0F0F0F0E3LL


#8

Detaylı çözümünüz için teşekkürler. Veri tipi problemini sayenizde çözdüm. Şimdi ise SPI kütüphanesiyle ilgili sorun yaşıyorum. begin() metoduna ulaşamıyorum. Aldığım hata görselini ve mext dosyamı paylaşıyorum. Geribildiriminiz için teşekkürler.


nrf-49.zip (195.7 KB)


#9

Hocam kolay gelsin nRF24L01 Wireless Modülunun mblock ile eklentisini ariyordum. Bu konuda calismalariniz sonuclandimi.


#10

Merhaba.Sorunu çözdüm Hatta SPI arabirimini kullanan modüller için bir kaç uzantı hazırlayıp test ettim çalıştı. uzantı kütüphanesinde meka diye aratınca çıkması lazım.


#11

Hocam mblcok 5eklentilerinde bulamadim ama nasil ulasabilirim


#12

NRF_3.zip (199.8 KB)
mext dosyasını yükledim. Sanırım bu. Uzun zamandır uzantı yazmakla ilgilenmiyorum. meka yazınca göstermesi lazım ama…


#13

Hocam teşekkurler eklentiyi buldum kurdum. Bu kodlarin kullanimi ile ilgili bir web sayfaniz veya kanaliniz varmi bana yardimci olursaniz cok sevinirim.


#14

böyle bir hata verdi nedenini söyler misiniz


#15

kodu nasıl kullanacağımızı açıklar mısınız lütfen


#16

Haklısınız. Nasıl kullanılacağı ile ilgili bir video çeksem iyi olur. İlk fırsatta bunu yapacağım. kodlarınızın ekran görüntüsünü paylaşır mısınız? İnceleyeyim.


#17

hata veren kod bu alıcı kodu


#18

bu yüklenen hata vermeyen verici kodu


#19

ilginiz için teşekkür ederim


#20

Alıcı ve gönderici kodlarının olması gereken hallerini gönderiyorum. Bu blokları bu sıralamayla kullanmalısınız. Mantık şu gönderilecek mesaj liste değişkende sayısal olmak zorunda. Sürekli olarak gönderim halinde olmalı okuma işi de sürekli olarak okuma halinde olmalı. Örneğin bir butona basıldığında 50 sayısını göndermek istiyorsanız. Sürekli tekrarlanın içine bir koşul koyup liste değişkenini butona basıldığında 50 yaparak bu gönderimi yapmalısınız. Gönderme de okuma da direk sürekli tekrarla bloğunun içinde olmalı.