Show Posts
Pages: [1]
1  International / Generale / Arduino YUN - Wi-Fi instabile con alimentazione esterna on: January 17, 2014, 12:13:25 pm
Salve a tutti, vi spiego la mia situazione. Ho una batteria da 12V che va ad alimentare un Arduino UNO tramite il regolatore integrato sul pin Vin.
L'Arduino UNO ha uno sketch che comunica in seriale con l'Arduino YUN. Per Alimentare la YUN ho collegato l'uscita del regolatore dell'Arduino UNO (pin 5V) al pin Vin dell'Arduino YUN e ho messo GND in  comune.
Fin qui tutto bene. 
Al collegamento della batteria si accende la UNO, sulla YUN si accendono i led Power e WAN, dopo circa 1 secondo il led WAN  si spegne. Dopo quasi 1 minuto la YUN crea la propria rete wi-fi, e fin qui va tutto come dovrebbe andare.
Il problema è che dopo pochi secondo (circa 20) la rete wi-fi della YUN sparisce, sebbene la scheda rimanga accesa e alimentata.

La mia unica supposizione è che il regolatore della UNO non riesca fornire i 5V perfettamente stabilizzati quando la YUN crea la rete wi-fi... Però non mi quadra la cosa. Per quel che ne so il regolatore della UNO può erogare fino a 1A, e la YUN arriva al massimo a 300 o 400mA di consumo
Qualcuno ha idea di quale possa essere il problema?

Saluti, Simone.
2  International / Software / Re: Arduino WiShield 1.3 on: November 16, 2012, 09:43:23 am
Quote
Le prime difficoltà che ho avuto sono state, cambiare le librerie per l' ide 1.x, cambiare la libreria con il numero di pin corretto per l' interrupt.
Inizialmente sembrava funzionare tutto ma non si accendeva il led della connessione alla rete. Pensavo fosse un problema di alimentazione e invece era un problema della libreria che faceva riferimento ad un pin dell' arduino errato. Forse non è il tuo caso.. ma sempre meglio controllare..
Mi sembra strano che la libreria abbia i pin sbagliati. Lo shield che ho comprato è descritto in un rivista di elettronica dove insegnano come usarlo. Ho seguito passo passo le loro indicazioni e ho usato pure la loro stessa versione della libreria wishield e dell'IDE. Non parlavano di dover cambiare la configurazione dei pin della libreria. Inoltre non ho la più pallida idea di dove si trovi la configurazione dei pin nella libreria  smiley-mr-green

Quote
Prova a impostare il collegamento ADHOC creandoti nel tuo pc una connessione wireless senza protezione, in modo di collegare l' arduino direttamente al tuo pc.
Uso un pc fisso e non ho la pennina wi-fi. ma dammi qualche giorno e una pennina wi-fi la trovo per provare una ADHOC.

Quote
Se hai la criptazione abilitate, la connessione alla rete impiega un bel po', non è immediata..
Ora non ho tempo. Quando posso provo a togliere la password e riprovo. Dato che lo shield è dotato di ingresso microSD, proverò anche a inserirne una e caricarci qualcosa, giusto per provare che non sia un problema hardware.
3  International / Software / Re: Arduino WiShield 1.3 on: November 14, 2012, 08:46:33 am
Quote
Che bello sappiamo tutti la password della Tua rete Wireless.
smiley-mr-green magari è quella giusta sul serio... 

Quote
Ma il PC dal quale chiami Arduino é sotto lo stesso router?
Si è lo stesso, e ho già controllato eventuali conflitti di IP dato che lo wishield supporta solo l'IP statico
4  International / Software / Arduino WiShield 1.3 on: November 13, 2012, 12:54:53 pm
Salve a tutti, ho da poco comprato un Arduino UNO e questo shield wi-fi:
http://www.futurashop.it/allegato/8190-WIFI_SHIELD.asp?L2=SHIELD%20E%20ACCESSORI%20ARDUINO&L1=SOFTWARE%20E%20SISTEMI%20DI%20SVILUPPO&L3=&cd=8190-WIFI_SHIELD&nVt=&d=56,00
 Per provare il tutto ho deciso di caricare sulla scheda lo sketch di esempio di un Server che è disponibile nella pagina che vi ho linkato.
Ho modificato i parametri secondo la mia rete ma il tutto non va. Lo sketch viene compilato e caricato correttamente ma il browser internet non mostra la pagina che dovrebbe mostrare all'indirizzo IP della scheda.
Ho letto che arduino IDE 1.0 ha qualche problema con questa libreria e quindi ho scaricato la versione 0023, che compila lo sketch senza problemi.
Un altra cosa strana, non so se è normale ma se in indirizzo Gateway metto un indirizzo sbagliato, sulla scheda si accende il LED verde, ovvero quel led che dovrebbe accendersi premendo il pulsante sulla pagina web invita da arduino. Sono giorni che ci lavoro ma non c'è modo di farla andare  smiley-confuse
Qui di seguito metto lo sketch che ho caricato sulla scheda, eccetto la password che è stata cambiata.
Code:
/******************************************************
 SoftwareDemo1WebServerWiFi
 Esempio codice Web Server tramite Wi-Fi
 Autori: Ingg. Tommaso Giusto e Ing. Alessandro Giusto
 Email:  tommro@libero.it
******************************************************/

// Inclusione Libreria per Server Web WiFi
#include <WiServer.h>

// Definizione pin INPUT/OUTPUT
int Pin_Led_Rosso = 7;  // Led rosso uscita digitale 7

// Definizione Variabili Globali Stato Led
byte Stato_Led_Rosso = 0;  // Stato led rosso

// Definizione Parametri Rete Wireless
#define WIRELESS_MODE_INFRA 1  // Infrastrutturata (basata su Access Point)
#define WIRELESS_MODE_ADHOC 2  // Ad-hoc (senza Access Point)

unsigned char local_ip[] = {192, 168, 1, 25};      // Indirizzo IP
unsigned char gateway_ip[] = {192, 168, 1, 1};    // Indirizzo gateway IP
unsigned char subnet_mask[] = {255, 255, 255, 0};   // Subnet Mask
const prog_char ssid[] PROGMEM = {"Vodafone-26874622"};    // SSID access point

// Selezione tipo di cifratura rete Wireless
unsigned char security_type = 3;  // 0 -> nessuna cifratura
                                  // 1 -> cifratura WEP
                                  // 2 -> cifratura WPA
                                  // 3 -> cifratura WPA2

// Password cifratura per WPA/WPA2 (max. 64 cratteri)
const prog_char security_passphrase[] PROGMEM = {"12345abc"};

// Password cifratura per WEP 128-bit keys
prog_uchar wep_keys[] PROGMEM = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

// Selezio  ne tipo di rete Wireless infrastrutturata
unsigned char wireless_mode = WIRELESS_MODE_INFRA;

// Variabili per lunghezza SSID e password di cifratura
unsigned char ssid_len;
unsigned char security_passphrase_len;

// Inizializzazione Scheda
void setup() {
  // Inizializzo pin usati come INPUT/OUTPUT
  pinMode (Pin_Led_Rosso, OUTPUT);

  // Inizializzo WiServer (Gestione_Richieste_Web per creare/trasmettere pagine HTML)
  WiServer.init (Gestione_Richieste_Web);
  // Inizializzo porta seriale
  Serial.begin (9600);
  WiServer.enableVerboseMode (false);

  // Spengo led rosso
  Led_Rosso_OFF();
}

// Programma Principale
void loop() {
  // Avvio WiServer
  WiServer.server_task();

}

// Gestione diverse richieste provenienti dal WEB
// INPUT:   URL pagina web richiesta
// OUTPUT:  Flag URL riconosciuto/non riconosciutoo
boolean Gestione_Richieste_Web (char* URL) {
  // Se URL richieso corrisponde a "/" (pagina index)
  if (strcmp (URL, "/") == 0) {
    // Secondo gli I/O creo e invio le pagine Web
    Invia_Pagina_Web();

    // Ritorno URL è stato riconosciuto
    return (true);
  }    // Chiusura if URL richieso corrisponde a "/" (pagina index)
  
  // Se URL richieso corrisponde a "?OPERATION=ACCENDI_ROSSO
  if (strcmp (URL, "/?OPERATION=ACCENDI_ROSSO") == 0) {
    // Accendo led rosso
    Led_Rosso_ON();
    Stato_Led_Rosso = 1;

    // Secondo gli I/O creo e invio le pagine Web
    Invia_Pagina_Web();

    // Ritorno URL è stato riconosciuto
    return (true);
  }    // Chiusura if URL richieso corrisponde a "?OPERATION=ACCENDI_ROSSO"

  // Se URL richieso corrisponde a "?OPERATION=SPEGNI_ROSSO"
  if (strcmp (URL, "/?OPERATION=SPEGNI_ROSSO") == 0) {
    // Spengo led rosso
    Led_Rosso_OFF();
    Stato_Led_Rosso = 0;

    // Secondo gli I/O creo e invio le pagine Web
    Invia_Pagina_Web();

    // Ritorno URL è stato riconosciuto
    return (true);
  }    // Chiusura if URL richieso corrisponde a "?OPERATION=SPEGNI_ROSSO"

  // Ritorno URL non riconosciuto
  return (false);
}

// Funzione che, secondo gli I/O, crea e invia le pagine Web
void Invia_Pagina_Web() {
  // Usando le funzioni WiServer.print trasmette al pagina Web da visualizzare
  WiServer.print ("<html>");
  WiServer.print ("<head>");
  WiServer.print ("<meta http-equiv=""refresh"" content=""10;url=http://");
  WiServer.print (local_ip[0], DEC);
  WiServer.print (".");
  WiServer.print (local_ip[1], DEC);
  WiServer.print (".");
  WiServer.print (local_ip[2], DEC);
  WiServer.print (".");
  WiServer.print (local_ip[3], DEC);
  WiServer.print ("/"" />");
  WiServer.print ("</head>");
  WiServer.print ("<p align=""center"">");
  WiServer.print ("Hello World!<br>");
  WiServer.print ("Esempio Web Server tramite librerie WiShield<br>");
  WiServer.print ("By Ingg. Tommaso Giusto e Ing. Alessandro Giusto<br>");
  WiServer.print ("(tommro@libero.it)<br>");
  
  // Se led rosso spento
  if (Stato_Led_Rosso == 0) {
    WiServer.print ("<form>Led rosso spento<br>");
    WiServer.print ("<method=GET>");
    WiServer.print ("<input type=submit name=OPERATION value=ACCENDI_ROSSO></form><br>");
  }    // Chiusura if led rosso spento
  // Se led rosso acceso
  else {
    WiServer.print ("<form>Led rosso acceso<br>");
    WiServer.print ("<method=GET>");
    WiServer.print ("<input type=submit name=OPERATION value=SPEGNI_ROSSO></form><br>");
  }    // Chiusura if led rosso acceso

  // Termino pagina HTML
  WiServer.print ("</html>");
}

// Accende il led rosso
void Led_Rosso_ON() {
  digitalWrite (Pin_Led_Rosso, LOW);
}

// Spegne il led rosso
void Led_Rosso_OFF() {
  digitalWrite (Pin_Led_Rosso, HIGH);
}

Un Grazie in anticipo a chi risponde.
Saluti, Simone.
5  International / Generale / Re: Alimentazione Ardumoto e Luigino328 on: March 28, 2011, 07:39:16 am
Ok, grazie a tutti delle risposte, sono perfette smiley-grin
6  International / Generale / Re: Alimentazione Ardumoto e Luigino328 on: March 27, 2011, 07:27:39 am
Grzie mille! Ho imesso 12v sul connettore in basso a dx dell'ardumoto e funziona tutto.
Ora ho un altro questio: è possibile programmare la luigino con la pota micro USB senza rimuovere gli shield e senza usare i pin TX e RX?
Devo per forza utilizzare un adattatore Seriale--USB?
Inoltre è possibile misurare la carica della batteria che alimenta il tutto (12v) tramite la Luigino in modo tale da farla fermare quando la carica si abbassa?
7  International / Generale / Alimentazione Ardumoto e Luigino328 on: March 26, 2011, 09:12:59 am
Ciao a tutti, mi son appena iscritto e è la prima volta che lavoro con arduino.
Ho acuistato una LUIGINO 328 PROTOTYPE http://www.robot-italy.com/product_info.php?cPath=1_119_154&products_id=1645&osCsid=2be4254917c5601b3ecd2c96d7e8e07f  e un ardumoto della verione nuova, ovvero quella come in immagine con il connettore Vin sotto i connettori dei motori

Il mio dubbio è semplice:
Come devo alimentare la Luigino, l'ardumoto e i motori?
I motori sono da 12v e assorbono poco meno di 1A.
Servono  2 alimentazioni separate, una sul pin vin della luigino e una sul connettore VIn dell'ardumoto, oppure se alimento l'ardumoto si alimenta anche Luigno e motori?
Magari è una domanda banale ma voglio essere sicuro. smiley-grin
Pages: [1]