--- /dev/null
+/*
+ EEPROM
+
+ Storaggio di un valore e sucessiva lettura.
+ */
+
+#include <EEPROM.h>
+
+// the current address in the EEPROM (i.e. which byte
+// we're going to write to next)
+int addr = 12;
+
+void setup()
+{
+ Serial.begin(9600);
+ Serial.println("Storaggio valore");
+ // EEPROM.write(addr, 124);
+ // Eseguire una volta sola, caricare lo sketch
+ // e immediatamente commetare e ripetere l'upload.
+}
+
+void loop()
+{
+ Serial.print("Lettura Valore: ");
+ Serial.println(EEPROM.read(12));
+ Serial.flush();
+ exit(0) ;
+ // need to divide by 4 because analog inputs range from
+ // 0 to 1023 and each byte of the EEPROM can only hold a
+ // value from 0 to 255.
+ int val = analogRead(0) / 4;
+
+ // write the value to the appropriate byte of the EEPROM.
+ // these values will remain there when the board is
+ // turned off.
+ EEPROM.write(addr, val);
+
+ // advance to the next address. there are 512 bytes in
+ // the EEPROM, so go back to 0 when we hit 512.
+ addr = addr + 1;
+ if (addr == 512)
+ addr = 0;
+
+ delay(100);
+}
+
--- /dev/null
+/*
+ EEPROM
+
+ Storaggio di un stringa di caratteri in EEPROM e sucessiva lettura
+ usando le libreire AVR: /usr/lib/avr/include/avr/eeprom.h
+ */
+
+#include <avr/eeprom.h> //
+
+// the current address in the EEPROM (i.e. which byte
+// we're going to write to next)
+int addr = 100;
+char testo[23] ;
+void setup()
+{
+ char message[] = "Testo messaggio";
+ Serial.begin(9600);
+ Serial.println("Storaggio valore");
+
+ //eeprom_write_block(message, (void *)addr, strlen(message) + 1);
+ // Pointer all'array di carattere, punto in cui scrivere (su 1023), lunghezza
+ // Eseguire una volta sola, caricare lo sketch
+ // e immediatamente commetare e ripetere l'upload.
+}
+
+void loop()
+{
+ Serial.print("Lettura Valore: ");
+ eeprom_read_block(&testo, (void *)addr,23);
+ Serial.println(testo);
+ Serial.flush();
+ exit(0) ;
+}
+
+
--- /dev/null
+/*
+ Analog comm: RX
+
+ Comunicazione seriale tra due schede arduino.
+ La prima scheda ha un bottone come input e
+ comunica con un altra scheda che monta un LED come output.
+ Il led della seconda si accende quando rileva
+ la pressione del bottone della prima.
+ */
+
+// Seconda scheda: output
+int led = 13; // Questa scheda ha spolo l'output
+int RX = 3 ; // Pin di ricezione
+
+void setup() {
+ // initialize the digital pin as an output.
+ pinMode(led, OUTPUT); // Il PIN e' attivato come output
+ pinMode(RX, INPUT); // Il PIN e' attivato come output
+}
+
+// the loop routine runs over and over again forever:
+void loop() {
+ if (digitalRead(RX) == 1) { // Verifica se il PIN input e' +5v
+ digitalWrite(led, HIGH);
+ delay(50);
+ }
+ else if (digitalRead(RX) == 0) { // Alterativa: se non e' +5v
+ digitalWrite(led, LOW);
+ delay(50);
+ }
+}
+
--- /dev/null
+/*
+ Analog comm: TX
+
+ Comunicazione seriale tra due schede arduino.
+ La prima scheda ha un bottone come input e
+ comunica con un altra scheda che monta un LED come output.
+ Il led della seconda si accende quando rileva
+ la pressione del bottone della prima.
+ */
+
+// Prima scheda: input
+int led = 13;
+int input = 2; // Questa e' la scheda con un input
+int TX = 3 ; // Pin di trasmissione
+
+void setup() {
+ // initialize the digital pin as an output.
+ pinMode(led, OUTPUT); // Il PIN e' attivato come output
+ pinMode(TX, OUTPUT); // Il PIN e' attivato come output
+ pinMode(input, INPUT); // Il PIN e' attivato come output
+}
+
+// the loop routine runs over and over again forever:
+void loop() {
+ if (digitalRead(input) == HIGH) { // Verifica se il PIN input e' +5v
+ digitalWrite(led, HIGH);
+ digitalWrite(TX, HIGH);
+ delay(50);
+ }
+ else { // Alterativa: se non e' +5v
+ digitalWrite(led, LOW);
+ digitalWrite(TX, LOW);
+ delay(50);
+ }
+}
+
+
+
+
--- /dev/null
+/*
+ Serial comm: RX due output
+
+ Comunicazione seriale tra due schede arduino.
+ La prima scheda ha due botton1 come input e
+ comunica con un altra scheda che monta due LED come output.
+ Il led della seconda si accende quando rileva
+ la pressione del bottone della prima.
+
+ La RX deve distinguere l'input ricevuto.
+ */
+
+// Seconda scheda: output
+// PIN 0 = RX
+int led = 13; // Questa scheda ha spolo l'output
+int red = 12; // Questa scheda ha spolo l'output
+int incomingByte ;
+// the setup routine runs once when you press reset:
+void setup() {
+ // initialize the digital pin as an output.
+ pinMode(led, OUTPUT); // Il PIN e' attivato come output
+ pinMode(red, OUTPUT); // Il PIN e' attivato come output
+ Serial.begin(9600); // Attiviamo la seriale
+}
+
+// the loop routine runs over and over again forever:
+void loop() {
+ if (Serial.available() > 0) {
+ // read the incoming byte:
+ incomingByte = Serial.read();
+
+ if (incomingByte == 2) { // Verifica se il PIN input e' +5v
+ digitalWrite(led, HIGH);
+ delay(50);
+ digitalWrite(led, LOW);
+ }
+ else if (incomingByte == 3) { // Alterativa: se non e' +5v
+ digitalWrite(red, HIGH);
+ delay(50);
+ digitalWrite(red, LOW);
+ }
+ }
+}
+
+
+
--- /dev/null
+/*
+ Serial comm: TX due bottoni
+
+ Comunicazione seriale tra due schede arduino.
+ La prima scheda ha due bottoni come input e
+ comunica con un altra scheda che monta due LED come output.
+ Il led della seconda si accende quando rileva
+ la pressione del bottone della prima.
+
+ La TX deve mandare due segnali diversi.
+ */
+
+// Prima scheda: input
+// PIN 1 = TX
+int led = 13;
+int input = 2; // Questa e' la scheda con un input
+int inputRed = 3; // Questa e' la scheda con un input
+
+// the setup routine runs once when you press reset:
+void setup() {
+ // initialize the digital pin as an output.
+ pinMode(led, OUTPUT); // Il PIN e' attivato come output
+ pinMode(input, INPUT); // Il PIN e' attivato come output
+
+ Serial.begin(9600); // Attiviamo la seriale
+}
+
+// the loop routine runs over and over again forever:
+void loop() {
+ if (digitalRead(input) == HIGH) { // Verifica se il PIN input e' +5v
+ digitalWrite(led, HIGH);
+ Serial.write(2);
+ delay(50);
+ }
+ if (digitalRead(inputRed) == HIGH) { // Verifica se il PIN input e' +5v
+ digitalWrite(led, HIGH);
+ Serial.write(3);
+ delay(50);
+ }
+ digitalWrite(led, LOW);
+}
+
+
+
--- /dev/null
+/*
+ Serial comm: RX
+
+ Comunicazione seriale tra due schede arduino.
+ La prima scheda ha un bottone come input e
+ comunica con un altra scheda che monta un LED come output.
+ Il led della seconda si accende quando rileva
+ la pressione del bottone della prima.
+ */
+
+// Seconda scheda: output
+// PIN 0 = RX
+int led = 13; // Questa scheda ha spolo l'output
+
+// the setup routine runs once when you press reset:
+void setup() {
+ // initialize the digital pin as an output.
+ pinMode(led, OUTPUT); // Il PIN e' attivato come output
+
+ Serial.begin(9600); // Attiviamo la seriale
+}
+
+// the loop routine runs over and over again forever:
+void loop() {
+ if (Serial.read() == 1) { // Verifica se il PIN input e' +5v
+ digitalWrite(led, HIGH);
+ delay(50);
+ }
+ else if (Serial.read() == 0) { // Alterativa: se non e' +5v
+ digitalWrite(led, LOW);
+ delay(50);
+ }
+}
+
--- /dev/null
+/*
+ Serial comm: TX
+
+ Comunicazione seriale tra due schede arduino.
+ La prima scheda ha un bottone come input e
+ comunica con un altra scheda che monta un LED come output.
+ Il led della seconda si accende quando rileva
+ la pressione del bottone della prima.
+ */
+
+// Prima scheda: input
+// PIN 1 = TX
+int led = 13;
+int input = 2; // Questa e' la scheda con un input
+
+// the setup routine runs once when you press reset:
+void setup() {
+ // initialize the digital pin as an output.
+ pinMode(led, OUTPUT); // Il PIN e' attivato come output
+ pinMode(input, INPUT); // Il PIN e' attivato come output
+
+ Serial.begin(9600); // Attiviamo la seriale
+}
+
+// the loop routine runs over and over again forever:
+void loop() {
+ if (digitalRead(input) == HIGH) { // Verifica se il PIN input e' +5v
+ digitalWrite(led, HIGH);
+ Serial.write(1);
+ delay(50);
+ }
+ else { // Alterativa: se non e' +5v
+ digitalWrite(led, LOW);
+ Serial.write(0);
+ delay(50);
+ }
+}
+
+
+