Arduino

int ledPin = 13; // select the pin for the LED

int bloccodigitale = 8;
const int buttonPin = 2;
int buttonState = 0;

byte lastButtonState = LOW;
unsigned long debounceDuration = 50; // millis
unsigned long lastTimeButtonStateChanged = 0;

void setup() {
pinMode(buttonPin, INPUT);
// declare the ledPin as an OUTPUT:
pinMode(ledPin, OUTPUT);
pinMode(bloccodigitale, OUTPUT);
Serial.begin(9600);

}
void loop() {
digitalWrite (bloccodigitale, LOW);
if (millis() – lastTimeButtonStateChanged > debounceDuration) {
byte buttonState = digitalRead(buttonPin);
if (buttonState != lastButtonState) {
lastTimeButtonStateChanged = millis();
lastButtonState = buttonState;

  if (buttonState == LOW) {
    // do an action, for example print on Serial
    Serial.println("a disposizio");
  }
    else {
Serial.println("trasmissione blocco");
digitalWrite(bloccodigitale, HIGH);

}
}
}

int v =analogRead(A0);
Serial.println(v);
delay(1000);

digitalWrite(bloccodigitale, HIGH);
switch (v) {
case 300 … 400:
Serial.println(“indietro”);
digitalWrite(ledPin, LOW);
break;
case 500 … 600:
Serial.println(“sinistra”);
digitalWrite(ledPin, LOW);
break;

case 200 ... 299:
  Serial.println("destra");
  digitalWrite(ledPin, LOW);
  break;

case 50 ... 100:
  Serial.println("avanti");
  digitalWrite(ledPin, LOW);
  break;

case 1000 … 1023:
Serial.println(“stocazzoide di reed che non funziona una cippa”);
digitalWrite(ledPin, HIGH);
break;
}
delay(10);

}

define forward_button 8

define right_button 7

define left_button 5

define startstop_button 6

define buzzerPin A0

define auxGnd A2 //auxiliary ground pin

include SPI.h

include nRF24L01.h

include RF24.h

RF24 radio(9, 10); // CE, CSN
const byte address[6] = “00010”;
void setup() {
radio.begin();
radio.openWritingPipe(address);
radio.setPALevel(RF24_PA_MIN);
radio.stopListening();
pinMode(auxGnd, OUTPUT);
pinMode(buzzerPin, OUTPUT);
digitalWrite(auxGnd, LOW);
}
void loop() {
//Take the instructions (50 instructions in a row maximum)
char instructions[50];
for (int i = 0; i < sizeof(instructions); i++)
instructions[i] = NULL;
boolean runTheProgram = false;
int i = 0;
while (i < sizeof(instructions)) {
buzz(100);
while (true) {
if (!digitalRead(forward_button)) {
while (!digitalRead(forward_button));
instructions[i] = ‘f’;
break;
} else if (!digitalRead(backward_button)) {
while (!digitalRead(backward_button));
instructions[i] = ‘b’;
break;
} else if (!digitalRead(left_button)) {
while (!digitalRead(left_button));
instructions[i] = ‘r’;
break;
} else if (!digitalRead(right_button)) {
while (!digitalRead(right_button));
instructions[i] = ‘l’;
break;
} else if (!digitalRead(startstop_button)) {
while (!digitalRead(startstop_button));
runTheProgram = true;
break;
}
}
i++;
if (runTheProgram)
break;
}
instructions[i] = ‘s’;
buzz(800);
radio.write(&instructions, sizeof(instructions));
}
void buzz(int duration) {
digitalWrite(buzzerPin, HIGH);
delay(duration);
digitalWrite(buzzerPin, LOW);
}