Dansk Elektronik Forum

Generel Elektronik => Arduino & Lign. => Emne startet af: Danni-Hansen efter April 08, 2015, 13:47:42

Titel: Arduino Nano, 74HC4050, HC-05 Bluetooth som erstatning på Earnst nRF24l01 modul
Indlæg af: Danni-Hansen efter April 08, 2015, 13:47:42
Hej igen DEF :)

Jeg har tænkt mig at erstatte Earnst nRF24l01 modul med et modul jeg føler der er mere kodevenlig for mig, nemlig HC-05 Bluetooth modulet.

Men HC-05 BT modulet køre på 3.3v på RX/TX delen, så det jeg gerne vil er at sætte en 4050 på frem for 2 modstande :)

Jeg er dog helt forvirret på hvordan jeg kobler det BT Modul på en Arduino Nano :/
Tænkte på om det er samme opkobling som på et Nokia 5110 LCD modul? Dog er jeg stadigvæk i tvivl om hvilke pins der går hvor til.

Alt hjælp modtages.
Titel: Sv: Arduino Nano, 74HC4050, HC-05 Bluetooth som erstatning på Earnst nRF24l01 modul
Indlæg af: edn efter April 08, 2015, 19:59:48
Måske kan du bruge https://www.youtube.com/watch?v=x3KAXjnP06o  ?
Han bruger dog de 2 modstande.
Titel: Sv: Arduino Nano, 74HC4050, HC-05 Bluetooth som erstatning på Earnst nRF24l01 modul
Indlæg af: Danni-Hansen efter April 09, 2015, 21:22:52
Har forsøgt med de 2 modstande, og det virker ikke til at den er brændt af hvertfald, 2.2k og 4.7k ohm er brugt

Jeg har forsøgt med flg kode via PC:
Kode:
#include <SoftwareSerial.h>
 
SoftwareSerial mySerial(0, 1); // RX, TX

void setup() {
    mySerial.begin(9600);
}


void loop()
{
  mySerial.read();
}

Standalone Bluetooth:
Kode:
#include <SoftwareSerial.h>
 
SoftwareSerial mySerial(0, 1); // RX, TX

void setup() {
    mySerial.begin(9600);
    mySerial.write("Ready to Talk");
}


void loop()
{
  int tal = tal +1;
  mySerial.write(tal);
  delay(1000);
}


---
Skulle mene jeg har sat det rigtigt op, men bliver da lidt i tvivl.
Titel: Sv: Arduino Nano, 74HC4050, HC-05 Bluetooth som erstatning på Earnst nRF24l01 modul
Indlæg af: Danni-Hansen efter April 27, 2015, 15:01:14
Earnst har fået bluetooh (HC-05)

Han kan kommunikere med andre bluetooth enheder, blandt andet min mobil som så åbner alverdens muligheder.

Hans funktion ser sådan her ud (Fejler en del endnu)

Kode:
// Basic bluetooth test sketch 2. Send data to Arduino
//
// Remember to remove the power from the bluetooth module when uploading the code....

int sensorPin = 0; //analog pin 0
char serialByte;
int right01 = 4;
int right02 = 5;
int left01 = 6;
int left02 = 7;


void setup()
{
    // Motor pins as output
    pinMode(right01, OUTPUT);
    pinMode(right02, OUTPUT);
    pinMode(left01, OUTPUT);
    pinMode(left02, OUTPUT);

    // Match the baud rate of the bluetooth module.
    Serial.begin(9600);
}
 
void loop()
{

    int i = analogRead(sensorPin);
    int val=(6762/(i-9))-4;

    // wait until data is available
    while (!Serial.available()); 
 
    Serial.println(val);
   
    if( val > 15 ) serialByte = 8;
    if( val <= 15 ) serialByte = 5;
   
    // read next available byte
    serialByte = Serial.read();
 
    // If the byte is a 1 turn on the LED
    if( serialByte == '8' ) forwards();
    if( serialByte == '2' ) backwards();
    if( serialByte == '5' ) around();
    if( serialByte == '0' ) stopper();
    delay(1000);
}

void forwards(){
  printf("Forwards\n\r");
  digitalWrite(right02, LOW);
  digitalWrite(right01, HIGH);
  digitalWrite(left02, LOW);
  digitalWrite(left01, HIGH);
}
 
void backwards(){
  printf("Backwards\n\r");
  digitalWrite(right01, LOW);
  digitalWrite(right02, HIGH);
  digitalWrite(left01, LOW);
  digitalWrite(left02, HIGH);
}
 
void around(){
  printf("Around\n\r");
  digitalWrite(right01, LOW);
  digitalWrite(right02, HIGH);
  digitalWrite(left02, LOW);
  digitalWrite(left01, HIGH);
 
}
 
void stopper(){
  printf("Stop\n\r");
  digitalWrite(right01, LOW);
  digitalWrite(right02, LOW);
  digitalWrite(left02, LOW);
  digitalWrite(left01, LOW);
}

Mit største problem er pt:
1: Han viser kun 3 afstande afgangen med Proximity sensoren (Model: GP2Y0A21YK), med 1 sek imellem hver afstand.
2: Han har også fået den lille idé om ikke at reagere på afstanden.

Min idé til videre udvikling er at han skal kunne sende afstanden over bluetooth, til fx. mobilen, hvorpå mit program skal overvåge hvad han laver og hvad afstanden er, mv.

Nogen der kan løse problem 1 og 2?