Stap 2: De Code
Als u gebruik wilt maken i2c apparaten is het het beste om te begrijpen hoe de code werkt anders zult hebben vele problemen op de weg.
I2C wordt afgehandeld met behulp van de Arduino draad bibliotheek.
Om te begrijpen van de i2c zult u hoeft te doen een beetje van de lezing. Verwacht te worden zeer verward op het eerste. Als u van plan bent te doen is alle intermediaire en geavanceerde elektronica leren i2c absoluut noodzakelijk.
Ik zal proberen te geven van een zeer eenvoudige uitleg van i2c.
Een ding zul je, als je begint te werken met elektronica, is dat je altijd een puinhoop van draden. Een lange tijd geleden "hel met al deze draden - wij hebben een manier voor alle apparaten om te praten met elkaar met slechts twee draden nodig", aldus Phillips. Kort daarna is i2c gemaakt. Nu kun je kopen i2c-chips die enkel over alles doen, en alle deze chips zijn in staat om te communiceren met elkaar met behulp van slechts twee draden. I2C wordt vaak de 'twee-draads interface' genoemd.
Dus hoe deze apparaten met elkaar praten? Nou, hebben ze allemaal een adres, veel dat je een postadres bij uw huis hebt. Met dit unieke adres kunt u praten met elk apparaat afzonderlijk. De Arduino, die zou de meester-i2c-device, kan de individuele slave-i2c-apparaten met behulp van een fancy communicatieprotocol instructies verzenden. In de Arduino, de verzenden-mededeling ziet er als volgt:
Wire.send(someDate); welke gegevens bent u dit apparaat sturen
Wire.endTransmission(); einde mededeling
En de ontvangen-mededeling ziet er als volgt uit:
byte dataReceived [2]; //a twee byte-array te houden van onze gegevens Wire.beginTransmission(aDeviceAddress); ///who u praten? Wire.endTransmission(); //end communicatie Wire.requestFrom(aDeviceAddress,2); //request twee bytes aan gegevens
if(Wire.available()) { dataReceived [0] = Wire.receive(); //read byte 1 dataReceived [1] = Wire.receive(); //read byte 2 }
Het werkelijk netelige deel van i2c is interpretatie van het gegevensblad en inzicht hoe u en verwacht te ontvangen of verzenden van gegevens naar het apparaat. Bij het schrijven van de code van de i2c hebt voortdurend om te verwijzen naar het gegevensblad.
Het codebestand Arduino is die hieronder zijn toegevoegd.
Opmerking als u Arduino1.0 gebruikt
Verklaringen van het Wire.send en de Wire.receive moet worden gewijzigd in Wire.write en Wire.read