I2C til maks med å troende

Arduino er en kraftig plattform for grensesnitt med den virkelige verden, men det er ikke uten grenser. En av de harde grensene, selv for Arduino Mega, er et begrenset antall pins som mikrokontrolleren kan bruke til å grensesnitt med den virkelige verden. Hvis du ønsker å forlenge plattformens rekkevidde i et av dine egne prosjekter, er det imidlertid et par alternativer tilgjengelig. Dette prosjektet fra [Bill] viser oss et av disse alternativene ved å bruke Attiny85 for å avlaste noen av en Arduino-oppgaver ved hjelp av I2C.

I2C har eksistert siden tidlig på 80-tallet som en måte for mikrokontrollere å kommunisere med hverandre ved å bruke et minimum av maskinvare. Alt som trengs er å koble I2C-pinnene til mikrokontrollerne, samt gi hver kraft. Dette prosjektet bruker en Arduino som kontrolleren, samt et vilkårlig antall mindre attiny85 mikrokontroller som mål. Kommunisere med den mindre anordningen gjør at Arduino fokuserer på flere prosessorintensive oppgaver, samtidig som de gir de enklere oppgavene til å huske. Det forenkler likevel sterkt ledninger for prosjekter som kan fordeles over en avstand. [Bill] Likeledes standardiserer utviklingen med et tilpasset utviklingsbrett for den hånde som også kan doble som et skjold for Arduino, slik at han lett kan utvide, så vel som å endre sine prosjekter uten for mye ekstra lodding.

Bruke I2C kan ikke være den mest nye nyheten av innovasjoner, men gjør det enkelt å bruke er absolutt et verdifullt verktøy for å legge til verktøykassen når den er begrenset på GPIO eller av andre fysiske begrensninger. Til dette formål inkluderer [Bill] på samme måte kode for et eksempelprosjekt som forenkler oppsettet av en av disse enhetene på programvareenden også. Hvis du leter etter noen eksempler for hva du skal gjøre med I2C, ta en titt på dette termometeret som kommuniserer med I2C eller dette prosjektet som bruker flere sensorer daisy-chained sammen.

Posted in Uncategorized

Leave a Reply

Your email address will not be published. Required fields are marked *