Pages: [1] 2   Go Down
Author Topic: controllare accensione led via bluetooth  (Read 6769 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao a tutti, oggi mi e' appena arrivato il modulo bluetooth( http://www.ebay.it/itm/200520318414?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649  ) ordinato una settimana e mezza fa'.
ho saldato i vari contatti necessari(vcc,gnd,tx,rx, e led di stato).
vorrei sapere quale' il passo successivo da fare, nel senso se c'e' da impostare qualche cosa nel modulo bluetooth o posso passare subito a programmare per utilizzarlo.
io non ho il bluetooth nel pc e neanche quelle chiavette usb con il bluetooth, vorrei sapere come fare per accendere e spegnere il led di arduino via bluetooth usando il cellulare(android).
vorrei sapere se c'e' qualcosa di gia' pronto tanto per testare il corretto funzionamento del modulo.
ho un arduino 2009 e l'ide che uso e' 0022.
grazie.
Logged

Monselice PD Italy
Offline Offline
Faraday Member
**
Karma: 26
Posts: 5496
фон Крыса
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

scaricati blueterm e poi cerca in rete l'esempio per accendere i led, è su un blog spagnolo ma non ricordo il nome..
Logged

Se corri veloce come un fulmine, ti schianterai come un tuono.

Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok, grazie.
quindi non c'e' niente da impostare, mi scarico blueterm e posso controllare subito l'accensione e lo spegnimento del led via bluetooth?
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ho visto che c'e' anche amarino, pero' mi servono degli esempi per vedere se fuziona il modulo.
grazie.
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ho appena provato a fare il pairing con il cell e il led lampeggia lentamente, segno che funziona.
pero' adesso mi serve un esempio da seguire per accende un led via cellulare(android).
grazie.
Logged

Offline Offline
Sr. Member
****
Karma: 0
Posts: 294
L'uomo non smette di giocare perché invecchia, ma invecchia perché smette di giocare. (George Bernard Shaw)
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao, anch'io avevo ordinato il tuo stesso modulo, ma più di una settimana e mezza fa e anche a me è arrivato oggi... Tu hai già fatto qualcosa?
Logged


Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao maggio93, allora oggi ho saldato tutto, ho provato prima a vedere con il cell il modulo bluetooth per verificare il suo funzionamento.
adesso ho installato amarino su android, ho provato a fare il pairing e funziona pero' non so come accendere e spegnere un led con amarino.
se trovi qualcosa fammelo sapere!!+caio
Logged

0
Offline Offline
Faraday Member
**
Karma: 46
Posts: 5851
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Cerca il topic di Pitusso che si chiama Guida moduli Bluetooth, piu' o meno.

ha scritto delle guide molto ben fatte, e ci sono stati molti interventi, io ho aggiunto i test eseguiti sull'ultima versione, la HC-07, dalla foto non si capisce che modulo e', se hai una versione programmabile puoi anche modificarlo in master
Logged

- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Monselice PD Italy
Offline Offline
Faraday Member
**
Karma: 26
Posts: 5496
фон Крыса
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

eccolo qui, scusami per il ritardo, il BT va collegato sulla seriale hardaware di arduino e il micro non va alimentato tramite USB sennò non funziona.
Code:
                                                const int BuzzerPin = 5;    // Pin en el que se conecta el vibrador
 const int LedPin1 = 6;      // Pin en el que se conecta el LED 1
 const int LedPin2 = 7;      // Pin en el que se conecta el LED 2
 const int LedPin3 = 8;      // Pin en el que se conecta el LED 3
 const int LedPin4 = 9;      // Pin en el que se conecta el LED 4
 const int LedPin5 = 10;     // Pin en el que se conecta el LED 5
 const int LedPin6 = 11;     // Pin en el que se conecta el LED 6
 const int LedPin7 = 12;     // Pin en el que se conecta el LED 7
 const int LedPin8 = 13;     // Pin en el que se conecta el LED 8
     
 void setup()
 {
   // configura la comunicacion serie:
   Serial.begin(9600);
   // configura los pines de los leds y buzzer como salida:
   pinMode(BuzzerPin, OUTPUT);
   pinMode(LedPin1, OUTPUT);
   pinMode(LedPin2, OUTPUT);
   pinMode(LedPin3, OUTPUT);
   pinMode(LedPin4, OUTPUT);
   pinMode(LedPin5, OUTPUT);
   pinMode(LedPin6, OUTPUT);
   pinMode(LedPin7, OUTPUT);
   pinMode(LedPin8, OUTPUT);
 }

 void loop() {
   byte dato;
   char* mensaje;

   // mira si se ha recibido algo del puerto serie:
   if (Serial.available()) {
     // lee el ultimo byte recibido (valor entre 0 y 255)
     dato=Serial.read();
     switch(dato){
       case 113: // q
         digitalWrite(LedPin1, HIGH);   // enciende el LED 1
         mensaje="LED 1 Encendido";
         break;
       case 97: // a
         digitalWrite(LedPin1, LOW);   // apaga el LED 1
         mensaje="LED 1 Apagado";
         break;
       case 119: // w
         digitalWrite(LedPin2, HIGH);   //  enciende el LED 2
         mensaje="LED 2 Encendido";
         break;
       case 115: //s
         digitalWrite(LedPin2, LOW);   // apaga el LED 2
         mensaje="LED 2 Apagado";
         break;
       case 101: // e
         digitalWrite(LedPin3, HIGH);   //  enciende el LED 3
         mensaje="LED 3 Encendido";
         break;
       case 100: // d
         digitalWrite(LedPin3, LOW);   // apaga el LED 3
         mensaje="LED 3 Apagado";
         break;
       case 114: // r 
         digitalWrite(LedPin4, HIGH);   //  enciende el LED 4
         mensaje="LED 4 Encendido";
         break;
       case 102: // f
         digitalWrite(LedPin4, LOW);   // apaga el LED 4
         mensaje="LED 4 Apagado";
         break;
       case 116: // t
         digitalWrite(LedPin5, HIGH);   //  enciende el LED 5
         mensaje="LED 5 Encendido";
         break;
       case 103: // g
         digitalWrite(LedPin5, LOW);   // apaga el LED 5
         mensaje="LED 5 Apagado";
         break;
       case 121: // y
         digitalWrite(LedPin6, HIGH);   // enciende el LED 6
         mensaje="LED 6 Encendido";
         break;
       case 104: // h
         digitalWrite(LedPin6, LOW);   // apaga el LED 6
         mensaje="LED 6 Apagado";
         break;
       case 117: // u
         digitalWrite(LedPin7, HIGH);   // enciende el LED 7
         mensaje="LED 7 Encendido";
         break;
       case 106: //j
         digitalWrite(LedPin7, LOW);   // apaga el LED 7
         mensaje="LED 7 Apagado";
         break;
        case 105: // i
         digitalWrite(LedPin8, HIGH);   // enciende el LED 8
         mensaje="LED 8 Encendido";
         break;
       case 107: // k
         digitalWrite(LedPin8, LOW);   // apaga el LED 8
         mensaje="LED 8 Apagado";
         break;
      case 122: // z
         digitalWrite(LedPin1, HIGH);   // enciende TODOS los LEDs
         digitalWrite(LedPin2, HIGH);
         digitalWrite(LedPin3, HIGH);
         digitalWrite(LedPin4, HIGH);
         digitalWrite(LedPin5, HIGH);
         digitalWrite(LedPin6, HIGH);
         digitalWrite(LedPin7, HIGH);
         digitalWrite(LedPin8, HIGH);
         mensaje="TODOS los LEDs Encendidos";
         break;
       case 109: // m
         digitalWrite(LedPin1, LOW);   // apaga TODOS los LEDs
         digitalWrite(LedPin2, LOW);   
         digitalWrite(LedPin3, LOW); 
         digitalWrite(LedPin4, LOW);   
         digitalWrite(LedPin5, LOW); 
         digitalWrite(LedPin6, LOW); 
         digitalWrite(LedPin7, LOW); 
         digitalWrite(LedPin8, LOW);   
         mensaje="TODOS los LEDs Apagados";
         break;
       default:
         Serial.print(dato);
         Serial.print(": ");
         mensaje="Tecla no admitida !";
         digitalWrite(BuzzerPin, HIGH);
         delay(200);
         digitalWrite(BuzzerPin, LOW);
         delay(200);
     }
     // Emite un pitido
     digitalWrite(BuzzerPin, HIGH);
     delay(200);
     digitalWrite(BuzzerPin, LOW);
     // Envia respuesta
     Serial.println(mensaje);
   }
 }
Logged

Se corri veloce come un fulmine, ti schianterai come un tuono.

0
Offline Offline
Edison Member
*
Karma: 24
Posts: 2309
Have you mooed today?
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao,

Quote
dalla foto non si capisce che modulo e'

leggendo pure la descrizione, dovrebbe essere un HC-05  smiley

Se vuoi provare un'alternativa, giusto per iniziare, un poco più semplice, puoi:
- seguire il tutorial per il collegamento hw del modulo ad Arduino; considera che nella guida e nell'esempio qui sotto, si utilizza una seriale software
(lo trovi qui: http://arduino.cc/forum/index.php/topic,104903.0.html)
- utilizzare AppInventor per un prototipo lato Android
http://beta.appinventor.mit.edu/

Ti giro link di questa gallery, ci sono una serie di screenshot sequenziali (che finiranno in un tutorial accodato ai precedenti) relativi alla creazione di una app base :
https://picasaweb.google.com/101137849928958778147/BasicAppInventorAppForArduinoWithBTModule?authuser=0&feat=directlink

Qui il codice Arduino da utilizzare con quella app:

Code:
#include <SoftwareSerial.h>     //IDE >= 1.0
//#include <NewSoftSerial.h>    //IDE <= 0023

const int rxPin = 2;
const int txPin = 3;
const int ledPin = 13;
byte btval = 0;

SoftwareSerial bluetooth(rxPin, txPin);  //IDE >= 1.0
//NewSoftSerial bluetooth(rxPin, txPin);   //IDE <= 0023

void setup() {
  
  Serial.begin(9600);
  bluetooth.begin(9600);

  pinMode(ledPin,OUTPUT);
}

  
void loop() {

  if (bluetooth.available()) {  
    btval = bluetooth.read();
    if (btval == 1) {
       digitalWrite(ledPin, HIGH);
    } else {
        digitalWrite(ledPin, LOW);
    }
  }
}

Di seguito print screen dell'emulatore con la banale applicazione in funzione:



Come puoi vedere nulla di complesso, con la speranza che sia comprensibile a tutti.
« Last Edit: May 24, 2012, 08:34:59 pm by pitusso » Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

grazie ratto lo provero' quando scarichero blueterm sul mio cell perche' adesso non ho internet.
grazie anche pitusso, pero' io non so' come fare delle app. per l'app scaricare l'app di cui mi hai parlato cui sopra come faccio??
Logged

0
Offline Offline
Edison Member
*
Karma: 24
Posts: 2309
Have you mooed today?
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao

Quote
pero' io non so' come fare delle app. per l'app scaricare l'app di cui mi hai parlato cui sopra come faccio??

quella app base è fatta con AppInventor, come già detto.
Le immagini nella galleria picasa, che ti avevo linkato nel mio precedente post, sono una serie di passaggi atti a realizzare proprio quell'applicazione.
Una volta pronta si può scaricare su smartphone in vari modi, uno di questi è usando un qrcode - che altro non fa che passare al telefono una url dove recuperare la app.
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao
ho scaricato blueterm, ho caricato lo sketch passatomi da ratto93.
su blueterm faccio connect device e si connete al mio modulo bluetooth, pero' non capisco perche' non riesco a controllare niente via bluetooth.
ho provato a scrivere sul serialmonitor le varie lettere per accendere e spegnere il led e si accende e si spegne il led, pero' non ricevo niente sul cellulare.anche quando provo a mandare la lettera dal blueterm, arduino non riceve niente.
mi potete speigare come devo fare per favore?
e se ci sono altri sketch per provare con blueterm.
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao, continuando con le mie prove nel tentativo di accendere il led 13 via bluetooth usando blueterm, sono giuto al punto che usando lo sketch qui sotto carico il codice, connetto il cellulare al modulo bluetooth(e fin qui funziona tutto), apro il serial monitor, quando scrivo sul serial monitor a il led 13 si accende e su blueterm mi compre scritto  "Arduino Led On" e fin qui tutto bene.
il problema  che non riesco ad accendere il led usando il cell(con blueterm), non capisco perche' e come fare.
per favore potete darmi una mano??!
grazie.
Code:
void setup(){
  //make sure your bluesmirf module is
  //configured at 115200 baudrate setting
  Serial.begin(9600);
  //let's test arduino led
  pinMode(13, OUTPUT);
}

void loop(){
  if(Serial.available()){
    //read first characer received
    unsigned char charreceived = Serial.read();
   
    switch(charreceived){
      case 'a':
        digitalWrite(13, HIGH);
        Serial.println("Arduino Led On");
        break;
      case 'b':
        digitalWrite(13, LOW);
        Serial.println("Arduino Led Off");
        break;
      default:
        break;
    }
   
    //flush remaining characters
    //we only want first character
    Serial.flush();
  }
  delay(10);
}
 
Logged

Bergamo
Offline Offline
God Member
*****
Karma: 1
Posts: 663
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao

ma il modulo bluetooth è collegato sempre ai PIN 0 e 1 (seriale hw) di Arduino?
Logged

lucadentella.it

Pages: [1] 2   Go Up
Jump to: