Autore Topic: Arduino  (Letto 15710 volte)

Offline doublemm

  • Maestro Gambero
  • ****
  • Post: 445
    • Mostra profilo
Re: Arduino
« Risposta #75 il: 03 Dicembre 2011, 23:03:47 »
anche io ho iniziato ad giocherellare con arduino :) .......

quindi ho provato a far interagire arduino con gambas  :coder:

http://www.youtube.com/watch?v=3PCImi6KhBA&feature=youtu.be

bello, è possibile dare un occhiata al codice?
Matteo DoubleMM Mion

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Arduino
« Risposta #76 il: 04 Dicembre 2011, 09:52:27 »
tieni present eche di c io non so aasolutamente nulla!

quindi il codice dello sketch è lungi dall' essere decente, infatti non sono riuscito a "trasformare " un byte direttamente in un int e ho dovuto usare una serie di if else if, non molto pulito ma cmq funzionante:)
Codice: [Seleziona]
#include <LiquidCrystal.h>
#define l1 2
#define l2 3
#define l3 4
#define l4 5
#define l5 6
#define l6 7
#define l7 8
#define l8 9
#define l9 10
#define l10 11
#define led 13
byte in=0;
int tipo=0;
int pin=0;
int connesso=0;
//char nomi["led 1","led 2","led 3","led 4","led 5","led 6","led 7","led 8","led 9"];

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(22, 23, 24, 25, 26, 27);

int i=0;

void setup() {
  Serial.begin(9600);
  pinMode(l1,OUTPUT);
  pinMode(l2,OUTPUT);
  pinMode(l3,OUTPUT);
  pinMode(l4,OUTPUT);
  pinMode(l5,OUTPUT);
  pinMode(l6,OUTPUT);
  pinMode(l7,OUTPUT);
  pinMode(l8,OUTPUT);
  pinMode(l9,OUTPUT);
  pinMode(l10,OUTPUT);
  pinMode(led,OUTPUT);
  // set up the LCD's number of rows and columns:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.setCursor(0,0);
  lcd.print("TEST seriale 1");
  lcd.setCursor(0,1);
  lcd.print("by fsurfing");
 
  delay(1000);
}
void loop(){
 
  if (connesso==0){
    attendi();
  }else{
    if(Serial.available()>0){
     
      in=Serial.read();
      char a=char(in);
     
      if(a=='i'){
        tipo=1;
      }else if (a=='o'){
        tipo=0;
      }else if(a!='#' && a!='i' && a!='o'){
        if (a=='0'){
          pin=2;
        }else if(a=='1'){
          pin=3;
        }else if(a=='2'){
          pin=4;
        }else if(a=='3'){
          pin=5;
        }else if(a=='4'){
          pin=6;
        }else if(a=='5'){
          pin=7;
        }else if(a=='6'){
          pin=8;
        }else if(a=='7'){
          pin=9;
        }else if(a=='8'){
          pin=10;
        }else if(a=='9'){
          pin=11;
        }
     
        cambia(pin,tipo);
      }
    }   
   
   
  }   
 
}
void cambia(int pin,int tipo){
  digitalWrite(pin,tipo);
  lcd.clear();
  if (tipo==1){
    lcd.print("Acceso led ");
  }
  if (tipo==0){
    lcd.print("Spento led ");
  }
  lcd.setCursor(0,1);
  int p=pin-1;
  lcd.print(p);
  p=tipo*1000+pin;
  Serial.print(p);
  Serial.print("\n");
}
void attendi(){
  if(Serial.available()>0){
    in=Serial.read();
      char a=char(in);
        if (a=='#'){
          Serial.print("ok");
          connesso=1;
          lcd.clear();
          lcd.print("Connesso");
        }
  }
  delay(100);
}
il codice gambas invece non è nullaltro che il codice dell' esempio serial port, modificato in modo che ogni pulsente alla pressione invii sulla seriale il comando di accensione e spegnimento dei vari pin


Codice: [Seleziona]
Public Sub Button8_Click()
   
    If l4 Then
       Print #Sport, "o3"; Chr$(13); Chr$(10); 'comando accensione
        l4 = False
    Else
         Print #Sport, "i3"; Chr$(13); Chr$(10);'comando spegnimento
        l4 = True
    Endif
End

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Arduino
« Risposta #77 il: 06 Dicembre 2011, 17:21:56 »
int i = (int)var_byte

Offline biggsman

  • Gamberetto
  • *
  • Post: 43
    • Mostra profilo
Re: Arduino
« Risposta #78 il: 23 Ottobre 2013, 17:24:07 »
che bello! ed interessante  hummmm... se ne può avere il codice?


Offline biggsman

  • Gamberetto
  • *
  • Post: 43
    • Mostra profilo
Re: Arduino
« Risposta #79 il: 23 Ottobre 2013, 19:41:43 »
ho provato ma non mi funziona..
 :o

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Arduino
« Risposta #80 il: 23 Ottobre 2013, 20:55:03 »
troppo generico ...esplicati meglio  :D

Offline biggsman

  • Gamberetto
  • *
  • Post: 43
    • Mostra profilo
Re: Arduino
« Risposta #81 il: 23 Ottobre 2013, 21:08:38 »
ok!
ho copiato il codice dello sketch e passato ad arduino
ho copiato il codice per gambas e l ho incollato nell' evento click di un button nel codice serial port degli esempi
volendo accendere il led 8 ho aggiunto : Dim l8 As Boolean e modificato tra gli apici
Codice: [Seleziona]
Dim l8 As Boolean
     
    If l8 Then
       Print #Sport, "o8"; Chr$(13); Chr$(10); 'comando accensione
        l8 = False
    Else
         Print #Sport, "i8"; Chr$(13); Chr$(10); 'comando spegnimento
        l8 = True
    Endif
ma se clicco non accendo alcun led..
« Ultima modifica: 23 Ottobre 2013, 21:11:40 da biggsman »

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Arduino
« Risposta #82 il: 23 Ottobre 2013, 22:19:43 »
purtroppo non ho più arduino sottomano  (è occupato per un progetto fotografico) per cui non posso aiutarti molto.

ti consiglio (non sapendo a che livello sei di programmazione ) di iniziare passo passo, ovvero inizia a dialogare con arduino tramite l' esempio serial port di gambas (la porta è /dev/ttyACM0) poi provi a far azionare le uscite tramite i comandi di seriale

Offline biggsman

  • Gamberetto
  • *
  • Post: 43
    • Mostra profilo
Re: Arduino
« Risposta #83 il: 24 Ottobre 2013, 12:04:43 »
il mio livello di programmazione è abbastanza scarso e limitato al Vb..
Sto migrando a gambas perchè non voglio più avere a che fare co Micro$oft  :hatecomputer: e da tre anni uso Mint..   :)
Se potessi avere quel file che esegui nel filmato e il relativo .ino penso riuscirei studiandoli a comprendere come funziona ed imparare..  :rolleyes:

Offline Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 959
    • Mostra profilo
Re: Arduino
« Risposta #84 il: 02 Ottobre 2014, 17:26:30 »
Dear youtube administrators, your search bar is broken. When I type the letter "J" it appears justin bieber when it should appear Jimi Hendrix. Fix this, please.