Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
In deze Instructable laat ik je zien hoe je een lichtmeter bouwt met een groot Nokia 5110 LCD-scherm met Arduino.
Het bouwen van een lichtmeter is een geweldige leerervaring. Wanneer u klaar bent met het bouwen van dit project, begrijpt u beter hoe lichtmeters werken en gaat u in actie zien hoe krachtig het Arduino-platform kan zijn. Met dit project als basis en de opgedane ervaring kun je in de toekomst eenvoudig complexere projecten bouwen. U kunt dit project gebruiken om de lichtomstandigheden van uw werkomgeving, van uw planten enzovoort te bewaken. Laten we zonder verder oponthoud beginnen!
Stap 1: Verkrijg alle onderdelen
De onderdelen die nodig zijn om dit project te bouwen zijn deze:
- Arduino Uno ▶
- BH1750
- Nokia 5110 LCD ▶
- Kleine Breadboard ▶
- Draden ▶
De kosten van het project bedragen ongeveer $ 12.
Stap 2: De BH1750-lichtsensor
De BH1750 lichtintensiteitssensor is een geweldige en zeer gebruiksvriendelijke sensor. Dit breakout-bord wordt geleverd met een ingebouwde 16-bits AD-converter die direct een digitaal signaal kan uitvoeren, er zijn geen ingewikkelde berekeningen nodig.
Dit bord is beter dan een LDR die alleen een spanning afgeeft. Met de BH1750 Lichtsensor kan de intensiteit direct worden gemeten door de luxmeter, zonder dat er berekeningen hoeven te worden gemaakt. De gegevens die door deze sensor worden uitgevoerd, worden direct weergegeven in Lux (Lx).
De sensor maakt gebruik van de I2C-interface, dus het is heel gemakkelijk te gebruiken met Arduino. Je hoeft maar 2 draden aan te sluiten.
Ook de prijs van de sensor is erg laag, het is ongeveer 2 $.
Je kunt het hier krijgen: ▶
Stap 3: Nokia 5110 LCD
De Nokia 5110 is mijn favoriete display voor mijn Arduino-projecten.
De Nokia 5110 is een eenvoudig grafisch LCD-scherm dat oorspronkelijk bedoeld was als scherm voor een mobiele telefoon. Het maakt gebruik van de PCD8544-controller, een CMOS LCD-controller/driver met laag vermogen. Hierdoor heeft dit beeldscherm een indrukwekkend stroomverbruik. Het gebruikt slechts 0,4 mA wanneer het is ingeschakeld, maar de achtergrondverlichting is uitgeschakeld. Het gebruikt minder dan 0,06 mA in de slaapstand! Dat is een van de redenen waarom dit scherm mijn favoriet is. De PCD8544 is gekoppeld aan microcontrollers via een seriële businterface. Dat maakt het display heel gemakkelijk te gebruiken met Arduino.
U hoeft slechts 8 draden aan te sluiten en de volgende bibliotheek te gebruiken:
Deze indrukwekkende bibliotheek is ontwikkeld door Henning Karlsen, die enorm veel moeite heeft gedaan om de Arduino-gemeenschap vooruit te helpen met zijn bibliotheken.
Ik heb een gedetailleerde zelfstudie voorbereid over het gebruik van het Nokia 5110 LCD-scherm met Arduino. Ik heb die video bijgevoegd in deze Instructable, deze zal mogelijk nuttige informatie over het scherm geven, dus ik moedig je aan om deze zorgvuldig te bekijken.
De kosten van het scherm zijn ongeveer $ 4.
Je kunt het hier krijgen: ▶
Stap 4: De lichtmeter bouwen
Laten we nu alle onderdelen met elkaar verbinden.
Eerst sluiten we de BH1750 Lichtsensormodule aan. Het heeft slechts 5 pinnen, maar we zullen er 4 verbinden.
De spanningssensor aansluiten
Vcc Pin gaat naar Arduino's 5V
GND Pin gaat naar Arduino's GND
SCL Pin gaat naar analoge pin 5 van de Arduino Uno
SDA-pin gaat naar analoge pin 4 van de Arduino Uno
Adres pin blijft niet verbonden
De volgende stap is het aansluiten van het Nokia 5110 LCD-scherm.
Het Nokia 5110 LCD-scherm aansluiten
RST gaat naar digitale pin 12 van de Arduino
CE gaat naar digitale pin 11 van de Arduino
DC gaat naar digitale pin 10 van de Arduino
DIN gaat naar digitale pin 9 van de Arduino
CLK gaat naar digitale pin 8 van de Arduino
VCC gaat naar Arduino 3.3V LICHT gaat naar Arduino GND (achtergrondverlichting aan)
GND gaat naar Arduino GND
Nu we alle onderdelen met elkaar hebben verbonden, hoeven we alleen nog maar de code te laden. Er wordt een paar seconden een Splash-scherm weergegeven en dan kunnen we de lichtintensiteit in realtime gaan meten!
Stap 5: De code van het project
De code van het project bestaat uit 3 bestanden.
splash.cui.c
ui.c
BH1750LightMeter.ino
Code - Afbeelding startscherm
In het eerste bestand splash.c staan de binaire waarden van het opstartscherm dat wordt weergegeven op het LCD-scherm van de Nokia 5110 wanneer het project opstart. Bekijk de bijgevoegde video die ik heb voorbereid om te zien hoe u uw aangepaste afbeeldingen in uw Arduino-project kunt laden.
ui.c-code - De gebruikersinterface
In het bestand ui.c zijn er de binaire waarden van de gebruikersinterface die verschijnen nadat het project het opstartscherm toont. Bekijk de bijgevoegde video die ik heb voorbereid om te zien hoe u uw aangepaste afbeeldingen in uw Arduino-project kunt laden.
UVMeter.ino Code - Hoofdprogramma
De hoofdcode van het project is heel eenvoudig. We moeten de Nokia 5110-bibliotheek opnemen. Vervolgens declareren we enkele variabelen. We initialiseren het display en we geven het opstartscherm 3 seconden weer. Daarna printen we het ui-pictogram één keer en lezen we de waarde van de sensor 150 millisseconden. Alle magie gebeurt in de loop-functie:
void loop() {int stringLength=0; uint16_t lux = lightSensor.readLightLevel(); // Lees het sensorlicht = String (lux); //Conversie naar String stringLength = light.length(); //We moeten de String Length lcd.clrScr() weten; lcd.drawBitmap (0, 0, ui, 84, 48); printLight(stringLength); // Druk de tekenreeks af op het scherm lcd.update(); vertraging (150); }
Ik heb de code aan dit Instructable gehecht. Om de nieuwste versie van de code te downloaden, kunt u de webpagina van het project bezoeken:
Stap 6: het project testen
Nu de code is geladen kunnen we de Light Meter binnen en buiten testen. Ik test het op een zonnige lentedag hier in Griekenland. Het resultaat is fantastisch. We kunnen de lichtintensiteit nauwkeurig meten met een eenvoudig te bouwen project.
Zoals je op de bijgevoegde foto's kunt zien, werkt de Light Meter prima. Dit project is een geweldige demonstratie van waartoe open source hardware en software in staat is. Binnen een paar minuten kan men zo'n indrukwekkend project bouwen! Dit project is ideaal voor beginners en zoals ik in het begin al zei, is dit project een geweldige leerervaring. Ik hoor graag uw mening over dit project. Vind je het handig? Zijn er verbeteringen mogelijk in dit project? Plaats uw opmerkingen of ideeën in de opmerkingen hieronder!