Newbi braucht hilfe

Also zur Hardware habe ich bis jetzt:
1 Stk. Arduino Uno
1 Stk. Saint Smart LCD Keypad Shield
3 Stk. EBM Papst Lüfter 12v 1A und 225m3/h
3 Stk. I²C Temperatur-Modul mit Analogausgang 0 - 5 V

Die 3 Lüfter werden über Transistoren geschalten die der Arduino über 3 Pins schalten soll.
Das Programm habe ich mit Atmel Studio geschrieben.

Im Internet bin ich immer auf den I2C Bus gestoßen deswegen auch dieser Sensor. Im unteren Programm habe ich den LCD und die Tasten aber über den ADC angesprochen, nur weiß ich nicht wie das mit dem I2C Bus funktioniert. Bzw. ich weiß das der I2C 2 Leitungen besitzt die SDA (Datenleitung) und die SCL (Die Taktleitung)

#include <avr/io.h>
#include "LCD/LCD.h"
#include "LCD/ADC.h"

void SetSollWert();
void LcdAusgabe(int istWert, int sollWert);

int m_SollWert = 20; //start sollwert 20°C
int m_IstWert = 0; //start istwert 0°C wird ausgelesen

int main(void)
{
lcd_init(); //initilisiert LCD
ADC_init(); //initilisiert ADC
while(1)
{
SetSollWert(); //abfrage der knöpfe (nach bedarf wird der sollwert gesetzt und der LCD aktualisiert)
}

}

void LcdAusgabe(int istWert, int sollWert)
{
lcd_clear();

lcd_setcursor(0,0); //setzt den curser auf position null
lcd_string("IST Temp.: "); //text wird auf LCD angezeigt
lcd_string((char*)istWert); //wandelt den integer in einen string um und schreibt diesen auf den LCD
lcd_string(" °C"); //setzt die einheit nach den gemessenen wert (IST Temp.: WERT °C)
lcd_setcursor(0,1); //setzt den curser in die zweite zeile auf position null
lcd_string("SOLL Temp.: "); //text wird auf LCD angezeigt
lcd_string((char*)sollWert); //wandelt den integer in einen string um und schreibt diesen auf den LCD
lcd_string(" °C"); //setzt die einheit nach den gemessenen wert (SOLL Temp.: WERT °C)
}
void SetSollWert()
{
unsigned int eingabeTaste = 0; //variable in der der eingabewert gespeichert wird
eingabeTaste = ADC_read(0); //auslesen der eingabe
if(eingabeTaste == 40) //wenn taste "oben" gedrückt worden ist wird der sollwert um 1 erhöht und der LCD aktualisiert
{
m_SollWert = m_SollWert + 1;
LcdAusgabe(m_IstWert, m_SollWert);
}
else if(eingabeTaste == 17) //wenn taste "unten" gedrückt worden ist wird der sollwert um 1 reduziert und der LCD aktualisiert
{
m_SollWert = m_SollWert - 1;
LcdAusgabe(m_IstWert, m_SollWert);
}
}