Show Posts
Pages: 1 ... 127 128 [129] 130 131 ... 501
1921  International / Megatopic / Re: Ardutester - Arduino Component Tester on: January 02, 2014, 11:56:09 am
Funziona anche con un normale display LCD. Devi cambiare i #define prima di compilarlo.
1922  International / Generale / Re: preject box on: January 02, 2014, 09:43:36 am
--> http://www.robot-italy.com/it/arduino-project-enclosure.html
1923  International / Generale / Re: Aiuto serial port on: January 02, 2014, 09:35:41 am
Infatti Guglielmo, non gli ho detto di prenderla paro paro, ma di trarne spunto per crearsi una sua funzione di lettura, secondo un suo protocollo di comunicazione.
Non è necessario inventare ogni volta la ruota, si può anche scopiazzare, l'open source serve anche per questa.
1924  International / Generale / Re: Aiuto serial port on: January 02, 2014, 08:10:44 am
Puoi prendere spunto anche dalla funzioni presenti nelle librerie allegate all'IDE, ad esempio la parseInt, e crearti la tua funzione di lettura specifica.

Code: (Stream.cpp)
// returns the first valid (long) integer value from the current position.
// initial characters that are not digits (or the minus sign) are skipped
// function is terminated by the first character that is not a digit.
long Stream::parseInt()
{
  return parseInt(NO_SKIP_CHAR); // terminate on first non-digit character (or timeout)
}

// as above but a given skipChar is ignored
// this allows format characters (typically commas) in values to be ignored
long Stream::parseInt(char skipChar)
{
  boolean isNegative = false;
  long value = 0;
  int c;

  c = peekNextDigit();
  // ignore non numeric leading characters
  if(c < 0)
    return 0; // zero returned if timeout

  do{
    if(c == skipChar)
      ; // ignore this charactor
    else if(c == '-')
      isNegative = true;
    else if(c >= '0' && c <= '9')        // is c a digit?
      value = value * 10 + c - '0';
    read();  // consume the character we got with peek
    c = timedPeek();
  }
  while( (c >= '0' && c <= '9') || c == skipChar );

  if(isNegative)
    value = -value;
  return value;
}
1925  International / Software / Re: problema codice timer on: January 02, 2014, 07:53:22 am
Dovevi spostare l'assegnamento di "secondi" nell'IF, altrimenti viene resettato ogni ciclo e togliere il controllo dall'IF dello stato.

Vedi se così funziona.
Code:
unsigned long time;
int secondi;
int potenziometro = A1;
int relay = 8;
int button = 2;
int val = 0;
int stato = 0;
int letturasecondi;

void setup() {
  time = millis();
  pinMode(relay, OUTPUT);
  pinMode(button, INPUT);
} // End Setup

void loop() {
  letturasecondi = analogRead(potenziometro);
  val = digitalRead(button);

  if (val == HIGH)  {
    stato = 1;
    delay(15);
  }

  if (stato == 1)  {
    digitalWrite(relay, HIGH);
    if (millis() >= time + 1000) {
      secondi--;
      time = millis();
    }
  }
  else
    secondi = (letturasecondi / 25.5); //Pot.da 0-40 secondi

  if (secondi == 0)  {
    digitalWrite(relay, LOW);
    stato = 0;
  }

}// End Loop
Il codice è comunque migliorabile.
1926  International / Generale / Usare Arduino Leonardo come programmatore ISP (IDE 1.5.5) on: January 02, 2014, 07:11:46 am
Ieri sera mi sono cimentato ad utilizzare la mia Arduino Leonardo come programmatore ISP e ci sono riuscito.
Ho seguito i passi di questa guida (http://petervanhoyweghen.wordpress.com/2012/09/16/arduinoisp-on-the-leonardo/), applicandola a l'IDE 1.5.5.

1) Ho modificato il file "Arduino as ISP" sostituendo la riga
Code:
#define RESET SS
con
Code:
#define RESET 10
in quanto nella Leonardo il pin SS è collegato al LED RX e non è disponibile all'esterno (d'altronde si è sempre usato il pin 10 per collegare il RESET), salvandolo come "Leonardo as ISP"

2) Ho aggiunto al file "programmers.txt" in \\arduino-1.5.5\hardware\arduino\avr la seguente configurazione
Code: (programmers.txt)
arduinoispleo.name=Arduino as ISP (Leonardo)
arduinoispleo.communication=serial
arduinoispleo.protocol=arduino
arduinoispleo.speed=19200
arduinoispleo.program.protocol=serial
arduinoispleo.program.speed=19200
arduinoispleo.program.tool=avrdude
arduinoispleo.program.extra_params=-P{serial.port} -b{program.speed}

3) Ho caricato sulla Leonardo lo Sketch modificato.

4) Ho effettuato i collegamenti ai rispettivi MISO, MOSI, SCLK e reset al pin 10.
Attenzione: i pin sono quelli del connettore ICSP e non i tradizionale 11, 12 e 13


5) Ho caricato lo sketch da mettere nel micro di destinazione (un ATtiny85), selezionato la board di destinazione, l'eventuale processore, la porta com su cui era attaccato il "Leonardo as ISP" e infine selezionato come programmatore Arduino as ISP (Leonardo)
Premuto "carica" e scritto lo sketch sul micro.  smiley-mr-green
(con la 1.5.5 non c'è necessita di premere "carica con un programmatore", anche se sarebbe l'opzione più corretta)
1927  International / Generale / Re: Comunicazione Attiny85 con Arduino on: January 02, 2014, 06:54:18 am
Ieri notte ho fatto un po' di prove con la versione scaricata dal link.
Ho caricato questo (https://github.com/rambo/TinyWire/blob/master/TinyWireS/examples/attiny85_i2c_slave/attiny85_i2c_slave.ino) sul tiny85 e questo (https://github.com/rambo/I2C/blob/master/examples/i2crepl/i2crepl.ino) su una 2009.
Dando i comandi (occhio agli spazi)
Code:
[ 8 2 [ 9 r ]
e
Code:
[ 9 r r r ]
il tiny85 risponde correttamente come descritto qui
Quote
/**
 * Example sketch for writing to and reading from a slave in transactional manner
 *
 * NOTE: You must not use delay() or I2C communications will fail, use tws_delay() instead (or preferably some smarter timing system)
 *
 * On write the first byte received is considered the register addres to modify/read
 * On each byte sent or read the register address is incremented (and it will loop back to 0)
 *
 * You can try this with the Arduino I2C REPL sketch at https://github.com/rambo/I2C/blob/master/examples/i2crepl/i2crepl.ino
 * If you have bus-pirate remember that the older revisions do not like the slave streching the clock, this leads to all sorts of weird behaviour
 *
 * To read third value (register number 2 since counting starts at 0) send "[ 8 2 [ 9 r ]", value read should be 0xBE
 * If you then send "[ 9 r r r ]" you should get 0xEF 0xDE 0xAD as response (demonstrating the register counter looping back to zero)
 *
 * You need to have at least 8MHz clock on the ATTiny for this to work (and in fact I have so far tested it only on ATTiny85 @8MHz using internal oscillator)
 * Remember to "Burn bootloader" to make sure your chip is in correct mode
 */

Il tiny85 era settato a 1Mhz, oscillatore interno.
1928  International / Hardware / Re: [Arduino DUE] comunicazione I2C on: January 01, 2014, 05:14:15 pm
Scarica la versione dell'IDE 1.5.5 e usa la libreria Wire inclusa.
--> https://github.com/arduino/Arduino/tree/ide-1.5.x/hardware/arduino/sam/libraries/Wire
E' stata convertita per essere usata con i micro ARM.
1929  International / Generale / Re: Comunicazione Attiny85 con Arduino on: January 01, 2014, 01:19:14 pm
La libreria è questa? -->  http://playground.arduino.cc/Code/USIi2c --> https://github.com/rambo/TinyWire
1930  International / Hardware / Re: atmega 328 standalone: BOD e clock on: January 01, 2014, 01:07:10 pm
Aggiungi
Code:
#if defined(ARDUINO) && ARDUINO >= 100
  #include "Arduino.h"
#else
  #include "WProgram.h"
  #include <pins_arduino.h>
#endif
Oppure cerca una vecchia versione.
1931  International / Megatopic / Re: [MAC] Aggiornamento IDE 1.0x all'ultima versione Atmel Toolchain on: January 01, 2014, 01:04:34 pm
Benissimo.  smiley-mr-green
1932  International / Generale / Re: ATmega 1284P e libreria UTFT on: January 01, 2014, 04:37:49 am
 smiley-twist
Scarica la versione più recente.
1933  International / Generale / Re: ATmega 1284P e libreria UTFT on: January 01, 2014, 04:33:15 am
Dovrebbe già funzionare.
Nel changelog c'è
Quote
v2.7   03 Nov 2013   •   added support Bobuino (ATmega1284P)
1934  International / Generale / Re: ATmega 1284P e libreria UTFT on: January 01, 2014, 04:27:54 am
--> https://github.com/stanleyhuangyc/ArduinoTFT

Devi seguire gli esempi degli altri micro e crearti il file "HW_ATmega1284.h".
E poi aggiungere nel file "UTFT.cpp" il codice per richiamarlo
Code:
// Include hardware-specific functions for the correct MCU
#if defined(__AVR__)
        #include <avr/pgmspace.h>
        #if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
                #include "HW_ATmega1280.h"
        #elif defined(__AVR_ATmega328P__)
                #include "HW_ATmega328P.h"
        #elif defined(__AVR_ATmega32U4__)
                #include "HW_ATmega32U4.h"
        #elif defined(__AVR_ATmega168__)
                #error "ATmega168 MCUs are not supported because they have too little flash memory!"
        #else
                #error "Unsupported AVR MCU!"
        #endif
#elif defined(__PIC32MX__)
  #if defined(__32MX320F128H__)
    #pragma message("Compiling for chipKIT UNO32 (__32MX320F128H__)")
        #include "HW_PIC32MX320F128H.h"
  #elif defined(__32MX340F512H__)
    #error "chipKIT uC32 (__32MX340F512H__) is not supported."
  #elif defined(__32MX795F512L__)
    #pragma message("Compiling for chipKIT MAX32 (__32MX795F512L__)")
        #include "HW_PIC32MX795F512L.h"
  #else
    #error "Unsupported PIC32 MCU!"
  #endif
#elif defined(__arm__)
        #if defined(__SAM3X8E__)
                #pragma message("Compiling for Arduino Due (AT91SAM3X8E)...")
                #include "HW_SAM3X8E.h"
        #else
                #error "Unsupported ARM MCU!"
        #endif
#endif
1935  International / Hardware / Re: Fotocamera cellulare on: January 01, 2014, 04:02:45 am
Ultima domanda. È possibile salvare dei dati da arduino in una pennina usb collegata alla porta usb di arduino?

In genere no: Arduino UNO, 2009, Leonardo non hanno la porta USB host, dovresti aggiungere una shield esterna.
Con porta USB host sono la MEGA ADK, la YUN (ma la usb è collegata all'AR9331 e non ad Arduino) e la DUE (microusb).
Pages: 1 ... 127 128 [129] 130 131 ... 501