Pages: [1]   Go Down
Author Topic: [Problema] Bottone fisico + Android  (Read 502 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho cominciato ad usare Arduino da un po', all'inizio non ho trovato molta difficoltà ma adesso mi trovo davanti un problema serio.

Obiettivo far accendere led sia da app Android che da bottone fisico collegato ad Arduino.

Partiamo dalla base:

ho cominciato provando a far accendere un led tramite bottone fisico, fin qui tutto okay! Poi mi sono detto perché non provare tramite bluetooth con un dispositivo Android? Fin qua tutto bene ho anche fatto l'applicazione android.

Il problema nasce adesso che voglio unire entrambe gli sketch, vorrei far accendere/spegnere un led tramite pulsante fisico o tramite bluetooth. Non riesco proprio ho provato con select case o con if ma.. Niente da fare non ho ottenuto risultato, adesso vorrei poterci riuscire magari col vostro aiuto.

Grazie in anticipo
Logged

Dueville (VI)
Offline Offline
Edison Member
*
Karma: 28
Posts: 1722
http://cesarecacitti.wordpress.com/
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho cominciato ad usare Arduino da un po', all'inizio non ho trovato molta difficoltà ma adesso mi trovo davanti un problema serio.

Obiettivo far accendere led sia da app Android che da bottone fisico collegato ad Arduino.

Partiamo dalla base:

ho cominciato provando a far accendere un led tramite bottone fisico, fin qui tutto okay! Poi mi sono detto perché non provare tramite bluetooth con un dispositivo Android? Fin qua tutto bene ho anche fatto l'applicazione android.

Il problema nasce adesso che voglio unire entrambe gli sketch, vorrei far accendere/spegnere un led tramite pulsante fisico o tramite bluetooth. Non riesco proprio ho provato con select case o con if ma.. Niente da fare non ho ottenuto risultato, adesso vorrei poterci riuscire magari col vostro aiuto.

Grazie in anticipo
Che modulo BT usi?
Ciao
C
Logged

Arduino UNO r3, Arduino MEGA 1280, adafruit motor shield, bluetooth module, enc28j60 shield.
Ultimi acquisti: un sacco di componenti elettronici, ATTEN AT 8586

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

JY-MCU

Questo qui
Logged

Genova
Offline Offline
Faraday Member
**
Karma: 17
Posts: 2747
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
ho cominciato provando a far accendere un led tramite bottone fisico, fin qui tutto okay!

Quote
Poi mi sono detto perché non provare tramite bluetooth con un dispositivo Android? Fin qua tutto bene ho anche fatto l'applicazione android.

Direi che è un problema software se entrambe le parti funzionano singolarmente, quindi senza software perdiamo tempo noi e tu  smiley-roll-blue

ciao
Logged

Meglio imparare dalle cose inutili piuttosto che non imparare niente.   [Arduino Mega R3 + Ethernet shield W5100 + SD card 8Gb FAT32]

Napoli
Offline Offline
Sr. Member
****
Karma: 5
Posts: 349
Post fata resurgo
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Per riuscire prova ad astrarre il concetto di comando, in pratica, fai in modo che qualsiasi comando (da pulsante, BT, ...) venga tradotto in un valore assegnato ad una variabile, ad esempio impostandola ad 1. Se la variabile assume valore 1, accendi il LED, se assume valore 2 lo spegni.

Ci sono soluzioni più eleganti, ma questa è sufficientemente semplice per aggirare l'ostacolo.

Saluti,
Dario.
Logged

Souliss - Open-source Distributed Home Automation with Arduino and Android

http://www.souliss.net
Follow at @soulissteam

@veseotech

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Okay, scusate l'assenza ma ho avuto un bel po' da fare, ecco il codice che ho provato a scrivere:

Code:
int led = 13   
int puls = 2
char val;
int Valore = 0;   

void setup()
{
  pinMode(led, OUTPUT);   
  pinMode(puls, INPUT);
  Serial.begin(9600);
}


void loop(){
  Valore = digitalRead(puls);
  if (Valore == HIGH)
{
    digitalWrite(led, HIGH);
  }
  else
  {
    digitalWrite(led, LOW);
  }

 
if( Serial.available() )     
  {
    val = Serial.read();         
  }
  if( val == 'G' )               
  {
    digitalWrite(Led, HIGH); 

  }


}




Col bluetooth funziona ma dal pulsante no..
Logged

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 103
Posts: 6588
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
const byte led = 13;   
const byte puls = 2;
char val;
byte statusled = LOW;

void setup()
{
  pinMode(led, OUTPUT);   
  pinMode(puls, INPUT);
  Serial.begin(9600);
}


void loop(){
  const byte button = digitalRead(puls);
  delay(10); // debounce

  if (button == HIGH) statusled = HIGH;

  if( Serial.available() )     
  {
    val = Serial.read();         
  }

  if( val == 'G' ) statusled = HIGH;

  digitalWrite(led, statusled); 
}

Devi inserire il codice per impostare statusled = LOW perchè altrimenti il led non si spegne.
Può essere un if di un carattere tipo if( val == 'F' ) statusled = LOW; oppure un qualsiasi altro comando.
Per il pulsante puoi vedere l'esempio --> http://arduino.cc/en/Tutorial/ButtonStateChange
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Offline Offline
Newbie
*
Karma: 1
Posts: 22
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

per curiosità posso chiederti con che programma, in che linguaggio, e il codice dell'app che hai creato per android?

Grazie Gio
Logged

Pages: [1]   Go Up
Jump to: