Show Posts
Pages: 1 ... 45 46 [47] 48 49 ... 141
691  International / Generale / Re: pinMode IN/OUT on: April 14, 2014, 09:16:01 am
comunque, tornando al tuo problema

questo e' il circuito equivalente della tua scheda rele'


per capire se e' un problema di consumi eccessivi, togli il jumper presente sulla scheda rele' (Vcc-JD-Vcc ), in modo da togliere l'alimentazione ai rele' e lasciare solo la parte led connessa sui pin di Arduino
Prova e vedi se il problema si ripete
692  International / Generale / Re: Motore destro più veloce di quello sinistro on: April 14, 2014, 09:05:33 am
intanto togli ssid e password dallo sketch

se inverti i due motori, o meglio l'assegnazione dei pin, cosa succede ?
693  International / Generale / Re: pinMode IN/OUT on: April 14, 2014, 07:57:30 am
Quote
Secondo te, considerando che conviene rimanere sui i 20-25mA, conviene tenere sempre in output per ogni pin verso l'ULN2003 delle resistenze da 250ohm che limitano l'assorbimento sui 20-25mA

negli ULN2003 /2803 e' gia' presente una resistenza in serie all'ingresso e limita la corrente a circa 1mA
694  International / Hardware / Re: connettere gettoniera cctalk on: April 14, 2014, 07:50:36 am
ad esempio controllando i livelli di tensione presenti tra Rx e massa  e tra Tx e massa
se sono da 0 a 5 V  e' una TTL
Se risultano piu' alti o inferiori a 0V, e' una RS232 standard
695  International / Hardware / Re: connettere gettoniera cctalk on: April 14, 2014, 06:46:12 am
Se la vuoi usare in ccTalk ti serve un circuito che adatti la linea bidirezionale nei due segnali scomposti
Sotto c'e' lo schema di detto circuito

Se vuoi collegarla in seriale, SE come pare dal manuale sia una seriale TTL, ti bastano 3 fili. Tx,Rx e GND
Ripeto.. SE......  perche' potrebbe pure essere una RS232 standard e allora servirebbe un adattatore di livello ( vedi MAX232 )

696  International / Hardware / Re: Motore DC con Arduino on: April 14, 2014, 04:52:49 am
forse la cosa piu' semplice e' usare un servo

697  International / Hardware / Re: Motore DC con Arduino on: April 14, 2014, 04:39:59 am
Quote
a) che tipo di motore è e come posso farlo funzionare
come hai detto tu, e' un motore DC. Quale siano poi i parametri ( Tensione, corrente, giri etc ) da quella foto non si capisce

Quote
b) posso farlo muovere passo passo, ad esempio solo di 90 gradi?
al massimo puoi farlo girare,
Se lo vuoi pilotare con Arduino ti serve un transistor ( o un Mosfet,  dipende da quanta corrente assorbe )
Se lo vuoi far girare nei due sensi ti serve un ponte H, che altro non e' che un integrato con 4 transitors ( o Mosfet ) che permette di invertire la polarita' della tensione applicta sul motore

Non e' un motore Stepper, quindi non puoi muoverlo passo passo. Quel tipo di motori ha come minimo 4 fili
698  International / Hardware / Re: tensione tra A4988 ed 42byghw609 stepper on: April 13, 2014, 05:10:07 pm
un consiglio, sul chip di quel driver monta un'aletta di raffreddamento.

Lo so' che e' microscopico, ma giusto stamattina, con un motore nema da appunto 1,7 A una schedina appena installata ha fatto....SPLOK
699  International / Software / Re: problema con rfid on: April 13, 2014, 01:10:52 pm
libreria
https://github.com/ljos/MFRC522
cliccare in basso a destra su Download ZIP

scompattare lo zip in una cartella con il nome MFRC522 ( senza la scritta master )

istruzioni d'uso su come installare una libreria
http://arduino.cc/en/Guide/Libraries
segui le istruzioni - Manual installation
700  International / Software / Re: problema gestione pulsante on: April 13, 2014, 12:45:27 pm
ti diamo un aiutino

nel  setup()

devi aggiungere, come ti ha gia' detto guglielmo
Code:
pinMode( 6 , INPUT);
serve a mettere quel pin come ingresso

poi, nel loop() , nel punto in cui vuoi controllare lo stato del pulsante
Code:
int valorePin = digitalRead(6);
che praticamente assegna alla variabile 'valorepin' lo stato in cui si trova il pulsante
Se e' premuto sara' HIGH, se non e' premuto LOW ( questo perche' hai correttamente inserito una resistenza dal Pin al GND )

Ora che hai questa variabile con il valore impostato, devi controllarla, la cosa piu' semplice e' con 'if'
Code:
if ( valorepin == HIGH ) { // controlla se il tasto e' stato premuto ed esegue se la condizione e' vera il codice tra le due graffe
lcd.setCursor(0, 1);
lcd.print("marco           ");
}
else  // altrimenti se la precedente condizione non e' vera, esegue questo ciclo
{
lcd.setCursor(0, 1);
lcd.print("non c'e'        ");
}

Scrive marco solo quando il tasto e' premuto. Ora vai avanti da solo

701  International / Software / Re: problema con rfid on: April 13, 2014, 12:15:06 pm
ohi ohi...
e io che presumevoi tu avessi gia' testato gli esempi

ti da' quell'errrore perche' non hai installato la libreria

702  International / Software / Re: problema gestione pulsante on: April 13, 2014, 11:04:42 am
dai, non ti agitare

piuttosto mettici lo sketch che hai fatto, cosi' ci rendiamo conto a che punto sei arrivato

703  International / Hardware / Re: Stanza domotica on: April 13, 2014, 08:36:07 am
.
704  International / Software / Re: problema con rfid on: April 13, 2014, 06:44:19 am
unire i codici non e' niente, il problema e' capire

codici uniti

Code:
#include <MFRC522.h>
#include <SPI.h>
#include <Servo.h>

#define SAD 10
#define RST 5

MFRC522 nfc(SAD, RST);

Servo myservo;  // create servo object to control a servo
// a maximum of eight servo objects can be created
int pos = 0;    // variable to store the servo position

void setup() {
  SPI.begin();
  // Read a fast as possible. There is a limit for how long we are
  // allowed to read from the tags.

  myservo.attach(9);  // attaches the servo on pin 9 to the servo object

  Serial.begin(115200);

  Serial.println("Looking for MFRC522.");
  nfc.begin();

  // Get the firmware version of the RFID chip
  byte version = nfc.getFirmwareVersion();
  if (! version) {
    Serial.print("Didn't find MFRC522 board.");
    while(1); //halt
  }

  Serial.print("Found chip MFRC522 ");
  Serial.print("Firmware ver. 0x");
  Serial.print(version, HEX);
  Serial.println(".");
}

byte keyA[6] = {
  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, };
byte keyB[6] = {
  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, };

void loop() {
  byte status;
  byte data[MAX_LEN];
  byte serial[5];
  int i, j, pos;

  // Send a general request out into the aether. If there is a tag in
  // the area it will respond and the status will be MI_OK.
  status = nfc.requestTag(MF1_REQIDL, data);

  if (status == MI_OK) {
    Serial.println("Tag detected.");
    Serial.print("Type: ");
    Serial.print(data[0], HEX);
    Serial.print(", ");
    Serial.println(data[1], HEX);
   
    //**************************************************************
    Gira_servo(); // gira servo quando si passa una carta
    //**************************************************************
   
    // calculate the anti-collision value for the currently detected
    // tag and write the serial into the data array.
    status = nfc.antiCollision(data);
    memcpy(serial, data, 5);

    Serial.println("The serial nb of the tag is:");
    for (i = 0; i < 3; i++) {
      Serial.print(serial[i], HEX);
      Serial.print(", ");
    }
    Serial.println(serial[3], HEX);

    // Select the tag that we want to talk to. If we don't do this the
    // chip does not know which tag it should talk if there should be
    // any other tags in the area..
    nfc.selectTag(serial);

    // Assuming that there are only 64 blocks of memory in this chip.
    for (i = 0; i < 64; i++) {
      // Try to authenticate each block first with the A key.
      status = nfc.authenticate(MF1_AUTHENT1A, i, keyA, serial);
      if (status == MI_OK) {
        Serial.print("Authenticated block nb. 0x");
        Serial.print(i, HEX);
        Serial.println(" with key A.");
        // Reading block i from the tag into data.
        status = nfc.readFromTag(i, data);
        if (status == MI_OK) {
          // If there was no error when reading; print all the hex
          // values in the data.
          for (j = 0; j < 15; j++) {
            Serial.print(data[j], HEX);
            Serial.print(", ");
          }
          Serial.println(data[15], HEX);
         
          //**********************************************************************
          Gira_servo(); // carta A riconosciuta, gira il servo
          //**********************************************************************
         
        }
        else {
          Serial.println("Read failed.");
        }
      }
      else {
        // If we could not authenticate with the A key, we will try
        // the B key.
        status = nfc.authenticate(MF1_AUTHENT1B, i, keyB, serial);
        if (status == MI_OK) {
          Serial.print("Authenticated block nb. 0x");
          Serial.print(i, HEX);
          Serial.println(" with key B.");
          status = nfc.readFromTag(i, data);
          if (status == MI_OK) {
            for (j = 0; j < 15; j++) {
              Serial.print(data[j], HEX);
              Serial.print(", ");
            }
            Serial.println(data[15], HEX);
          }
          else {
            Serial.println("Read failed.");
          }
        }
        else {
          Serial.print("Access denied at block nb. 0x");
          Serial.println(i, HEX);
        }
      }
    }

    // Stop the tag and get ready for reading a new tag.
    nfc.haltTag();
  }
  delay(2000);
}

void Gira_servo()
{
  for(pos = 0; pos < 180; pos += 1)  // goes from 0 degrees to 180 degrees
  {                                  // in steps of 1 degree
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
  for(pos = 180; pos>=1; pos-=1)     // goes from 180 degrees to 0 degrees
  {                               
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
}

705  International / Hardware / Re: arduino uno + ventola 12V on: April 13, 2014, 05:50:48 am
per gestire il PWM.
Nelle ventole a 4 fili
+12V
GND
Tachimetrico
PWM

Viene alimentata normalmente e attraverso il filo PWM gestisci la velocita'


Pages: 1 ... 45 46 [47] 48 49 ... 141