Wasserwaage

Beispiel für eine Wasserwage mit dem Arduino Esplora.

Sourcecode

#include <Esplora.h>
#include <SPI.h>
#include <TFT.h>
#include <math.h>

int r = EsploraTFT.height()/2;  // Radius der Libelle
int mx = EsploraTFT.width()/2;  // Mittelpunkt x
int my = EsploraTFT.height()/2; // Mittelpunkt y
int x_old = mx;
int y_old = my;
int x_new = x_old;
int y_new = y_old;
int sl_range = 255;  // Enpfindlichkeit für Libelle
int ang_range = 100;
int x_cal = -15;  // Kalibrierung 
int y_cal = -15;  // Kalibrierung
unsigned long interval = 50;
unsigned long prev_millis = 0;

String phi_x_old;
String phi_y_old;
String x_axis_old;
String y_axis_old;
String test_old;
double phi_x = 0; // Winkel in x-Richtung in °
double phi_y = 0; // Winkel in y-Richtung in °

void setup() {
  EsploraTFT.begin();
  displaySpiritLevel();
}

void loop() {
  double x_axis = Esplora.readAccelerometer(X_AXIS) + x_cal;
  double y_axis = Esplora.readAccelerometer(Y_AXIS) + y_cal;
  
  // Display rotieren
  /*if((-10.00 < phi_x && phi_x < 10.00) && (-10.00 < phi_y && phi_y < 10.00)){
     printString("Test 1",&test_old,1,21);
     EsploraTFT.setRotation(1);
  }else if ((-100 < phi_x < 30) && (-10 < phi_y < 10)){
    printString("Test 0",&test_old,1,21);
     EsploraTFT.setRotation(0);
  }else if ((30 < phi_x < 100) && (-10 < phi_y < 10)){
    printString("Test 2",&test_old,1,21);
     EsploraTFT.setRotation(2);
  //}else if (-10 < phi_x < 10 && -10 < phi_y < 10){
  
    
  //}else if (-10 < phi_x < 10 && -10 < phi_y < 10){
    
  }*/
  
  EsploraTFT.setRotation(2);
  mx = EsploraTFT.width()/2;
  my = EsploraTFT.height()/2;
  
  String s = "Test 1";  
  printString(s,&test_old,1,21);
     
  if(millis() - prev_millis > interval){
     displayAngel(x_axis,y_axis,ang_range); // Neigungswinkel anzeigen
     prev_millis = millis();
  }
   
  displayBubble(x_axis,y_axis,sl_range); // Libelle anzeigen
}

void displayAngel(double x_axis,double y_axis,int range){
  double a_x = map(x_axis,-range,range,-9.81,9.81); //Skalierung auf Beschleunigunswerte
  a_x = constrain(a_x,-9.81,9.81);
  double a_y = map(y_axis,-range,range,-9.81,9.81); //Skalierung auf Beschleunigunswerte
  a_y = constrain(a_y,-9.81,9.81);
  phi_x = asin(a_x/9.81) * 180/3.14; // Winkel in x-Richtung in °
  phi_y = asin(a_y/9.81) * 180/3.14; // Winkel in y-Richtung in °
  
  char c = (char)247; // Grad-Zeichen
  String phi_x_s = "Phi X: " + String(phi_x) + String(c);
  printString(phi_x_s,&phi_x_old,1,1);
  String phi_y_s = "Phi Y: " + String(phi_y) + String(c);
  printString(phi_y_s,&phi_y_old,1,11);
  
  }

void printString(String txt,String * txt_ptr_old,int x_pos,int y_pos){
  
  // alten Text löschen
  String txt_old = *txt_ptr_old;
  char txt_out_old[txt_old.length() + 1];
  txt_old.toCharArray(txt_out_old,txt_old.length() + 1);
  EsploraTFT.stroke(255,255,255);
  EsploraTFT.text(txt_out_old,x_pos,y_pos);
  
  /*EsploraTFT.noStroke();
  EsploraTFT.fill(255,255,255);
  EsploraTFT.rect(x_pos,y_pos,96,11);*/
  
  
  // neuen Text schreiben
  char txt_out[txt.length() + 1];
  txt.toCharArray(txt_out,txt.length() + 1);
  EsploraTFT.stroke(0,0,0);
  EsploraTFT.text(txt_out,x_pos,y_pos);
  
  *txt_ptr_old = txt;
  }
  
void displayBubble(double x_axis,double y_axis,int range){
  x_axis = map(x_axis,-range,range,-r,r);
  y_axis = map(y_axis,-range,range,-r,r);
  
  // Umrechnung in Polarkoordinaten
  int r_1 = sqrt((x_axis * x_axis) + (y_axis * y_axis));
  double phi = atan2(y_axis,x_axis);
  
  //Beschränkung des Abstandes
  r_1 = min(r_1,r-10);
  
  //Zurückrechnung in kartesische Koordinaten
  x_axis = r_1 * cos(phi);
  y_axis = r_1 * sin(phi);
  
  x_new = x_axis  + mx;
  y_new = -y_axis  + my;

  EsploraTFT.noStroke();
  EsploraTFT.fill(255,255,0);
  EsploraTFT.circle(x_old,y_old,8);
  
  EsploraTFT.stroke(128,128,128);
  EsploraTFT.fill(255,255,255);
  EsploraTFT.circle(x_new,y_new,8);
  
  EsploraTFT.stroke(0, 0, 0);
  EsploraTFT.noFill();
  EsploraTFT.circle(mx,my,10);
  
  x_old = x_new;
  y_old = y_new;
  }
  
void displaySpiritLevel(){
  EsploraTFT.background(255,255,255);
  EsploraTFT.stroke(0, 0, 0);
  EsploraTFT.fill(255,255,0);
  EsploraTFT.circle(mx,my,r);
  EsploraTFT.noFill();
  EsploraTFT.circle(mx,my,10);
  }

 

Demokratiebringer

And since Mr. Putin made this decision around Crimea and Ukraine – not because of some grand strategy, but essentially because he was caught off-balance by the protests in the Maidan and Yanukovych then fleeing after we had brokered a deal to transition power in Ukraine – since that time, this improvisation that he’s been doing has getting – has gotten him deeper and deeper into a situation that is a violation of international law, …
US-Präsident Obama, 01.02.2015

 

Ukraine

Havel…„Ich gehöre zur Minderheit von Politikern, Journalisten und Intellektuellen, die meinen, dass der Druck vom Westen gekommen ist. In dieser Hinsicht ist Russland nicht schuldig. Was Russland gemacht hat, ist für mich eine Reaktion, ein erzwungener Zug“.
Auf die Frage, ob Russland auch gezwungen gewesen sei, militärisch zu reagieren, wies er darauf hin, dass Amerika damit begonnen habe. „Amerika war der Impulsfaktor – zusammen mit verschiedenen europäischen Politikern.“ Und begonnen hätten sie „durch die Organisation des Maidan. Auf der einen Seite war das ein einheimischer Aufstand. Es gab bestimmt eine dramatische und notwendige Unzufriedenheit mit der Situation in der Ukraine. Die andere Seite sind die Einmischungen des Auslands – das Finanzieren von NGOs in der Ukraine und das alles. Was am Maidan ein paar Monate dauerte, war kein authentischer Volksaufstand, sondern das wurde vom Westen organisiert“.
Vaclav Klaus [geändert nach Hinweisen in den nachfolgenden Leserkommentaren] in Innsbruck, am 6.3.2015

Quelle: http://www.zeit.de/politik/ausland/2015-03/ukraine-krieg-obama-tusk-minsker-abkommen?commentstart=49#cid-4555031

 

Weiterführender Artikel: http://www.bueso.de/node/7938

Deckmantel Kinderporno

Im Jahr 2009 versuchte die Bundesregierung (CDU/SPD) unter dem Deckmantel der Bekämpfung von Kinderpornographie im Internet ein technisches System zur Internetzensur einzurichten. Die damalige Bundesfamilienministerin Ursula von der Leyen versuchte gegen alle Kritik ein umfassendes System zur Internetzensur durchzudrücken.

Dieses System sollte, so die Argumentation zu dessen Einführung, ausschließlich der Bekämpfung von Kinderpornographie dienen. Doch noch vor der geplanten Einführung wurden bereits Stimmen laut, das System auch anderweitig zu nutzen.
Als Reaktion auf diese Politik entstanden die folgenden Filme:

Die Bundesregierung (CDU/FDP, gewählt im Herbst 2009) hat dieses Vorhaben bis jetzt (Januar 2015) nicht umgesetzt.

MEW 2

Die Philosophen haben die Welt nur verschieden interpretiert; es kommt aber darauf an, sie zu verändern. Thesen über Feuerbach MEW Bd.3, 535

MEW

Alles, was die Menschen in Bewegung setzt, muß durch ihren Kopf hindurch; aber welche Gestalt es in diesem Kopf annimmt, hängt sehr von den Umständen ab. IV MEW Bd. 21, 299

Wiener

Begreift man die Gesellschaft als ein Nachrichtensystem, so muß man eine Unterscheidung machen zwischen solchen Aussagen, die den Einzelnen betreffen… und den Kommunikationen, die wirklich zu den sozialen Belangen gehören. Norbert Wiener

Wer nur liest…

Wer NUR liest vollzieht auch nur das nach, was die Autoren schon gedacht haben. Manchmal hilft selber denken aber auch…

unbekannt

Comenius

Aber über Grundlagen, Ursachen und Zwecke der wichtigsten Tatsachen und Ereignisse müssen alle belehrt werden, die nicht als Zuschauer, sondern als künftig Handelnde in die Welt eintreten.

Comenius