bluetooth met hc05
5 berichten
• Pagina 1 van 1
bluetooth met hc05
Ik ben wat aan het experimenteren met bluetooth, daarvoor heb ik een opstelling gemaakt met nano, levelshifter, hc05 en een ldr en deze ingesteld als master. Een 2e opstelling met nano, levelshifter, hc05, i2c module en lcd display is ingesteld als slave.
De master zendt de waarde van de ldr naar de slave die deze waarde op het display zet.
Voor de master gebruik ik het volgende programma:
- Code: Alles selecteren
/* hc05 master waarde A5 versturen
*/
#include <SoftwareSerial.h>
SoftwareSerial mySerial(4, 5); // RX, TX
int sensorpin = A5;
int sensorvalue = 0;
void setup()
{
Serial.begin(9600);
mySerial.begin(9600);
}
void loop() {
sensorvalue = analogRead(sensorpin);//lees waarde a5
{
//converteer waarde naar getal tussen 0 en 255
sensorvalue = map(sensorvalue, 0, 1023, 0, 255);
//verstuur tekst waarde naar slave
mySerial.print ( "waarde ");
// verstuur getal waarde
mySerial.println(sensorvalue);
delay(1000);
}
}
en voor de slave:
- Code: Alles selecteren
/*
hc05 slave i2c lcd display
*/
// include libraries:
#include <SoftwareSerial.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
SoftwareSerial mySerial(4, 5); // RX, TX
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
void setup() {
Serial.begin(9600); // seriele monitor
// lcd 16 posities 2 regels
lcd.begin(16, 2);
mySerial.begin(9600); // baudrate van de hc05
lcd.setCursor(0, 0); // plaats cursor op pos 0 van regel 1
lcd.print("bru_hc05_1");
lcd.setCursor(0, 1); // plaats cursor op pos 0, regel 2
lcd.print("hc05-i2cLCD");
}
void loop() {
if (mySerial.available()) {
delay(100);
// maak scherm schoon
lcd.clear();
// plaats cursor
lcd.setCursor(0, 0);
lcd.print("nano-hc05-i2clcd");
lcd.setCursor(0, 1);
// lees ontvangen data
while (mySerial.available() > 0) {
// zet alle karakters op scherm
lcd.write(mySerial.read());
}
}
}
Op het display worden naast de waarde ook nog 5 streepjes gezet, ook als ik het display zonder i2c module gebruik.
Als ik de slave koppel aan m'n android tablet waarop een (eigengemaakte) app draait en ik stuur een tekst naar de slave dan verschijnt die tekst op het scherm zonder de streepjes.
Mijn vraag : heeft iemand een idee waardoor de streepjes veroorzaakt worden?
Henk
Advertisement
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: bluetooth met hc05
De laatste 2 tekens zijn niet printbare tekens. Die komen van de app af. Dus ligt het niet aan de arduino. Doe je een printpn soms of een return aan het einde?
Re: bluetooth met hc05
Bedankt voor jouw reactie Nico.
Ik zie dat ik een belangrijk deel van mijn vraag niet ingetoetst had nl. "hoe raak ik de streepjes kwijt bij de master-slave combinatie.
Jouw opmerking over niet printbare tekens ga ik uitproberen door in het programma van de master of van de slave een regel toe te voegen om een aantal spaties te printen om zo van de streepjes af te komen.
Groet,
Henk
Ik zie dat ik een belangrijk deel van mijn vraag niet ingetoetst had nl. "hoe raak ik de streepjes kwijt bij de master-slave combinatie.
Jouw opmerking over niet printbare tekens ga ik uitproberen door in het programma van de master of van de slave een regel toe te voegen om een aantal spaties te printen om zo van de streepjes af te komen.
Groet,
Henk
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: bluetooth met hc05
In de master doe je in de laatste regel println(). Bij een println wordt er aan het einde een CR en LF (0x0D en 0x0A) toegevoegd. Maak er een print van het jouw probleem is opgelost.
Re: bluetooth met hc05
Ik heb jouw advies opgevolgd Nico en bij de master de regel mySerial.println aangepast en er mySerial.print(sensorvalue); van gemaakt.
En jahoor,geen streepjes meer op het lcd display.
Bedankt Nico.
Groet,
Henk
En jahoor,geen streepjes meer op het lcd display.
Bedankt Nico.
Groet,
Henk
5 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 14 gasten