Rör mig! Edison baserat beröring weblog (3 / 4 steg)
Steg 3: Logga touch händelser till fil
Så långt är allt bra. Nu är det dags att interagera med linux som gömmer sig under Arduino Edison processen.
Det enklaste sättet att göra det är genom att ringa ett system kommando eller skript med Arduino Edisons system funktion.
Så, modifierade skissen nedan, varje gång touch sensorn aktiveras, läggs en rad med datum och tid, tillsammans med meddelandet "touch!" och Edison styrelsens värdnamn till fil /tmp/arduino.log
Upprätta en terminal anslutning till din styrelse, och du ser linjen läggas till varje gång du trycker på knappen: bara ge följande i din terminal:
rotensvans /tmp/arduino.log
Den modifierade skiss (endast raden med systemanropet lagt till):
#include
#include "rgb_lcd.h"
rgb_lcd lcd;
CONST int colorR = 0;
CONST int colorG = 0;
CONST int colorB = 255;
CONST int pinButton = 7. PIN-koden för knappen Ange här
booleska touchStarted = false;
void setup()
{
pinMode (pinButton, ingång); Ställ in knappen INPUT
Ange den LCD antal kolumner och rader:
LCD.BEGIN (16, 2);
lcd.setRGB(0,0,0);
Skriv ut ett meddelande till LCD-skärmen.
LCD.Print("status:");
Delay(1000);
}
void loop()
{
lcd.setCursor (0, 1);
IF(digitalRead(pinButton)) / / när du trycker på knappen
{
om (! touchStarted) / / lag endast på början av touch händelsen
{
touchStarted = sant;
LCD.Print ("touch!");
lcd.setRGB (colorR, colorG, colorB);
system ("echo $(datum"+ %Y %b %d % H: % m %S") Touch! $(hostname) >> /tmp/arduino.log ");
}
}
annat
{
touchStarted = false;
lcd.setRGB(0,0,0);
LCD.Print ("");
}
Delay(10);
}