Advertisement
Guest User

Untitled

a guest
Apr 28th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.39 KB | None | 0 0
  1. // SLAVE
  2.  
  3. #include <Wire.h>
  4. /*
  5. * I2C fonksiyonlarını kullanabilmek için
  6. * Wire.h kütüphanesini projemize ekledik
  7. */
  8. void setup()
  9. {
  10. Wire.begin(1);
  11. /* I2C haberleşmesi, haberleşme adresi 1 olan bir slave cihaz olarak başlatıldı */
  12. Wire.onRequest(istekGeldiginde);
  13. /*
  14. Master olan cihaz bu Arduino'dan veri istediğinde gerçekleşecek işlem seçildi
  15. */
  16. }
  17.  
  18. void loop()
  19. {
  20. /*
  21. * Tüm işlemler veri isteği geldiğinde veya yeni veri geldiğinde
  22. * yapılacağı için loop fonksiyonunun içi boş bırakılmıştır
  23. */
  24. delay(1);
  25. }
  26.  
  27. void istekGeldiginde()
  28. {
  29. /*
  30. * Eğer master bu cihazdan veri istiyor ise master cihaza "Merhaba" verisi yollanılır
  31. * Eğer bu bir sensör olsaydı "merhaba" yerine sıcaklık veya ivme verisi yollanıyor olacaktı
  32. */
  33.  
  34. Wire.write("Salamlar");
  35.  
  36. }
  37.  
  38. //////////
  39.  
  40. //MASTER
  41.  
  42. #include <Wire.h>
  43. /*
  44. * I2C fonksiyonlarını kullanabilmek için
  45. * Wire.h kütüphanesini projemize ekledik
  46. */
  47.  
  48. void setup()
  49. {
  50. Wire.begin();
  51. /* I2C haberleşmesi master olarak başlatıldı */
  52.  
  53. Serial.begin(9600);
  54. /* Bilgisayara veri yazdırabilmek için seri haberleşme başlatıldı */
  55. }
  56.  
  57. void loop()
  58. {
  59. Wire.beginTransmission(1);
  60. /* 1 adresine sahip Slave (köle) cihazına veri yollanacağı bildiriliyor */
  61. Wire.write("a");
  62. /* a karakteri slave cihaza yollanıyor */
  63. Wire.endTransmission();
  64. /* Yollanacak verilerin bittiği bildiriliyor */
  65. /* a karakteri slave cihazda LED'i yak anlamına gelecektir */
  66.  
  67. delay(1000);
  68.  
  69. Wire.beginTransmission(1);
  70. /* 1 adresine sahip Slave (köle) cihazına veri yollanacağı bildiriliyor */
  71. Wire.write("b");
  72. /* b karakteri slave cihaza yollanıyor */
  73. Wire.endTransmission();
  74. /* Yollanacak verilerin bittiği bildiriliyor */
  75. /* b karakteri slave cihazda LED'i sondur anlamına gelecektir */
  76.  
  77. delay(1000);
  78.  
  79. Wire.requestFrom(1, 7);
  80. /* 1 adresine sahip slave (köle) cihazından 7 BYTE'lık veri bekleniyor */
  81. char gelenKarakter;
  82. /* I2C hattından gelen veriler gelenKarakter değişkenine yazdırılacak */
  83. while(Wire.available()){
  84. /* I2C hattında yeni veri olduğu sürece döngü devam edecek */
  85. gelenKarakter = Wire.read();
  86. /* I2C hattından gelen veriler okunuyor */
  87. Serial.print(gelenKarakter);
  88. /* Gelen veriler ekrana yazdırılıyor */
  89. }
  90. Serial.println();
  91.  
  92. delay(1000);
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement