domenica 14 dicembre 2014

TRASMISSIONE I2C 1a parte


Premendo il pulsante (aggiungere una R da 10Kohm verso GND) su Arduino SLAVE viene trasmessa ad Arduino Master (aprire l'IDE) l'informazione "acceso" o "spento".

Gli Arduino includono la libreria Wire.h, comunicano sull'indirizzo 2 e trasmettono 6 byte.

ARDUINO MASTER CODE


      #include <Wire.h>
      #define ADDRESS 2  
      
      int NumByte =6; 
 
      void setup()
               {  Wire.begin(); 
                 Serial.begin(9600); }
      
      void loop() {
        
        Wire.requestFrom(ADDRESS, NumByte);  
        while(Wire.available())    
             {char c = Wire.read(); 
              Serial.print(c); }
       
       delay(200);
        
      }



ARDUINO SLAVE CODE

      #include <Wire.h>
      #define ADDRESS 2
      #define SWITCH  2
      

      void setup()
            { pinMode(SWITCH, INPUT);
              Wire.begin(ADDRESS);              
              Wire.onRequest(rEvent); }
      
       
      
      void loop()
      
           { delay(10); }
      
            void rEvent()
                {if (digitalRead(SWITCH) == HIGH)
                    { Wire.write("acceso");        }
                 else
                   {Wire.write("spento"); } }
      
       

Nessun commento:

Posta un commento