Android en Arduino en Bluetooth (alweer?)

Hallo,

Als eerste bied ik bij deze mijn excuses aan, mijn vraag zal waarschijnlijk al honderden keren gesteld zijn, maar na veel gelezen te hebben zie ik door de bomen het bos niet meer.

Als project wil ik een arduino laten spreken via bluetooth met een android en vervolgens de android ook terug te laten koppelen (of andere commando's geven) Beide apparaten zijn dus master en slave.

Ik vroeg mij dus af wat heb ik hiervoor nodig? ik heb nu een uno en ik geloof dat ik dit niet met een standaard usb-dongle kan, vanwege dat die alleen maar slave zijn (maar je kan hier toch ook info mee versturen?).

Ik vind wel veel shields op het net alleen die werken met speciale android programma's uit de playstore, dit terwijl ik zelf mijn android programma wil schrijven.

Ik heb ook ergens gelezen dat de ADK juist afgeraden wordt voor bluetooth projecten.

Wie kan mij de waarheden en onwaarheden vertellen en een geschikte bluetooth zender aanbevelen.

Alvast bedankt!

Sorry, geen ervaring met bluetooth. Er bestaan bt shields en een speciale bt arduino.

welke is dan de BT arduino?

Ik lees het meeste over de bluesmirf "dongle", of maakt dit niet zo uit welke bluetooth shield je gebruikt.

Is er 1 library voor alle verschillende shields?

http://arduino.cc/en/Main/ArduinoBoardBluetooth

Mogelijks heeft elke shield een eigen library nodig, maar die info zou je op de site van de fabrikant moeten vinden.

BlueSMiRF lijkt mij ook een goede oplossing, maar wel prijzig.

Hier heb je een voorbeeld van een shield (ik geef je de link louter ter info, ik heb geen ervaring met deze shield)

https://iprototype.nl/products/arduino/shields/bluetooth-shield

Er staat zelfs voorbeeld code op die site.

Ik heb gewoon deze bluetooth stick gekocht via Ebay (Arduino JY-MCU Bluetooth Wireless Serial Port Module SLAVE | eBay)

Je sluit hem aan op vcc,gnd en je digital pin 0 en 1. Ik kan communiceren via met pc, android en ios. Je zet gewoon een standaard seriele verbinding op net zoals je met je usb kabel zou doen. Het enige wat je nodig hebt is een command shell. Zelf gebruik ik Tera Term op de pc en Amarino en Sena BTerm op android.

Simpel scriptje om een ledje op pin 13 aan en uit te zetten door een 1 of 0 in te typen.

char INBYTE;
int  LED = 13; // LED on pin 13

void setup() {
  Serial.begin(9600); 
  pinMode(LED, OUTPUT);
}

void loop() {
  Serial.println("Press 1 to turn Arduino pin 13 LED ON or 0 to turn it OFF:");
  while (!Serial.available());   // stay here so long as COM port is empty   
  INBYTE = Serial.read();        // read next available byte
  if( INBYTE == '0' ) digitalWrite(LED, LOW);  // if it's a 0 (zero) tun LED off
  if( INBYTE == '1' ) digitalWrite(LED, HIGH); // if it's a 1 (one) turn LED on
  delay(50);
}

Linkje naar Instructables waar het wordt uitgelegd hoe je hem moet aansluiten: