Merhaba arkaşalar, daha nce bahsettiğim ayfonda bile olmayan muhteşem zellik sıcaklık lçme devresini tamamladım. Video: http://www.youtube.com/watch?v=tOtGNDLUCb8 Şimdiki hedefim iki pic arasında veri alışverişi. Bu yapmak istememin sebebi kullandığım pic'de 16 giriş çıkış pini var ve LCD 7 tanesini kullanıyor. pic'lerden birini sadece LCD'yi çalıştıracak şekilde programlamak istiyorum. Bylelikle eğer mümkünse diğer pic'de istediğim işlemleri yapıp ekrana yazmak istediklerimi tek pinden LCD'yi çalıştıran pic'e gndermek ve onun ekrana yazmasını sağlamış olacağım. Bundan sonra da nce 2 sıcaklık sensrü bağlayacağım sonra daha fazlası için programı geliştireceğim. Şu an tek sensr var, fakat birden fazla bağlayınca hepsinden aynı anda veri alabilmek için nce device id'lerini okumak falan gerekiyormuş. 2'den fazla sensrden okuma yaptıktan sonra da ğrenmek istediğim konu RTOS ama sanırım bu askerlikten sonraya kalacak. Kodlar: main. c #include <16F628A. h> #FUSES NOWDT, INTRC_IO, NOPUT, NOPROTECT, NOBROWNOUT, NOMCLR, NOLVP, NOCPD #use delay(clock=4000000) #include "C:\Users\Emre\Desktop\pic proje\ccs temp\flex_lcd. c" #include "C:\Users\Emre\Desktop\pic proje\ccs temp\ds18b20. c" void main { float temperature; lcd_init ; delay_ms(10); lcd_putc("\fDS18B20\noverbite"); delay_ms(1000); while } ds18b20. c: #define ONE_WIRE_PIN PIN_A1 void onewire_reset void onewire_write { int count; for (count=0; count<8; ++count) } int onewire_read { int count, data; for (count=0; count<8; ++count) return ; } float ds1820_read { int8 busy=0, temp1, temp2; signed int16 temp3; float result; onewire_reset ; onewire_write(0xCC); onewire_write(0x44); while (busy 0) onewire_reset ; onewire_write(0xCC); onewire_write(0xBE); temp1 = onewire_read ; temp2 = onewire_read ; temp3 = make16(temp2, temp1); result = temp3 / 16.0; delay_ms(200); return ; } flex_lcd. c: #define LCD_DB4 PIN_b4 #define LCD_DB5 PIN_b5 #define LCD_DB6 PIN_b6 #define LCD_DB7 PIN_b7 #define LCD_E PIN_b0 #define LCD_RS PIN_b2 #define LCD_RW PIN_b1 #define LCD_CGRAM_ADDR 0x40 // Set the CGRAM address #define LCD_DDRAM_ADDR 0x80 #define USE_LCD_RW 1 // #define lcd_type 2 #define lcd_line_two 0x40 #define LCD_CHAR_1 0x01 #define LCD_CHAR_2 0x02 #define LCD_CHAR_3 0x03 #define LCD_CHAR_4 0x04 #define LCD_CHAR_5 0x05 #define LCD_CHAR_6 0x06 #define LCD_CHAR_7 0x07 #define LCD_CHAR_8 0x08 int8 const LCD_INIT_STRING = ; // void lcd_send_nibble(int8 nibble) #ifdef USE_LCD_RW int8 lcd_read_nibble #endif // #ifdef USE_LCD_RW int8 lcd_read_byte #endif // void lcd_send_byte(int8 address, int8 n) void lcd_setcursor_vb // void lcd_init { int8 i; output_low ; #ifdef USE_LCD_RW output_low ; #endif output_low ; delay_ms(15); for(i=0 ;i < 3; i++) lcd_send_nibble(0x02); for(i=0; i < sizeof ; i++) } // void lcd_gotoxy(int8 x, int8 y) // void lcd_putc { switch } // #ifdef USE_LCD_RW char lcd_getc(int8 x, int8 y) #endif ulan bir susar mısın?

sd kart okuma işi biraz zor hocam ama yapılır http://mega-mp3.googlecode.com/files/mmc_sd_memory_card_driver_technical_manual. pdf bu konuda türkçe kaynak bulmak zor, ben de daha nce araştırmıştım bi proje için. bir tane türk kitap yazmış ama o da ingilizce :) http://tr. scribd.com/doc/50925747/SD-Card-Projects-Using-the-PIC-Microcontroller unbalanced tarafından 22/Şub/13 16:48 tarihinde düzenlenmiştir Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

Sağolasın hocam, sıcaklığa gre alarm işi artık veriyi alabildikten sonra programa bakıyor o yüzden fazla zaman kaybetmeden diğer temel işlemleri ğrenmeyi istiyorum. Dediğiniz gibi kesmeleri ğrenmem lazım. Bir de elimde max232 entegresi var onu kullanarak pc ile iletişimi de halledersem gerisi kolay gibi . Verdiğiniz linkteki sensr de güzelmiş nem değerini de veriyor. Aslında benim için daha ğrenecek çok şey var. devreye sd kart bağlayabilmek istiyorum log tutabilmek için, onun için fat32 dosya sistemini iyi bilmek gerekir diye okumuştum ama o kadar ileri gidecek zamanım yok. ulan bir susar mısın?

kesmeleri arşatır hocam. sensr olarak daha kaliteli bir şey kullanabilirsin. bunların fiyatı nedir bilmiyorum, arkadaşa bi sensr aldık 35 liraydı ama çok daha stabil. istersen resimleri falan vardı ekleybilirm buraya.. sadece sıcaklık lçümü değil de, mesela sıcaklık şu seviyeye geldiğinde alarm çalsın v. s. gibi bi şey yapabilirsin. bahsettiğim sensr sht11, nem, sıcaklık ve bi şeyi daha lçüyordu djital olarak çalışıyor hatırladığım kadarıyla.. https://www.google.com.tr/search?q=lm35&aq=f&um=1&ie=UTF-8&hl=tr&tbm=isch&source=og&sa=N&tab=wi&authuser=0&ei=rXwnUeumA-mj0QXw_IAQ&biw=1280&bih=673&sei=sXwnUf3uD-3M0AWA1oD4CA#um=1&hl=tr&safe=off&authuser=0&tbm=isch&sa=1&q=sht11&oq=sht11&gs_l=img.3..0l2j0i24l8.1566.2472.0.2820.5.5.0.0.0.0.218.883.0j4j1.5.0...0.0...1c.1.4. img. mXsHoL6CnZc&bav=on.2, or. r_gc. r_pw. r_qf.&fp=93fe5369d9d06547&biw=1280&bih=709 burda rneklerlerine bi bak.. eğer profesyonel bir şey yapacağım diye bu sensrü alırsan pinlisini almaya çalış. pinsiz olana lehim yapamazsın normal havya ile, havalı havya gerekli :) arkadaştaki pinsizdi yapamadık bi türlü. en son bi elektronikçide vardı o şekilde halloldu. bu şekil uğraşma yani küçük bi şey zaten kolay gelsin Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.