Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

esp8266

Başlatan makine_terbiyecisi, 28 Kasım 2017, 16:03:38

makine_terbiyecisi

Merhaba arkadaşlar,
Elimde esp8266 var. Bununla arduino üzerinden haberleştirme yaptım. Ama asıl projemi pic ile yapmam gerekiyor. Denedim ama sağlıklı sonuçlar alamadım. Bu konu ile daha önce çalışmış yada yardımcı olabilecek arkadaşlar var mı? Bunun rs232 kısmını sanırım hallettim ama tam emin olamadım.
Yapmak istediğim esp8266'ya AT komutları yollamak ve esp8266'nın vereceği cevapları alıp lcdye yazdırmak.

edit: picproje olarak en tembel olduğumuz alan sanırım iot :)

iyi çalışmalar.

Pic     : 18f4431
modül: esp8266
# ÖĞRENELİM, ÖĞRETELİM #

kudretuzuner

Merhaba,
esp8266'yı tam çözemedim.Bu ürünü almayı ve de kullanmayı düşünüyorum.Siz 8266 yı çözdüğünüze göre çalışmasını bana bir anlatıverirseniz PIC'ten istediğiniz kadar bir byte lık dataları yollayacak asm kodlarını yazmaya çalışayım.Çünkü ben de çalışmakta olduğum projemde PC PIC arası haberleşmede FT232R ile USB haberleşmesi yapıp PIC'e 18 bit data girişini PC'ye aktarıp işlemekteyim. PC'den de karttaki
14  röleyi kontrol yapmaktayım.esp8266 sisteme dahil olursa PC PIC haberleşmesi internet ortamına taşınacak ben de bu projeyi bitirmiş olacağım.
https://www.robotistan.com/nodemcu-lolin-esp8266-gelistirme-karti
Amatör

makine_terbiyecisi

Alıntı yapılan: kudretuzuner - 28 Kasım 2017, 17:04:02
Merhaba,
esp8266'yı tam çözemedim.Bu ürünü almayı ve de kullanmayı düşünüyorum.Siz 8266 yı çözdüğünüze göre çalışmasını bana bir anlatıverirseniz PIC'ten istediğiniz kadar bir byte lık dataları yollayacak asm kodlarını yazmaya çalışayım.Çünkü ben de çalışmakta olduğum projemde PC PIC arası haberleşmede FT232R ile USB haberleşmesi yapıp PIC'e 18 bit data girişini PC'ye aktarıp işlemekteyim. PC'den de karttaki
14  röleyi kontrol yapmaktayım.esp8266 sisteme dahil olursa PC PIC haberleşmesi internet ortamına taşınacak ben de bu projeyi bitirmiş olacağım.
https://www.robotistan.com/nodemcu-lolin-esp8266-gelistirme-karti

Evet donanım olarak çözdüm. Ama halen olaya tam vakıf değilim. Elimdeki projeyi bitirecek olursam çalışmalarımı paylaşacağım.
# ÖĞRENELİM, ÖĞRETELİM #

LukeSkywalker

Arkadaşlar , ESP8266'yı harici bir mikrodenetleyici ile birlikte kullanmanıza gerek yok. ESP8266 zaten başlıbaşına bir mikrodenetleyici.
https://mikrodunya.wordpress.com/2017/08/23/nodemcu-ve-basit-bir-uygulama/

makine_terbiyecisi

Alıntı yapılan: LukeSkywalker - 28 Kasım 2017, 17:46:10
Arkadaşlar , ESP8266'yı harici bir mikrodenetleyici ile birlikte kullanmanıza gerek yok. ESP8266 zaten başlıbaşına bir mikrodenetleyici.
https://mikrodunya.wordpress.com/2017/08/23/nodemcu-ve-basit-bir-uygulama/

Gerek yok dediğin halde Arduino ile kullanıyorsun.  :-\
# ÖĞRENELİM, ÖĞRETELİM #

makine_terbiyecisi

Esp8266'ya data gönderiyorum ama cevap tam alamıyorum. Haberleşmede mi sıkıntı var anlamadım. Pic18f4431 ile kodluyorum. osiloskoptan rx tx sinyalinin oluştuğunu görüyorum fakat pic ile alamadım.

yardımcı olacak arkadaşlara şimdiden teşekkürler.

#include <blink.h>
#include <string.h>
#include <stdlib.h>

#use rs232(UART1, baud=115200, xmit = PIN_C6, rcv = PIN_C7, parity=N, bits=8, stream=WIFI_ESP, errors) //xmit = PIN_C6,rcv = PIN_C7

#use fast_io(b)
#use fast_io(c)
#use fast_io(d)

#define LCD_ENABLE_PIN PIN_C4
#define LCD_RS_PIN     PIN_D2
#define LCD_RW_PIN     PIN_D3
#define LCD_DATA4      PIN_C5
#define LCD_DATA5      PIN_D4
#define LCD_DATA6      PIN_D5
#define LCD_DATA7      PIN_D6
#include <lcd.c>

lcd_init();

//*********************************************

char wifi_buff[512];


// ***********  FONKSIYONLAR  *****************
void lcd_clear_L1(){
   lcd_gotoxy(1,1);
   printf(lcd_putc,"                ");
   lcd_gotoxy(1,1);
}
void lcd_clear_L2(){
   lcd_gotoxy(1,2);
   printf(lcd_putc,"                ");
   lcd_gotoxy(1,2);
}

unsigned int say = 0;
#int_timer0
void blink(){
   set_timer0(0);
   say++;
   if(say == 5){
      output_toggle(pin_B6);
      say = 0;
   }
}

void Clear_esp_buf(void){
    printf(lcd_putc,"\fesp_buf\nclearing..");
    delay_ms(500);
    unsigned int i;
    for(i=0; i < 100; i++){
      if (wifi_buff[i] == '\0')
         break;
      else
         wifi_buff[i] = '\0';
    }
}

void main(){
   setup_CCP1(CCP_OFF);
   setup_CCP2(CCP_OFF);
   setup_adc(adc_off);
   
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256|RTCC_8_bit); //13,1 ms overflow
   set_timer0(0);
   
   disable_interrupts(INT_timer0);
   enable_interrupts(GLOBAL);
   
   set_tris_b(0x00);
   set_tris_c(0x80); //C6 -> TX (output) C7 -> RX (input) (0b10000000)
   set_tris_d(0x00);
   
   output_b(0x00);
   output_c(0x00);
   
   lcd_init();
   delay_ms(10);
   printf(lcd_putc,"\fSTARTING...");
   delay_ms(500);
   
   clear_esp_buf();
   
   delay_ms(10);
   printf(lcd_putc,"\fPIC > ESP ..");
   delay_ms(500);

   int x =0;
   
   while(TRUE){
   
      printf(lcd_putc,"\fData Send ...");
      fprintf(WIFI_ESP, "AT\r\n");
      //printf(lcd_putc,"\nData!");
      
      gets(wifi_buff);
      printf(lcd_putc,"\fData Receiver!");
      
      x = strlen(wifi_buff);
      delay_ms(1000);
      printf(lcd_putc,"\f%s", wifi_buff);
      delay_ms(1000);
      printf(lcd_putc,"\f%d", x);
      delay_ms(1000);      
   }
}
# ÖĞRENELİM, ÖĞRETELİM #

kimlenbu

esp8266 ailesiden esp12'yi ele alırsak 80MHz'lik denetleyici içeriyor. SPI, I2C, USART, ADC var. GPIO sayısı az ama çoğu ufak iş için fazlasıyla yeterli. En kolay programlama ortamı arduino, hiç at komutlarıyla seri port üzerinden cebelleşmeye gerek yok.

Freelance işlerimde en çok kullandığım denetleyici, tecrübesizseniz biraz üzebilir. Düşük güç tüketimli cihaz tasarlamanız gerekiyorsa gene üzebilir, uyku modlarını kullanmak da biraz tecrübe istiyor.

Bunun dışında ne yapmak istiyorsanız zaten kodu hazır, sadece kütüphaneleri ekleyip kodu uyarlamanız yeterli.

makine_terbiyecisi

Alıntı yapılan: kimlenbu - 29 Kasım 2017, 11:32:33
esp8266 ailesiden esp12'yi ele alırsak 80MHz'lik denetleyici içeriyor. SPI, I2C, USART, ADC var. GPIO sayısı az ama çoğu ufak iş için fazlasıyla yeterli. En kolay programlama ortamı arduino, hiç at komutlarıyla seri port üzerinden cebelleşmeye gerek yok.

Freelance işlerimde en çok kullandığım denetleyici, tecrübesizseniz biraz üzebilir. Düşük güç tüketimli cihaz tasarlamanız gerekiyorsa gene üzebilir, uyku modlarını kullanmak da biraz tecrübe istiyor.

Bunun dışında ne yapmak istiyorsanız zaten kodu hazır, sadece kütüphaneleri ekleyip kodu uyarlamanız yeterli.

arduino da çalıştırdım zaten. Ben pic ile yapmak istiyorum. İlerde endüstriyel projeye dönüştüreceğim için maliyet benim için oldukça önemli. Dolayısı ile arduino kullanamam.
İyi çalışmalar.
# ÖĞRENELİM, ÖĞRETELİM #

polleme

#8
Alıntı yapılan: makine_terbiyecisi - 29 Kasım 2017, 12:19:53
arduino da çalıştırdım zaten. Ben pic ile yapmak istiyorum. İlerde endüstriyel projeye dönüştüreceğim için maliyet benim için oldukça önemli. Dolayısı ile arduino kullanamam.
İyi çalışmalar.

Arduino'yu kart olarak almak zorunda değilsiniz ki. Arduino dediğiniz temelde Atmega328 ve bunun türevi olan işlemcilerdir. Bir Atmega328 alın, Arduino bootloader yükleyin, işte size Arduino hazır. Kendi devrenizi kendiniz bunun yanına tasarlayın.

https://www.arduino.cc/en/Main/Standalone

Atmega328 ise yaklaşık 1,30 USD

https://www.aliexpress.com/item/Free-Shipping-10PCS-LOT-atmega328p-au-atmega328p-atmega328-QFP32-In-stock-Best-price-High-quality-Hot/1560784229.html?spm=2114.search0104.3.1.fRp3J7&ws_ab_test=searchweb0_0,searchweb201602_4_10152_10065_10151_10344_10068_10130_10345_10324_10342_10547_10343_10340_10341_10541_10190_10562_10084_10083_10307_10303_5080011_10539_10312_10059_10313_10314_10184_10534_10533_100031_10604_10603_10103_10594_10557_10596_10595_10142_10107,searchweb201603_14,ppcSwitch_5&algo_expid=1ba66efd-149d-4b6d-9a6f-15b74510d363-0&algo_pvid=1ba66efd-149d-4b6d-9a6f-15b74510d363&rmStoreLevelAB=4


mehmet

Arduino IDE üzerinden direk programlayabilirsiniz
madem maliyet önemli.

Arduino IDE ile Arduino hep karıştırılıyor...


LukeSkywalker

#10
Alıntı yapılan: makine_terbiyecisi - 29 Kasım 2017, 10:51:52
Gerek yok dediğin halde Arduino ile kullanıyorsun.  :-\
Yazıyı okumadan direk buraya yorum yazmışsın.  Ne desem bilemedim.