Show Posts
Pages: 1 [2] 3 4 ... 100
16  International / Generale / Re: invio sms shield gsm on: September 12, 2014, 11:07:23 am
Bastava aggiungere un ciclo infinito alla fine del loop.
Comunque ho riscritto il tutto con qualche commento e con l'utilizzo della funzione F() per risparmiare memoria.
Code:
#include <GSM.h>

#define PINNUMBER ""

char remoteNumber[20] = "+39347.....79";
char txtMsg[200] = "messaggio SMS";

GSM gsm;          // definizione oggetto gsm
GSM_SMS sms;      // definizione oggetto sms

void setup() {

  Serial.begin(9600);

  Serial.println(F("SMS Messages Sender"));

  while(gsm.begin(PINNUMBER) != GSM_READY) {  // ciclo attesa connessione alla cella
    Serial.println(F("Not connected"));
    delay(1000);
  }
  Serial.println(F("GSM initialized"));
}

void loop() {
  sendSMS();
  while(true) {};    // qui il processore entra in loop infinito perché ha terminato
}

void sendSMS() {
  Serial.println(F("SMS sending..."));
  Serial.println(remoteNumber);
  Serial.println(txtMsg);
  sms.beginSMS(remoteNumber);
  sms.print(txtMsg);
  sms.endSMS();
  sms.flush();
  Serial.println(F("SMS sendeed"));
}
17  International / Software / Re: Controllare una mini turbina eolica con arduino uno on: September 12, 2014, 10:20:39 am
Non ho testato il programma: consideralo solo come linea guida di quello che devi fare.

Code:
#define encoderPinA  2   //
#define encoderPinB  4

const byte ImpulsiGiro= 200;  // numero impulsi emessi con una rotazione completa
const byte Intervallo = 1;  // secondi che devono passare prima di calcolare la velocità
unsigned long Timer = 0;  // variabile usata per il timer
volatile unsigned int encoderPos = 0;  // posizione encoder
float Velocita = 0.0;  // velocità in giri/secondo

void setup() {
  pinMode(encoderPinA, INPUT_PULLUP);  // pin usato come input e inserimento resistore interno di pullup da 22k
  pinMode(encoderPinB,  INPUT_PULLUP);

  attachInterrupt(0, Conta, FALLING );  // interrupt 0 sul pin 2 quando il segnale passa da HIGH a LOW
  Serial.begin (9600);
}

void loop() {
  if (millis() - Timer > Intervallo) {  // controllo timer dopo tot secondi (Intervallo)
    Velocita = float(encoderPos / ImpulsiGiro / Intervallo);  // impulsi totalizzati diviso 200 in tot secondi
    Timer = millis();  // timer ripartito
  }
  if (encoderPos > ImpulsiGiro) encoderPos = 0;  // reset contatore dopo ogni giro
  Serial.println (encoderPos, DEC);
  Serial.println (Velocita);
}

void Conta() {
  if (digitalRead(encoderPinA) == digitalRead(encoderPinB)) encoderPos ++; // determina direzione - somma impulso
  else encoderPos --; // determina direzione contaria - sottrae impulso
}
18  International / Generale / Re: invio sms shield gsm on: September 12, 2014, 09:59:22 am
Posta lo sketch che funziona, anche se invia più SMS.
19  International / Generale / Re: Controllo pulsante/rele impianto on: September 12, 2014, 05:17:09 am
Se non ho capito male vuoi far passare i segnali dei pulsanti a 5V all'interno della canalizzazione.

Specie su lunghe tratte, questi segnali, oltre ad affievolirsi, è facile che possano essere sottoposti a disturbi: anche 1V di disturbo potrebbe essere mal interpretato dalla logica TTL di Arduino.

Per evitare ciò, devi usare segnali a 12V o 24V che convertirai in segnali a 5V tramite partitore oppure (meglio) tramite fotoaccoppiatore.
20  International / Hardware / Re: Sensore alcoltest? on: September 11, 2014, 07:15:41 pm
Non sono un chimico, ma dalle caratteristiche la sua sensibilità è verso l'Alcol etilico e, in misura minore, al Benzene.
21  International / Hardware / Re: Sensore alcoltest? on: September 11, 2014, 03:39:29 pm
Quote
mi sembra simile all'mq3 quello..

Non proprio.

Se osservi le caratteristiche la tensione del riscaldatore deve essere 0.9V (+/- 0.1V) e la corrente richiesta è minore (120-140 mA).

Per ottenere un pre-riscaldamento rapido, si può dare per 5/10 secondi una tensione doppia (2-2.4V).

Credo che sia simile a quella da te "bruciato" a 5V.
22  International / Generale / Re: invio sms shield gsm on: September 11, 2014, 03:29:32 pm
Forse è la subroutine sendSMS() che non va a buon fine.

Prova a controllare il valore di ritorno dal sms.endSMS() usando invece Serial.print(sms.endSMS()).
23  International / Software / Re: Controllare una mini turbina eolica con arduino uno on: September 11, 2014, 03:24:39 pm
Dovresti usare gli external interrupt (il secondo esempio nella pagina che ti ho segnalato).

In realtà, per la tua applicazione non è necessario determinare la direzione (la turbina fira sempre nella stessa direzione) e quindi il sensore potrebbe essere un semplice sensore Hall pilotato da uno o più magneti.

Comunque, nel loop dovrai controllare ogni secondo (oppure ogni tot secondi) quanti impulsi ha totalizzato il contatore ottenendo la velocità.

Più o meno una cosa del genere:

Code:
#define encoderPinA  2
#define encoderPinB  4

const byte ImpulsiGiro= 200;
const byte Intervallo = 1;
unsigned long Timer = 0;
volatile unsigned int encoderPos = 0;
float Velocita = 0.0;

void setup() {
  pinMode(encoderPinA, INPUT_PULLUP);
  pinMode(encoderPinB,  INPUT_PULLUP);

  attachInterrupt(0, Conta, FALLING );  // encoder pin on interrupt 0 - pin 2
  Serial.begin (9600);
}

void loop() {
  if (millis() - Timer > Intervallo) {
    Velocita = float(encoderPos / ImpulsiGiro / Intervallo);
  }
  if (encoderPos > 200) encoderPos = 0;
  Serial.println (encoderPos, DEC);
  Serial.println (Velocita);
}

void Conta() {
  if (digitalRead(encoderPinA) == digitalRead(encoderPinB)) encoderPos ++;
  else encoderPos --;
}
24  International / Generale / Re: Controllo pulsante/rele impianto on: September 11, 2014, 05:18:58 am
La battuta di Pablos sembra ti abbia urtato un po' e me ne dispiace, ma sono sicuro che non era detta in senso offensivo.

Tuttavia la mia sensazione è che tu non conosca i pericoli a cui vai incontro.
Già solo la scelta dei materiali è preoccupante: una MEGA originale costa sui 50 euro e se quella da te scelta ne costa 13 vuol dire che è "cinese".
Personalmente non affiderei la mia vita e quella dei miei familiari a dei prodotti che non siano di prima qualità.

Dal punto di vista legale, le attuali normative prevedono una certificazione dell'impianto elettrico di casa redatta da un professionista abilitato e dubito che possa firmare un documento che si basi sul tuo progetto, almeno quello che sembra tu voglia affrontare.

Ascolta il mio consiglio: parla con un elettricista esperto del tuo progetto e ascolta il suo parere prima di andare avanti.
25  International / Generale / Re: invio sms shield gsm on: September 11, 2014, 03:08:14 am
Se lo sketch è quello che hai indicato, la variabile c, dopo aver inviato lo SMS, si incrementa, quindi il successivo controllo if dovrebbe ritornare FALSE (c è maggiore di 1) e non inviare nulla.

Sei sicuro che sia quello lo sketch effettivamente utilizzato?
26  International / Generale / Re: Controllo pulsante/rele impianto on: September 11, 2014, 02:56:33 am
Quote
Avevi capito perfettamente solo che questo era il progetto in origine a dire il vero.
Ora ho optato per controllare tutto tramite arduino (mega 2560)-----scheda relè e luci comandate direttamente da quest'ultima visto il modesto assorbimento, mentre per le prese delle quali a priori non conosco il carico metterò un rele finder da almeno 16A al quale collego il relè della scheda collegata all'arduino.

Supponiamo che la MEGA smetta di funzionare: come farai ad accendere manualmente le luci?
27  International / Software / Re: Controllare una mini turbina eolica con arduino uno on: September 11, 2014, 02:49:57 am
Comincia a leggere questa pagina:

http://playground.arduino.cc/Main/RotaryEncoders
28  International / Software / Re: Controllare una mini turbina eolica con arduino uno on: September 11, 2014, 02:42:53 am
Forse desideri ottimizzare la posizione del rotore in funzione della direzione del vento?
29  International / Generale / Re: prototipo gioco softair. on: September 11, 2014, 01:25:49 am
Forse puoi risolvere il problema più semplicemente con un sensore PIR di rilevazione movimento.
30  International / Hardware / Re: Sensore alcoltest? on: September 11, 2014, 12:58:13 am
Come ti ha detto il buon Leo, i sensori di Alcol economici non sono molto precisi.

In più richiedono una stabilizzazione della temperatura di 24-48 ore oltre che una taratura.

http://www.alcolino.it/tipi_sensore_etilometro.php

http://www.figarosensor.com/products/822pdf.pdf
http://www.robot-italy.com/it/alcohol-sensor-mq-303a.html
Pages: 1 [2] 3 4 ... 100