Ah, nu begrijp ik wat je fout deed.
De Bluetooth pairing code. Die is standaard bij de HC05 en HC06 : 1234.
En jij gebruikte de code van die appinventor.

ik had al in tablet bluetooth aan staan
ik heb nergens 1234 hoeven in te voeren.
maar ok het werkt goed nu

even melden dat dit werkt
http://www.circuitmagic.com/arduino/arduino-and-bluetooth-hc-06-to-con…

en dit
http://www.instructables.com/id/Tutorial-Using-HC06-Bluetooth-to-Seria…

[Bericht gewijzigd door bertus1945 op (59%)]

Op 29 mei 2016 09:49:49 schreef bertus1945:
Hallo
Ik krijg het niet voor elkaar.
ik wil in deze sketch ,dat als ik b(van blink) in druk hij gaat blinken het ledje op pin 12.
Arduino Uno ,met bluetooth HC-06.
opzich werkt het ,enkel dat blinken krijg ik niet voor elkaar.
En als hij dan blinkt dat als ik dan weer l(van LOW) in druk dat het stopt.
en dat dan sketch verder door loopt.

#include <SoftwareSerial.h>
SoftwareSerial BT(10, 11);
// creates a "virtual" serial port/UART
// connect BT module TX to D10
// connect BT module RX to D11
// connect BT Vcc to 5V, GND to GND
void setup() 
{
  // set digital pin to control as an output
  pinMode(12, OUTPUT);
  // set the data rate for the SoftwareSerial port
  BT.begin(9600);
  // Send test message to other device
  BT.println("Hello from Arduino");
}
char a; // stores incoming character from other device
void loop()
{
  if (BT.available())
  // if text arrived in from BT serial...
  {
    a=(BT.read());
    if (a=='h')
    {
      digitalWrite(12, HIGH);
      BT.println("LED on");
    }
    if (a=='l')
    {
      digitalWrite(12, LOW);
      BT.println("LED off");
    }
    if (a=='b')
    {
  digitalWrite(12, HIGH);  // Zet de LED aan door het voltage hoog te maken
  delay(1000);
 
  digitalWrite(12, LOW);   // Zet de LED uit door het voltage laag te maken
  delay(1000);
  BT.println("LED ON OFF");
    }
    if (a=='?')
    {
      BT.println("Send 'h' to turn LED on");
      BT.println("Send 'l' to turn LED off");
       BT.println("Send 'b' to turn LED  on off");
    }   
   
    // you can add more "if" statements with other characters to add more commands
 
 

 
    }
 }

wie weet een oplossing???

3e topic over hetzelfde onderwerp?
Hoeveel gaan er nog komen?

En 99% van die code wordt alleen uitgevoerd als er bt.available is, dus 'blinkt' hij hooguit 1x nu als je b indrukt,

Het inlezen naar een variabele, en het uitsturen naar je leds moet je opnemen in 2 losse stukken code

[Bericht gewijzigd door Henry S. op (0%)]

sorry hoor als ik je lastig val.neem me voor al niet kwalijk.

Het was maar advies om alles bij elkaar te houden hoor
Het is niet de eerste keer dat de mods al je subtopics dicht komen gooien

Maar je bent weer geholpen, succes

Je krijgt beter advies als je alles, wat met dit projekt te maken heeft, in 1 topic houdt. Dan weet iedereen meteen waar het over gaat, in plaats van terug te moeten zoeken of niet te weten waar je het over hebt.

sorry ik wist al niet meer dat ik topics hier over gemaakt had.
ontzettend sorry hoor.

heb het nu zo.

#include <SoftwareSerial.h>
SoftwareSerial BT(10, 11); 
// creates a "virtual" serial port/UART
// connect BT module TX to D10
// connect BT module RX to D11
// connect BT Vcc to 5V, GND to GND
boolean loopje =true;
void setup()  
{
  // set digital pin to control as an output
  pinMode(12, OUTPUT);
  // set the data rate for the SoftwareSerial port
  BT.begin(9600);
  // Send test message to other device
  BT.println("Hello from Arduino");
}
char a; // stores incoming character from other device
void loop() 
{
  if (BT.available())
  // if text arrived in from BT serial...
  {
    a=(BT.read());
    if (a=='h')
    {
      digitalWrite(12, HIGH);
      BT.println("LED on");
    }
    if (a=='l')
    {
      digitalWrite(12, LOW);
      BT.println("LED off");
    }
    if (a=='b')
    {
      loopje =true;
      while(loopje){
         
   digitalWrite(12, HIGH);  // Zet de LED aan door het voltage hoog te maken
  delay(1000);
   digitalWrite(12, LOW);   // Zet de LED uit door het voltage laag te maken
  delay(1000); 
  BT.println("LED ON OFF");
  if (BT.available())
  {
    a=(BT.read());
    if(a=='l')
    {
      loopje = false;
      digitalWrite(12,LOW);
      BT.println("LED OFF");
        }
   return;
     }
     }
  }
    if (a=='?')
    {
      BT.println("Send 'h' to turn LED on");
      BT.println("Send 'l' to turn LED off");
       BT.println("Send 'b' to turn LED  on off");
    }   
  }
 }

en werkt ,nu verder testen

[Bericht gewijzigd door bertus1945 op (90%)]

Blijft draak van code,
In je blink loop werkt a==h, niet a==? niet, duurt tot 2 seconde voordat a==l verwerkt wordt.
En dan nog niet eens te beginnen over alle stukken die er dubbel in staan, en dus alleen maar onnodig geheugen staat te eten

Maar fijn dat het werkt, gefeliciteerd

geef jij dan eens een sketch die het zelfde doet.
Maar dan in perfecte stijl ,zoals jij dat in je hoofd hebt??
dan kan ik er wat van leren.

Deze code verdient inderdaad gen schoonheidsprijs, maar iedereen moet ergens beginnen. Gezien de nickname van de TS heeft hij er al wat jaartjes opzitten, en is het al heel dapper dat hij zich nog waagt aan programmeren.

@Bertus: Je hebt nu een hoop if statements achter elkaar, ik zou je aanraden om deze te vervangen door een switch statement. Ik heb als voorbeeld je loop() iets herschreven:


void loop() {
  if (BT.available()) {
  // if text arrived in from BT serial...
    a=(BT.read());
    switch(a) {
       case 'h':
          digitalWrite(12, HIGH);
          BT.println("LED on");
          break;
       case 'l':
          digitalWrite(12, LOW);
          BT.println("LED off");
          break;
       case 'b':
          loopje = true;
          while(loopje){
            digitalWrite(12, HIGH);  // Zet de LED aan door het voltage hoog te maken
            delay(1000);
            digitalWrite(12, LOW);   // Zet de LED uit door het voltage laag te maken
            delay(1000); 
            BT.println("LED ON OFF");
            if (BT.available()) {
              a=(BT.read());
              if(a=='l') {
                loopje = false;
                digitalWrite(12,LOW);
                BT.println("LED OFF");
              }
              return;
            }
          }
          break;
       case '?':
          BT.println("Send 'h' to turn LED on");
          BT.println("Send 'l' to turn LED off");
          BT.println("Send 'b' to turn LED  on off");
          break;
       default :
          BT.println("Invalid input, type ? for help.");
          break;
    }
  }
}

Dat maakt het geheel wat overzichtelijker. Ook ben je redelijk slordig met je indentering, wat je code slecht leesbaar maakt.

hartelijk dank.
Ja dat werkt wel lekkerder.
Maar ik kan eigenlijk helemaal niet programmeren.
ik haal over stukjes vandaan.
en als het werkt ben ik al blij.
en ik ben niet van plan om die laatste paar jaar die ik nog heb,veel tijd eraan te besteden.
Ik vind electronica gewoon een leuke hobby.
iets proberen werkend te krijgen.
zowel hardware als software.
dus die opmerkingen van ,het zit niet goed in elkaar ,leg ik terzijde.
maar ik vind het wel leuk.

in ieder geval bedankt voor jullie hulp.
Waardeer ik heel erg.

Hallo nog even een vraag over die HC-06.
Ik heb het werkende.
Maar zie veel schema's waar 2k2 en 4k7 weerstanden combo naar RXD,gebruikt word.
Is dit belangrijk???
ik heb namelijk van een ander schema geen weerstanden.
Het werkt wel,maar af en toe word de verbinding verbroken.
Komt dat door die weerstanden ,dat ik die niet heb??
Ik hoor het graag.

Die weerstanden zorgen er voor dat de spanning op de Rx van de HC-06 niet hoger wordt dan 3,3 volt. De HC-06 zelf werkt intern op 3,3 volt. Op het printje zit een spanningsregelaar die van de 5 volt van de Arduino 3,3 volt maakt. De Tx van de HC06 geeft ook maar 3,3 volt signalen af, maar dat is voldoende om de Rx van de Arduino aan te sturen.
In veel schema's worden die weerstanden vaak weg gelaten en de HC-06 schijnt daar wel tegen te kunnen, maar dat is buiten de specificaties en daarom niet aan te bevelen.

Dus als ik het begrijp, toch die weerstanden plaatsen???

Lees hier wat er (kan) gebeur(en)t als je het niet doet

http://www.circuitsonline.net/forum/view/132023

De Tx van de HC06 geeft ook maar 3,3 volt signalen af, maar dat is voldoende om de Rx van de Arduino aan te sturen.

Da's dan een kwestie van geluk hebben, want het valt buiten de opgegeven specificaties.
De minimale VIHmin spanning voor de Rx pin is 0.7*Vcc = 3.5v, dus 3.3 is te laag...

bedankt allen,zal die weerstandjes plaatsen.