Çok sayıda RF vericiden alıcıya tek yönlü haberleşmede ekran ekleme

USTALARDAN BİR RİCAMIZ DAHA OLABİLİR Mİ?

Yukarıdaki konu ile ilgili olarak Lcd ekrana yazdırma işlevini lcd ekrana değil de TM1637 display module nasıl yazdırabilirim? Sadece bir ve iki basamaklı verici nosu yazdırılacak, (örneğin 3 veya 12 gibi)
Aşağıdaki kodlama fotoğrafında lcd için çalışan kodlamadan İlgili kütüphaneleri ve kodlamaları kaldırdım. TM1637 için olanı vs. indirdim. Örnek kodlamaları falan inceledim, ama sonuç alamadım. Uğraşlarıma rağmen başaramadım.

Fotoğraftaki kodlamanın 28-29-30-31. lcd yazdırma satırları yerine geçecek ve bu yazdırmayı TM1637'ye yapacak setup ve loop kodlama satırlarına eklenecek kod satırları önerisine ihtiyacım var. Yardımcı olabilecek arkadaşlara şimdiden teşekkürler.

NOT: Lcd ye yazdırdın ya, ne ihtiyacın var? sorusuna cevap ise 2 adet lcd yüksekten düşürülüp bozulmuştur. elimde 4 pinli tm 1637 modül var. Onu kullanmak istedim.
 

Ekli dosyalar

  • TM1637.jpg
    11.3 KB · Görüntüleme: 0
TM1637 'nin örneklerine bakın.
Hangi kütüphaneyi yüklediyseniz;
Dosya/Örnekler menüsü altında ilgili
örneği bulacaksınız.
 
Sayın Mehmet Bey;
Baktım, inceledim. Kütüphanenin birinde tek bir örnek var, amacıma uygun değildi. Bir diğerinde ise sayı artırma, saat modülü çalıştırma gibi örnekler. Bu örneklerden bazı satırları alıp yerleştirmeye çalıştım ama olmadı.
Benim zorlandığım yer if komutunu, 6 haneli seri port ekranına gelen rf sinyaline göre ön şart satırı yazarak atadığımız bir veya iki haneli sayıyı yazdırmak. Hani Lcd ekrana yazdırırken "SİNYAL KODU xxxxxx İSE EKRANA 4 YAZDIR" biçimindeydi. İşte orasını başaramıyorum.
 
/*
Printing numbers example

Demonstrate a couple different ways nubers can be printed: positive, negative,
with padding and with rollover.


The circuit:
* connect TM1637 pin CLK to Arduino pin D4
* connect TM1637 pin DIO to Arduino pin D5
* connect TM1637 pin Vcc to Arduino pin 5V
* connect TM1637 pin GND to Arduino pin GND

Created 22 June 2020
By Bram Harmsen

https://github.com/bremme/arduino-tm1637

*/

// include the SevenSegmentTM1637 library
#include "SevenSegmentTM1637.h"
#include "SevenSegmentExtended.h"

/* initialize global TM1637 Display object
* The constructor takes two arguments, the number of the clock pin and the digital output pin:
* SevenSegmentTM1637(byte pinCLK, byte pinDIO);
*/
const byte PIN_CLK = 4; // define CLK pin (any digital pin)
const byte PIN_DIO = 5; // define DIO pin (any digital pin)
SevenSegmentExtended display(PIN_CLK, PIN_DIO);

// run setup code
void setup() {
Serial.begin(9600); // initializes the Serial connection @ 9600 baud
display.begin(); // initializes the display
display.setBacklight(100); // set the brightness to 100 %
display.print("INIT"); // display INIT on the display
delay(1000); // wait 1000 ms
};

// run loop (forever)
void loop() {

// print positive numbers
display.print("PRINT POSITIVE NUMBERS");
delay(1000); // wait 1000 ms
for (int16_t number=0; number < 2000; number++) {
display.printNumber(number);
delay(1);
};


yukarıdaki kodlamanın bazı satırlarından faydalanmaya çalıştım ama olmadı.
 
Kodunuzu da paylaşın. Ama lütfen kod
tagını kullanın.
Üstteki mesajınızdaki kodları da kod tagı
altına alın. Yardım edelim ama kodları
yeniden yazmayalım.
Dikine üç noktaya tıklayın. </> simgesini
seçin ve kodunuzu yapıştırın.
 
int vericikodu; #include <RCSwitch.h> #include <Wire.h> #include <TM1637Display.h> #define CLK 7 #define DIO 6 #define TEST_DELAY 1000 int counter = 0; TM1637Display display(CLK, DIO); RCSwitch mySwitch = RCSwitch(); void setup() { Serial.begin(9600); display.setBrightness(0x02); } void loop() { mySwitch.enableReceive(0); display.showNumberDec(counter, false); counter++; if (mySwitch.available()) { unsigned long int num = mySwitch.getReceivedValue(); Serial.println("vericikodu;" + String(num)); switch (num) { case 7201636: mySwitch.disableReceive(); ??????????????????; case 15198372: mySwitch.disableReceive(); ???????????????; case 12804004: mySwitch.disableReceive(); ????????????????; } mySwitch.resetAvailable(); mySwitch.enableReceive(0); }}
uğraşılarımın sonunda pes ettiğim soru işaretli kısım idi ve son durum buydu mehmet bey. (yukarıdaki test delay vs. hepsi ekranda bir sayı görsem oradan yürürüm diye kaldı
 
Son düzenleme:
C:
#include <RCSwitch.h>
#include <Wire.h>
#include <TM1637Display.h>


#define CLK 7
#define DIO 6
#define TEST_DELAY   1000

int counter = 0;
int vericikodu;
unsigned long int num;

TM1637Display display(CLK, DIO);
RCSwitch mySwitch = RCSwitch();

void setup()
{
    Serial.begin(9600);
    display.setBrightness(0x02);
}


void loop()
{
    mySwitch.enableReceive(0);
    //display.showNumberDec(counter, false);
    //counter++;
 

    if (mySwitch.available())
    {
        num = mySwitch.getReceivedValue();
        Serial.println("vericikodu;" + String(num));
        
        switch (num)
        {       
            case 7201636:
                mySwitch.disableReceive(); //??????????????????;
                display.showNumberDec(1, false);
                break;
              
            case 15198372:
                mySwitch.disableReceive(); //???????????????;
                  display.showNumberDec(2, false);
                break;

            case 12804004:
                mySwitch.disableReceive(); //????????????????;
                display.showNumberDec(3, false);
                break;
            default:
                break;         
        }

        mySwitch.resetAvailable();
        mySwitch.enableReceive(0);
    }
}
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…