Met behulp van de PCF8575 i2c i/o Expander te lezen ingangen met Arduino (2 / 3 stap)

Stap 2: De Code


Oke nu het eng deel - 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.beginTransmission(aDeviceAddress); //who bent u praten met?
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

Gerelateerde Artikelen

Weergave van temperatuur op LCD-scherm met behulp van STS-21(I2C)

Weergave van temperatuur op LCD-scherm met behulp van STS-21(I2C)

HalloGoede groeten..!! Ik (Somanshu Choudhary) op de rekening van Dcube tech ventures gaan voor het meten van de temperatuur met behulp van de Arduino nano en deze weer te geven op 16 X 2 LCD het is een van de toepassingen van de I2C protocol om anal
Met behulp van een LED als Indicator voor verschillende gebeurtenissen in uw systeem - Arduino

Met behulp van een LED als Indicator voor verschillende gebeurtenissen in uw systeem - Arduino

Veel systemen of machines ondergaan verschillende gebeurtenissen. Bijvoorbeeld, wanneer u de macht van uw laptopcomputer, lampje een LED-brandt om macht te tonen op staat evenement. Een andere LED licht op wanneer u de stekker in uw lader; deze ander
USS Enterprise met behulp van 123D Make

USS Enterprise met behulp van 123D Make

wat u?Ik maakte een kartonnen model van de USS Enterprise uit Star Trek met behulp van 123D maken.  Het heeft knipperende lichtjes aangedreven door een arduino. Zie de foto, omdat een foto meer dan duizend woorden.  Eenmaal geschilderd,abelled en zwe
Tekenen voor niet-Majors: met behulp van analoge en digitale tools

Tekenen voor niet-Majors: met behulp van analoge en digitale tools

denk dat u omdat u niet eenvoudig fotorealistische grafiet schetsen op de eerste poging maken niet kan tekenen? Don't worry, tekening in het echte leven is niet een gesloten boek test. Kunt u uw notities, kunt u andere mensen af, u kunt hulpmiddelen
Zin kamertemperatuur en Display in LCD met behulp van Simulink en Arduino UNO

Zin kamertemperatuur en Display in LCD met behulp van Simulink en Arduino UNO

Sensing en weergeven met behulp van Arduino kamertemperatuur is heel gebruikelijk en vindt u tal van tutorial instructablesand andere vergelijkbare sites. Maar ik heb niet gevonden een tutorial overal hoe dit te doen met behulp van Matlab/Simulink. M
Snelheidscontrole van dc motor van laptop met behulp van arduino en het verwerken van

Snelheidscontrole van dc motor van laptop met behulp van arduino en het verwerken van

Hallo iedereenIk ben vignesh raja. ik graag hier delen de toerentalregeling voor dc-motor van de computer met behulp van arduino en processing software. in dit project de processing software uitvoeren van een eenvoudige toepassingsvenster op computer
Met behulp van een Arduino te beheersen of te testen een SPI elektronisch apparaat

Met behulp van een Arduino te beheersen of te testen een SPI elektronisch apparaat

er zijn veel elektronische apparaten die gebruikmaken van de SPI bus, of Serial Peripheral Interface bus, voor communicatie (bijvoorbeeld verschillende sensoren, LCD displays, digitale potentiometers, D/A en A/D converters, draadloze zenders en ontva
Remote Controlled LED met behulp van HC-05 Bluetooth Arduino en mobiele telefoon App

Remote Controlled LED met behulp van HC-05 Bluetooth Arduino en mobiele telefoon App

Technologie vordert in razend tempo, iedereen van ons heeft slimme telefoons nu-een-dag, er zijn cool apps die laten we blijven in contact met onze vrienden en familie, krijgen van de meest recente informatie over het weer of verblijf-bijgewerkt met
Hoe om te reizen de wereld en nog steeds mobiel bericht voor 3¢ per dag met behulp van een oude iPhone

Hoe om te reizen de wereld en nog steeds mobiel bericht voor 3¢ per dag met behulp van een oude iPhone

Dit instructable zal lopen u stapsgewijs door het nemen van een oude iPhone, SIM chips omwisselen en maken een wereldwijde telefoon welk kunt cellulaire dienst in meer dan 150 landen voor het verzenden van SMS-berichten met behulp van de volgende app
Plant van de toezicht- en zorg - met behulp van de Intel Edison

Plant van de toezicht- en zorg - met behulp van de Intel Edison

Winter is hier! Volg dit instructable te controleren en het maken van een automatische controle plant water geven systeem voor uw huis planten met behulp van de Intel Edison.Controleren van de volgende omgevingsvariabelen met behulp van Xively.com te
Home Automation met behulp van de Arduino deel-ik

Home Automation met behulp van de Arduino deel-ik

Het is niet zoals alle andere domotica zoals we eerder gezien. Ze controleren apparaten op afstand wat is het verschil. Het is omdat het uit de wereld kan controleren. U kunt met behulp van elk willekeurig apparaat met internetverbinding hebben dat w
Met behulp van MikroTik Router Board 433 & Arduino twee LED's

Met behulp van MikroTik Router Board 433 & Arduino twee LED's

In deze tutorial zal ik uitleggen hoe de controle twee LED's met behulp van MikroTik router bestuur en Arduino.MikroTik 433 is een router board gebaseerd op de Linuxkernel, het bevat 3 Ethernet-poort en 3 mini PCI-poort die wordt gebruikt om verbindi
Smartphone gecontroleerd Arduino tank met behulp van Annikken Andee

Smartphone gecontroleerd Arduino tank met behulp van Annikken Andee

Hoi jongens, ik ben Robin, één van de ontwikkelaars van Annikken Andee. Slechts een paar weken werden terug we uitgenodigd om een deel van de Arduino dag Singapore 2014. Op de dag van het evenement tentoongesteld wij een raket-vuren lego-verpletteren
Met behulp van een VU-Meter met een Arduino

Met behulp van een VU-Meter met een Arduino

Velen van ons hebben onszelf gevonden met oude technologie die we zouden willen leven terug in weer ademen. In dit geval hebben we een oude VU-meter, in wezen een volume-indicator, die we proberen te krijgen weer in beweging. Het is een vrij eenvoudi