Pages: [1] 2   Go Down
Author Topic: come far comunicare app windows con arduino uno  (Read 1176 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 48
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

vorrei fare un app che accenda un led con arduino ma non ho  la scheda wifi per arduino quindi il tramite dovrà essere la normale usb , quindi come faccio a creare un app in grado di cominicare con arduino in c++ ?? avete qualche esempio o tutorial io non saprei proprio come fare ad inviare le informazioni da un app in c++ ad arduino

grazie in anticipo
Logged

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

non è molto difficile, anzi è più semplice di quanto sembra..il consiglio che ti do è lascia stare c++ e vai su c# troverai molti esempi anche su google..in c# devi utilizzare la seriale e comunicare con la porta com dell'arduino una volta connesso..
Logged

ivrea (to)
Offline Offline
Faraday Member
**
Karma: 87
Posts: 5057
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Qualsiasi linguaggio che permetta di usare la seriale. VB, C, C++, C#, Java, Processing, etc.  
Poi il protocollo ovvero i dati che spedisci/ricevi su seriale e che permettono di far dialogare il tuo programma ed Arduino, dipende da te.
Programma su PC e su Arduino devono capire e interpretare i comandi che tu stabilisci.
Esempio il protocollo stabilisce che       L01A   vuol dire L=led  01=numero 1  A=accendi   L01S=spegni il led numero 1.
Arduino deve accendere/spegnere il led giusto in base a questo comando che riceve.

P.S. Processing alla fine è Java
« Last Edit: January 27, 2014, 03:32:55 am by nid69ita » Logged

my name is IGOR, not AIGOR

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 271
Posts: 21939
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

La cosa piú semplice é processing e la libreria firmata.
Ciao Uwe
Logged

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

ok sapreste dove posso trovare un esempio gia fatto cosi da farmi un idea ? , possibilmente in c++ io di solito uso il dev c++ come copilatore va bene ?
Logged

ivrea (to)
Offline Offline
Faraday Member
**
Karma: 87
Posts: 5057
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ripeto, qualsiasi linguaggio/IDE che permetta di usare la seriale.

Un esempio ho trovato questo:
http://salilkapur.wordpress.com/2013/03/08/communicating-with-arduino-using-c/
Esempio per Linux perciò il nome della Seriale (vista come un file) è tty...  mentre in Windows è COMxx  dove xx è un numero
Logged

my name is IGOR, not AIGOR

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

posso conpilarlo col dev c++ ?
Logged

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

l'ho compilato correttamente ma nn fa nulla
« Last Edit: January 27, 2014, 05:19:41 am by qwertyroby » Logged

ivrea (to)
Offline Offline
Faraday Member
**
Karma: 87
Posts: 5057
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si, a me risulta mancante la sleep, fatta come funzione, cosi:
Code:
#include <iostream>
#include <time.h>

using namespace std;
time_t now, later;
 
void sleep(int delay)
{ now=time(NULL);
  later=now+delay;
  while(now<=later)now=time(NULL);
}

int main(int argc, char *argv[])
{
    int data[] = {10,5,13};  //Random data we want to send
    FILE *file;
    file = fopen("COM1","w");  //Opening device file
    int i = 0;
    for(i = 0 ; i < 3 ; i++)
    { printf("Invio numero %d\n",i);
      fprintf(file,"%d",data[i]); //Writing to the file
      fprintf(file,"%c",','); //To separate digits
      sleep(1);
    }
    fclose(file);
    system("PAUSE");   // aspetta pausa
    return EXIT_SUCCESS;
}

In pratica spedisce "10,5,13,"
« Last Edit: January 27, 2014, 06:05:10 am by nid69ita » Logged

my name is IGOR, not AIGOR

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

con il tuo listato invia 3 numeri , ma non ho ancora capito cosa ci fa arduino ?
e poi non dovrebbe restituire qualcosa in cambio ?
il tuo listato apre un file com5 ma in quello dell'esempio è ad esempio " /dev/COM5"
« Last Edit: January 27, 2014, 05:30:07 am by qwertyroby » Logged

ivrea (to)
Offline Offline
Faraday Member
**
Karma: 87
Posts: 5057
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non è che te lo scrivo io il programma.   smiley-lol
Hai visto il link in inglese precedente?
Questo codice manda dei dati ad Arduino. Su Arduino ci deve essere caricato lo sketch con il codice di quel link.

I due comunicano, perciò un programma gira su PC (questo) e uno su Arduino e tramite seriale si mandano dei dati.
In questo esempi da PC -> Arduino. 
Per ricevere da PC userai la fread().  Da PC la seriale è come un file.
Logged

my name is IGOR, not AIGOR

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

io su arduino uno  ho caricato lo sketch del link
e ho letto in quel listato che dovrebbe dare un numero in out nella console di arduino
Logged

ivrea (to)
Offline Offline
Faraday Member
**
Karma: 87
Posts: 5057
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hai settato lato PC la seriale giusta?
Code:
file = fopen("COM1","w");

Qui indico COM1. Arduino su che porta è ?
Logged

my name is IGOR, not AIGOR

Offline Offline
Jr. Member
**
Karma: 2
Posts: 61
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Anziché sviluppare il colloquio a basso livello, posso consigliare di usare la mia libreria Java Ardulink. In questo modo puoi concentrarti solo su quello che ti serve veramente.

www.ardulink.org

Fammi sapere magari ho anche qualche esempio.

Logged

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

@nid69ita
mi invia i numeri 0 ,1 ,2 , la mia porta e la com5 e l'avevo gia cambiata nel programma ma nonostante questo arduino nn fa nulla , xk ?
Logged

Pages: [1] 2   Go Up
Jump to: