E

Çavuş
19 Şubat 2006
Tarihinde Katıldı
Takip Ettikleri
2 üye
Görüntülenme (?)
30 (Bu ay: 1)
Gönderiler Hakkında
E
2 yıl
ÜZERİNDE SENSÖR GİRİŞLERİ OLAN BİR KODU NRF24L01 EKLİYEREK VERİCİ YAPMAK
İyi akşamlar arkadaşlar. Bir projede takılı kaldım. Yardımcı olursanız çok sevinirim. Kullanmış olduğum kod sıcaklık ve voltaj sensörleri içeriyor. Bu veriKodu leri işleyerek 2x16 ekrana bilgi gönderiyor. Ayrıca fan devreye alıyor. Ve butonlarla menü değişiyor. Kodda bir problem yok. Gayet güzel çalışıyor. Benim istediğim kod verilerini nrf24lo1 kullanarak kablosuz olarak başka bir ardunio ve 2x16 ekrana taşımak. Orjinal kod ekranlı ve verici olacak. Diğer arduino ekranlı ve alıcı olacak. orjinal koddaki sensör girişleri ve ekran çıkış pinlerinin nrf24l01 pinleri ile çakışmaması lazım. Orjinal kodu sizinle paylaşıyorum. Umarım destek olacak bir arkadaş çıkar. Bu arada chatgpt kullandım. Fakat tam istediğim kodu veremedi. Yada ben yalnış yönlendirdim.


// PA-Monitor-SG-Lab-2GHz4-V2.ino   ---------- c 2020 by DC5ZM -------------------------------------------------------
//
// PCB for UNO and NANO are available by weber.r1@t-online.de
//
// ---------------------------------------------- include libraries --------------------------------------------------
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>
// ---------------------------------------------- define constants ---------------------------------------------------
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);  //allocate uno pins to LCD diplay pins(rs,enable,DB4,DB5,DB6,DB7)

#define ONE_WIRE_BUS 12  //  Data wire is plugged into pin 12 on the Arduino
#define TEMPERATURE_PRECISION 13
#define FAN_PIN 11
#define NO 0
#define YES 1


// ************************************************************** variables to be changed for calibration *********
// use   https://www.xuru.org/   for calculation coefficients                                   *                                                                                                             *
//                                                                           formula used:   y = a +b*x + c*x*x   *
//                                                                                                                *
float a_drv = -0.087, b_drv = 13.615, c_drv = 61.081;            // coefficients of polygon approximation DRV *
float a_fwd = 0.491, b_fwd = -1.099, c_fwd = 1.661;             //                                   ... FWD *
float a_ref = 0.491, b_ref = -1.099, c_ref = 1.661;             //                                   ... REF *
float scc_drv = 1.0, scc_fwd = 1.0, scc_ref = 1.0;              // Shift_Calibration_Curve 0.93=7%> 1.07=7%< *
float power_drv_min = 1;                                        // minimal power for calculation and display *
byte power_fwd_min = 1, power_ref_min = 1, power_drv_max = 50;  // min. power for calc. and display          *
byte temp_fan_on = 45, voltmeter_full_scale = 30;               // fan on at overtemperature, adjust att. R1 *
// ****************************************************************************************************************


unsigned long time;
uint16_t temp_integer;  // uint16_t = 16 bit integer

char temp_string[8], power_fwd_string[8], power_ref_string[8], power_drv_string[8], swr_string[8];
char pa_voltage_string[8], temp_fan_on_string[8];

float reflexion_coefficient, swr, power_fwd, power_ref, power_drv, voltage_fwd, voltage_ref, voltage_drv;
float voltage_fwd_peak = 0, voltage_ref_peak = 0, voltage_drv_peak = 0;
float temperature, tmp_old = 0, pa_voltage;

byte temp_byte, temp_bar_max = 100, power_drv_int, iii = 0;
byte menu = 1, temp_fan_on_marker;
boolean fwd_too_low = NO, ref_too_low = NO, fan_active = NO, error_fwd = NO, error_ref = NO, error_swr = NO;

OneWire oneWire(ONE_WIRE_BUS);        // Setup a oneWire instance to communicate with any OneWire devices
DallasTemperature sensors(&oneWire);  // Pass oneWire reference to Dallas Temperature

// ###################################################################################################################
void setup(void) {
  lcd.begin(16, 2);  // display with 16 colum and 2 lines
  sensors.begin();   // Start up the library
  pinMode(FAN_PIN, OUTPUT);

  read_temperature();
  lcd.print("PA M O N I T O R");
  lcd.setCursor(0, 1);  // colum, line nr.
  delay(500);
  lcd.print("TR 2024 ");
  delay(500);
  lcd.print("by ");
  delay(500);
  lcd.print("TA4DC");
  delay(1500);
  lcd.clear();
}
// ###################################################################################################################
void loop(void) {
  select_menu();
  read_temperature();
}
// ###################################################################################################################
void select_menu() {
  if (analogRead(A0) < 1000) menu++;  // if any of 5 keys pressed change menu
  while (analogRead(A0) < 1000)
    ;  // wait for key released
  if (menu > 3) menu = 1;
  if (menu == 1) menu_directional_couplers();
  if (menu == 2) menu_temperature();
  if (menu == 3) menu_supply_fan();
}
// -------------------------------------------------------------------------------------------------------------------
void menu_directional_couplers() {
  for (iii = 0; iii < 20; iii++)  // Take 20 samples and save the highest value
  {
    voltage_fwd = analogRead(A1);
    voltage_ref = analogRead(A2);
    voltage_drv = analogRead(A3);
    if (voltage_fwd > voltage_fwd_peak) voltage_fwd_peak = voltage_fwd;  // safe the peak of 10 measurements
    if (voltage_ref > voltage_ref_peak) voltage_ref_peak = voltage_ref;
    if (voltage_drv > voltage_drv_peak) voltage_drv_peak = voltage_drv;
  }
  voltage_fwd = voltage_fwd_peak;  // use peak voltage for processing
  voltage_ref = voltage_ref_peak;
  voltage_drv = voltage_drv_peak;
  // ---------------------------------------- calculate coupler values -------------------------------------------------
  voltage_fwd = voltage_fwd * 5 / 1023 * scc_fwd;  // normalize measured value FWD to 5V x scc_fwd
  voltage_ref = voltage_ref * 5 / 1023 * scc_ref;  // ... REF to 5V x scc_ref
  voltage_drv = voltage_drv * 5 / 1023 * scc_drv;  //...  DRV to 5V x scc_drv

  power_fwd = a_fwd + b_fwd * voltage_fwd + c_fwd * voltage_fwd * voltage_fwd;  // polygon approximatiion equation fwd
  if (power_fwd < 0) power_fwd = 0;                                             // avoid negativ values

  power_ref = a_ref + b_ref * voltage_ref + c_ref * voltage_ref * voltage_ref;  // polygon approximatiion equation ref
  if (power_ref < 0) power_ref = 0;

  power_drv = a_drv + b_drv * voltage_drv + c_drv * voltage_drv * voltage_drv;  // polygon approximatiion equation drv
  if (power_drv < 0) power_drv = 0;

  if (power_fwd < power_fwd_min) error_fwd = YES;  // check for errors
  else error_fwd = NO;
  if (power_ref < power_ref_min) error_ref = YES;
  else error_ref = NO;
  if ((power_fwd <= power_ref) || (error_fwd == YES) || (error_ref == YES)) error_swr = YES;
  else error_swr = NO;

  display_coupler_values();
  voltage_fwd_peak = 0;  // set peak voltages back to 0
  voltage_ref_peak = 0;
  voltage_drv_peak = 0;
}
// -------------------------------------------------------------------------------------------------------------------
void display_coupler_values() {
  lcd.setCursor(0, 0);
  lcd.print("FWD   W  REF   W");

  lcd.setCursor(4, 0);
  if (error_fwd == NO) {
    dtostrf(power_fwd, 2, 0, power_fwd_string);  //  variable for converting float type numbers
    lcd.print(power_fwd_string);
  } else {
    lcd.print("<");
    lcd.print(power_fwd_min);
  }

  lcd.setCursor(13, 0);
  if (error_ref == NO) {
    dtostrf(power_ref, 2, 0, power_ref_string);  //  variable for converting float type numbers
    lcd.print(power_ref_string);
  } else {
    lcd.print("<");
    lcd.print(power_ref_min);
  }

  // ....................................................  line 2 of lcd display  ......................................
  lcd.setCursor(0, 1);
  lcd.print("DRV   mW SWR    ");

  lcd.setCursor(4, 1);
  if ((power_drv < power_drv_max) && (power_drv >= power_drv_min)) {
    dtostrf(power_drv, 2, 0, power_drv_string);  //  variable for converting float type numbers
    lcd.print(power_drv_string);
    lcd.setCursor(2, 1);
    lcd.print("V");
  }

  if (power_drv < power_drv_min) {
    lcd.setCursor(5, 1);
    lcd.print(power_drv_min);
    lcd.setCursor(4, 1);
    lcd.print("<");
    lcd.setCursor(6, 1);
    lcd.print("mW ");
  }

  if (power_drv >= power_drv_max) {
    lcd.setCursor(4, 1);
    lcd.print(power_drv_max);
    lcd.setCursor(3, 1);
    lcd.print(">");
  }

  if (error_swr == NO) {
    lcd.setCursor(13, 1);
    {
      reflexion_coefficient = sqrt(power_ref / power_fwd);  // calculate SWR
      if (reflexion_coefficient <= 0.8) {
        swr = (1 + reflexion_coefficient) / (1 - reflexion_coefficient);
        dtostrf(swr, 2, 1, swr_string);
        lcd.print(swr_string);  // display SWR
      } else lcd.print(">10");  // SWR too high
    }
  } else  // display PA temperature
  {
    dtostrf(temperature, 2, 0, temp_string);
    lcd.setCursor(9, 1);
    lcd.print("TMP   \xDF");
    lcd.setCursor(13, 1);
    lcd.print(temp_string);
    if (fan_active == YES) {
      lcd.setCursor(15, 1);
      delay(150);
      lcd.print(" ");
      delay(150);
    }
  }
  delay(200);
}
// -------------------------------------------------------------------------------------------------------------------
void menu_temperature() {
  dtostrf(temperature, 4, 1, temp_string);  //  variable for converting float type numbers
  lcd.setCursor(0, 0);                      // colum, line nr.
  lcd.print("PA TEMP.: ");
  lcd.print(temp_string);
  lcd.print("\xDF");  // character sign °
  lcd.print("C");

  // ....................................................  line 2 of lcd display  ......................................
  lcd.setCursor(0, 1);
  lcd.print("0____________100");
  lcd.setCursor(1, 1);
  if (temperature < 0) temperature = 0;
  if (temperature > 100) temperature = 100;
  temp_byte = temperature;

  temp_byte /= 7.14;                                         // 0 to 100 normalized to0 bis 14
  for (iii = 0; iii <= temp_byte; iii++) lcd.print("\xFF");  // \xFF = special character black rectangle

  if (fan_active == YES) {
    lcd.setCursor(14, 0);
    delay(150);
    lcd.print(" ");
    delay(150);
  }
  delay(250);  // delay prevents flickering of the display
}
// -------------------------------------------------------------------------------------------------------------------
void menu_supply_fan()

{
  pa_voltage = 0;
  for (iii = 0; iii < 10; iii++)
    pa_voltage = pa_voltage + analogRead(A4);
  pa_voltage /= 9;                                        // average of 10 measurements

  pa_voltage = pa_voltage * voltmeter_full_scale / 1023;  // adjust R1 when changing voltmeter_full_scale

  lcd.setCursor(0, 0);
  lcd.print("PWR SUPPLY     V");
  lcd.setCursor(11, 0);
  dtostrf(pa_voltage, 3, 1, pa_voltage_string);  //  variable for converting float type numbers

  lcd.print(pa_voltage_string);

  // ..........................................  line 2 of lcd display  ................................................

  lcd.setCursor(0, 1);
  lcd.print("FAN ON TMP >");

  dtostrf(temp_fan_on, 2, 0, temp_fan_on_string);  //  variable for converting float type numbers to strings
  lcd.print(temp_fan_on_string);

  lcd.print("\xDF");
  lcd.print("C");

  if (fan_active == YES) {
    lcd.setCursor(4, 1);
    delay(300);
    lcd.print("  ");
    delay(300);
  }  // flash word "ON"
}
// -------------------------------------------------------------------------------------------------------------------
void read_temperature() {
  if ((millis() - time) > 5000)  // The sensor is only read out every 5s
  {
    sensors.requestTemperatures();             // because the process takes 750ms
    temperature = sensors.getTempCByIndex(0);  // in high resolution mode.
    time = millis();
  }

  if (temperature >= temp_fan_on) {
    digitalWrite(FAN_PIN, HIGH);
    fan_active = YES;
  } else {
    digitalWrite(FAN_PIN, LOW);
    fan_active = NO;
  }
}
//
< Resime gitmek için tıklayın >



< Resime gitmek için tıklayın >


< Resime gitmek için tıklayın >
E
10 yıl
Cgpersia üyeliği yada davetiyeye ihtiyacım var.....
Merhaba arkadaşlar. Cgpersia davetiyesi verebilecek yada üyeliğini kullandırabilecek arkadaşlar yardımcı olursanız sevinirim. Bir kaç program indirmem gerekiyor. Üye olmadan linkleri göremiyorum....
E
12 yıl
TORRENT UDP TRACKER BAĞLANTI SORUNU
Merhaba arkadaşlar. Ocak ayının başından beri karşilaştığım bir sorunu sizinle paylaşmak istiyorum. Umarım yardımcı olabilirsiniz. Cünkü çözüm için çok fazla zaman harcadım ve çözüme kendi bilgilerimle ulaşamadım. Kullandığım torrent programları transmision 2.84 ve bitcomet. Sorunumun çözümü için diğer torrent programlarını denedim. Ama hiç birinden fayda alamadım. Sorunuma gelirsek torrent için tcp ve udp portlarım açılmış durumda. Sitelerden port testi yapıyorum. Aldığım sonuçlar portlar açık. Torrent linkimi ekliyorum. izleyiciler sekmesinde trackerlerin bağlantı durumuna baktığımda belli trackerlarda hep aynı sorunla karşılaşıyorum. Denemediğim torrent linki kalmadı. Hepsinde aynı hatalar. Udp portlarla ilgili bir sorunum var. Aynı problemi daha önce yaşamıştım. Bağlantı hatalarını alıyordum. Dns adresimi değiştirdiğimde aldığım hatalar düzelmişti. Ama şu an hangi dns yi denesem ip adresimi bile değiştirdim. Ama aşağıda yazmış olduğum trackerlara asla bağlanamıyorum. Bitcomette UDP Tracker no response hatası. transmision ve diğer torrent programlarında connettion failed hatası alıyorum. Yazmış olduğum sonu 80 biten trackerların hepsinde aynı sorun. Diğer udp trackerlarda sorun yok. Bu sorunla bir tek benmi karşılaşıyorum. Yoksa diğer arkadaşlar bu trackerlara bağlanabiliyormu. Şimdiden teşekkürler....

Bağlanmıyan trackerlar.....

udp://tracker.publicbt.com:80/announce
udp://tracker.openbittorrent.com:80/announce
udp://tracker.istole.it:80/announce
udp://11.rarbg.me:80/announce
udp://tracker.btzoo.eu:80/announce
udp://12.rarbg.me:80/announce sonu 80' le biten hiçbir udp tracker bağlamnmıyor


Bağlanan trackerlar......
udp://open.demonii.com:1337/announce sonu 80 farklıysa bağlanıyor........

< Resime gitmek için tıklayın >< Resime gitmek için tıklayın >
E
12 yıl
TORRENT UDP TRACKER BAĞLANTI SORUNU
Merhaba arkadaşlar. Ocak ayının başından beri karşilaştığım bir sorunu sizinle paylaşmak istiyorum. Umarım yardımcı olabilirsiniz. Cünkü çözüm için çok fazla zaman harcadım ve çözüme kendi bilgilerimle ulaşamadım. Kullandığım torrent programları transmision 2.84 ve bitcomet. Sorunumun çözümü için diğer torrent programlarını denedim. Ama hiç birinden fayda alamadım. Sorunuma gelirsek torrent için tcp ve udp portlarım açılmış durumda. Sitelerden port testi yapıyorum. Aldığım sonuçlar portlar açık. Torrent linkimi ekliyorum. izleyiciler sekmesinde trackerlerin bağlantı durumuna baktığımda belli trackerlarda hep aynı sorunla karşılaşıyorum. Denemediğim torrent linki kalmadı. Hepsinde aynı hatalar. Udp portlarla ilgili bir sorunum var. Aynı problemi daha önce yaşamıştım. Bağlantı hatalarını alıyordum. Dns adresimi değiştirdiğimde aldığım hatalar düzelmişti. Ama şu an hangi dns yi denesem ip adresimi bile değiştirdim. Ama aşağıda yazmış olduğum trackerlara asla bağlanamıyorum. Bitcomette UDP Tracker no response hatası. transmision ve diğer torrent programlarında connettion failed hatası alıyorum. Yazmış olduğum sonu 80 biten trackerların hepsinde aynı sorun. Diğer udp trackerlarda sorun yok. Bu sorunla bir tek benmi karşılaşıyorum. Yoksa diğer arkadaşlar bu trackerlara bağlanabiliyormu. Şimdiden teşekkürler....

Bağlanmıyan trackerlar.....

udp://tracker.publicbt.com:80/announce
udp://tracker.openbittorrent.com:80/announce
udp://tracker.istole.it:80/announce
udp://11.rarbg.me:80/announce
udp://tracker.btzoo.eu:80/announce
udp://12.rarbg.me:80/announce sonu 80' le biten hiçbir udp tracker bağlamnmıyor


Bağlanan trackerlar......
udp://open.demonii.com:1337/announce sonu 80 farklıysa bağlanıyor........

< Resime gitmek için tıklayın >< Resime gitmek için tıklayın >
E
14 yıl
ingilizce çeviri yadım
İyi akşamlar arkadaşlar. Ebaydan bir ürün aldım. Ürün henüz gönderilmedi. Ürünü göndericek satıcıya bir mail atmak istiyorum. Ama ingilizcem zayıf. Aşagıda yazdığım metni bana cevirebilirmisiniz? Yardımınız için şimdiden teşekkürler.

''Ebay üzerinden sitenizden alışveriş yaptım. Ürün kodum 290819058074(Sony MDR-DS6500 Digital Surround Sound Wireless Headphones w/ 328 ft. Range). Ebay hesabıma baktığımda 5 gün geçmesine rağmen ürünü yollamadığınızı görmekteyim. Trak numarası girmemişsiniz. Ürünü takip edemiyorum. Postayı ne zaman yolluyacaksınız? Ürün kutusunu yollarken üzerine hediyedir diye yazabilirmisiniz.. ''

Arkadaşlar ben yarım ingilizcemle bir mail attım. Gelen cvp ta bu...

We have just received your support request and will try to get back to
it within 1-2 business days. If you need to follow up on it, please
make sure to quote the ticket ID in the subject of your reply: [SE-
1498556-SE]. This is done automatically if you hit the
"Reply" button in your e-mail client.
E
19 yıl
TSSTCORP CD/DVDW TS-L532M TDK DVD-R SORUN
HP PAVİLİON EK 976EA LOPTOPUMDA KULLANILAN TSSTCORP CD/DVDW TS-L532M YAZICI İLE TDK DVD-R YAZMAYA CALISTIM. NORMAL YAZIM OLUYOR. FAKAT YAZDIGIM DVD MEDYAYI GÖRMEK İCİN DVD ROM TAKTIGIMDA DVD GÖREMİYORUM . SADECE TDK MARKA DVD-R OLUYOR. ACABA SORUN DVD-R OLASINDANMI KAYNAKLANIYORMU YARDIM EDERSENİZ SEVİNİRİM
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.