5140+ beoordelingen
Bestel voor 16:00 voor dezelfde dag verzending
14 dagen retour
NL
Particulier
Zakelijk
In dit project leg ik uit hoe je een I2C LCD kan aansluiten.
Ook zal ik jullie laten zien hoe je tekst op een LCD kan zetten en hoe je deze kan laten bewegen. Het beeldscherm dat wij gebruiken sluiten we aan via de I2C op de achterkant, dat houdt in dat we maar 4 jumper wires nodig hebben.
We hoeven ook geen pot meter aan te sluiten want die zit ingebouwd in de I2C module. Deze kunnen we aanpassen door hem met een schroevendraaier meer naar links of meer naar rechts te draaien, door dit te doen veranderen we de helderheid van het scherm.
Zodra je alle onderdelen hebt verzameld kan je deze met elkaar verbinden.
Om de Arduino op het beeldscherm aan te sluiten moet je een jumper wire van de 5V in de VCC van het beeldscherm doen. Op het moment dat je dat hebt gedaan doe je een jumper wire van de GND van de Arduino naar de GND van het beeldscherm. Verbind vervolgens nog een jumper wire van A4 naar de SDA pin op het beeldscherm en een jumper wire van A5 naar de SCL pin op het beeldscherm.
De reden dat je A4 en A5 gebruikt is omdat dit de SDA en de SCL pinnen van de Arduino UNO zijn. Waarbij A4 de SDA pin is en A5 de SCL pin is.
Op het moment dat je alles hebt aangesloten kan je doorgaan naar stap 3 programmeren.
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
//hier zetten we alle componenten op een pin
int sensor = A0;
int led1 = 2;
int led2 = 3;
int led3 = 4;
int led4 = 5;
int led5 = 6;
int Value = 0;
void setup(){
//Pinnen geven een puls
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
}
void loop(){
//Leest A0
Value = analogRead(sensor);
delay(100);
//als waar 110 of hoger is gaat lampje aan
if(Value >= 110){
digitalWrite(led1, HIGH);
}else{
//anders gaat hij uit
digitalWrite(led1, LOW);
}
if(Value >= 125){
digitalWrite(led2, HIGH);
}else{
digitalWrite(led2, LOW);
}
if(Value >= 140){
digitalWrite(led3, HIGH);
}else{
digitalWrite(led3, LOW);
}
if(Value >= 155){
digitalWrite(led4, HIGH);
}else{
digitalWrite(led4, LOW);
}
if(Value >= 170){
digitalWrite(led5, HIGH);
}else{
digitalWrite(led5, LOW);
}
}