Newsgroup: it.hobby.elettronica.digitale
Titolo: Primi passi con arduino.

Nel compilare degli esempi scritti per arduino e precisamente nella 
Danger Shield una scheda demo mi ritrovo degli errori come questo:
  In function ‘void ds_init()’:
error: ‘INPUT’ was not declared in this scope
L'esempio è formato da due file dove nel primo c'è un richiamo al secondo.
Per risolvere ho scoperto che basta fare un unico file togliendo la 
parte dei richiami....però non c'è una soluzione ? ..i due file separati 
sarebbero più capibili per me che sono nuovo di questo linguaggio .
Gli esempi che sono formati da un unico elenco di istruzioni funzionano 
bene.
Dato che del C ne capisco poco perchè non l'ho studiato che qualcuno che 
mi può aiutare ?
So che non è semplice ma ...qualcosa ho già  fatto con l'assembler e il 
picbasic .
Saluti e grazie
Condor
richiamo nel primo file al secondo
//our setup stuff
#include "_init.h"
void setup()
{
   ds_init();
}
secondo file
#define BUTTON1_PIN 2
#define BUTTON2_PIN 7
#define BUTTON3_PIN 4
//these are our analog input pins
#define SLIDER1_PIN 2
#define SLIDER2_PIN 1
#define SLIDER3_PIN 0
#define LIGHT_SENSOR_PIN 3
#define TEMP_SENSOR_PIN 4
#define KNOCK_SENSOR_PIN 5
//these are our output pins
#define LED1_PIN 6
#define LED2_PIN 5
#define BUZZER_PIN 3
#define SLIDER1_LED_PIN 11
#define SLIDER2_LED_PIN 10
#define SLIDER3_LED_PIN 9
//these are for the shift register
#define LATCH_PIN 8
#define CLOCK_PIN 12
#define DATA_PIN 13
//our init and bootup function
void ds_init()
{
   //buttons are inputs.
   pinMode(BUTTON1_PIN, INPUT);       QUI MI EVIDENZIA IN GIALLO LA RIGA
   pinMode(BUTTON2_PIN, INPUT);
   pinMode(BUTTON3_PIN, INPUT);
   //leds and buzzers are outputs.
   pinMode(LED1_PIN, OUTPUT);
   pinMode(LED2_PIN, OUTPUT);
   pinMode(BUZZER_PIN, OUTPUT);
   pinMode(SLIDER1_LED_PIN, OUTPUT);
   pinMode(SLIDER2_LED_PIN, OUTPUT);
   pinMode(SLIDER3_LED_PIN, OUTPUT);
   //shift register pins are output.
   pinMode(LATCH_PIN, OUTPUT);
   pinMode(CLOCK_PIN, OUTPUT);
   pinMode(DATA_PIN, OUTPUT);
   //flash our LEDs
   digitalWrite(LED1_PIN, HIGH);
   digitalWrite(LED2_PIN, HIGH);
   digitalWrite(SLIDER1_LED_PIN, HIGH);
   digitalWrite(SLIDER2_LED_PIN, HIGH);
   digitalWrite(SLIDER3_LED_PIN, HIGH);
   //turn 7-segment on
   digitalWrite(LATCH_PIN, LOW);
   shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, 255);
   digitalWrite(LATCH_PIN, HIGH);
   //buzz for a bit.
   for (int i=0; i<500; i++)
   {
     digitalWrite(BUZZER_PIN, HIGH);
     delayMicroseconds(1915);
     digitalWrite(BUZZER_PIN, LOW);
   }
   //turn off LEDs
   digitalWrite(LED1_PIN, LOW);
   digitalWrite(LED2_PIN, LOW);
   digitalWrite(SLIDER1_LED_PIN, LOW);
   digitalWrite(SLIDER2_LED_PIN, LOW);
   digitalWrite(SLIDER3_LED_PIN, LOW);
   //turn 7-segment off
   digitalWrite(LATCH_PIN, LOW);
   shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, 0);
   digitalWrite(LATCH_PIN, HIGH);
   //startup serial
   Serial.begin(9600);
   Serial.println("started");
}

 error: ‘INPUT’ was not declared in this scope
Ok ...c'è chi riesce a compilare gli esempi tipo l'esempio Demo senza 
problemi ?
grazie

 problemi ?
Io x es. e non avendo avuto problemi non saprei come aiutarti.
Sotto XP ha funzionato tutto subito
Sotto Linux Ubuntu 9.10  la prima volta ha dato un errore che non ricordo 
perche' mancava una libreria, che ho installato con il gestore di 
pacchetti, da allora tutto ok. 
Che libreria fosse non ricordo, ma se l'ho installata significa che il 
messaggio di errore la indicava
sorry

 sorry
No sorry be happy !
Approposito sai su quale forum si può parlare di software per arduino 
perchè qui non penso sia quello giusto.
Ciao e grazie.
Condor

 permette di seguire con minimo sforzo l'esecuzione di un programma!
Ok fatto .
Sto imparando piano piano .
Grazie.