Stap 2: Breadboard tijd!
Ik voor het eerst het apparaat gebouwd op breadboard het uit te testen. Dit is vrij eenvoudig, sluit alles zoals u zien in het diagram van de verbinding. Het alleen netelige deel zijn de I2C-pinnen op de Pro Mini. Ik heb opgelost dat door twee stukken van breadboard-draad aan de pinnen solderen, later tijdens de eindmontage zij zullen worden vervangen door een meer permanente oplossing. Het aansluiten van de module HB1750 verloopt dan gemakkelijk, gewoon aansluiten SDA om A4 en SCL pin aan pin A5.
Zoals ik al eerder zei, aandacht besteden aan de pinout van de LCD-module die u gebruikt. Hebt u de blauwe versie, uw bedrading er hetzelfde uitzien als de mijne, maar de bedrading van de rode versie zullen afwijken. Er zijn al veel tutorials voor dit, gewoon zoeken naar "Arduino 5510 LCD tutorial".
Verbind ik het LCD als volgt (u kunt ook vinden dit in de code):
pin 13 on Arduino (SCK) - LCD serial clock (SCLK) pin 11 on Arduino (MOSI) - LCD data in (DIN) pin 5 on Arduino - LCD Data/Command select (D/C) pin 4 on Arduino - LCD chip select (CS) pin 3 on Arduino - LCD reset (RST)
Wil je ook de automatische achtergrondverlichting controle, je moet verbinding maken met een BC327 (of soortgelijke) PNP transistor te Arduino pin 9 zoals in de laatste afbeelding. Dit dimt automatisch de achtergrondverlichting indien het licht meter boven een bepaalde waarde zijn, voor het behoud van de batterij. Als u dit niet wilt, sluit de BL-pin van het LCD-scherm aan + 5V en het blijft gewoon op de allertijden.
De code ophalen van mijn Github en upload het naar je Arduino: https://github.com/3zuli/luxmeter/
U moet mogelijk het LCD-contrast aanpassen. Waarden van 50-55 werkte boete voor me. Er zijn instructies voor het testen en aanpassing van het in de code.
display.setContrast(50); // Contrast value of 50 works fine for me. If your LCD is badly readable, // or doesn't show anything at all, uncomment the following line to go into // Contrast Test mode and see, which value works best for you // Then change display.setContrast(50) to that value //testContrast();