Aus dem Arduino kann man auch eine Konsole mit Retrospielen basteln. Mann muss nur einen Fernseher anschliessen. In der Zeitschrift CT´ Hacks bin ich drauf gestossen. Hier auf dieser Internetseite gibt es eine Menge Infos und Anleitungen darüber. Leider hab ich Anhand der Beschribung nicht rausfinden können an welche Pins ich ran mus. Ich habs erst in den vielen Scretchtexten gesehen.       

 

tvoutHier sieht man es . Über die beiden Widerstände an Pin8 un 9 werden das Video- und das Syncsignal zusammengeführt. Es geht dann über den mittleren Pin des Cinch Steckers am Fernseher auf Video in. Die Abschirmung natürlich auf Ground an Pin 14.

Ein Testbild habe ich mit verschiedenen Revisionen der Software bekommen. Leider konnte ich noch kein Spiel compilieren.


Wenn ich soweit bin schreib ich hier weiter.

Funkübertragung mit Arduino

Da ich beim bau meines Hauses einfach nicht genug Kabel verlegt habe, kam dieses Transmitter - Receiver Paar bei meiner Wettererfassung zum Einsatz.


receiverbsk

transmitterbsk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Mein erster Test, einfach mit einem Arduino von TxD ein paar Buchstaben senden und mit Putty empfangen, ließ mich erschaueren. Außer Störungen nur ein paar brauchbare Daten. Ich habe mir nicht lange Gedanken über ein Übertragungsprotokollgemacht, da wurde ich mit Google schon fündig.

Hier die passende Libary. Hier wird alles geregelt.  Ich übertrage damit die Messdaten meiner Wettersensoren.

 

 

 

Realtimclock

Mein zweites Selbstbauprojekt.

DS1307 Shield für Arduino

 

Anschluss siehe Bild, ganz einfach.
Pin 1 und 2 an den Quarz, Pin 3 Batterie +

Pin 4 Masse PIN 5 und 6 an Arduino wie im Bild. PIN 7 Clock out, hier nicht beschaltet. Pin 8 +5V ohne die geht es nicht.

Das Programm benutzt schon mein 3 Draht LCD Display.  Also bitte dem Libaryeintrag ändern. Oder ganz rausnehmen. Die Befehle sind dann von lcd.print auf serialprint zu ändern für eine Ausgabe auf den Seriallen Monitor. Weiterhin kann man auf <10 abfragen und dann bei den Zahlen eine Vorlaufnull erzeugen. Beispiele gibt es im Netz genug.

//Arduino 1.0+ Only
//Arduino 1.0+ Only

#include "Wire.h"
#define DS1307_ADDRESS 0x68
#include <LiquidCrystal595.h>
LiquidCrystal595 lcd(7,8,9);     // datapin, latchpin, clockpin
byte zero = 0x00; //workaround for issue #527


void setup(){
  Wire.begin();
  Serial.begin(9600);
  lcd.begin(16,2);
  lcd.clear();
// setDateTime(); //MUST CONFIGURE IN FUNCTION
}

void loop(){
  printDate();
  delay(1000);
}

/*void setDateTime(){

  byte second =      45; //0-59
  byte minute =      34; //0-59
  byte hour =       12; //0-23
  byte weekDay =     1; //1-7
  byte monthDay =    3; //1-31
  byte month =       3; //1-12
  byte year  =       13; //0-99

  Wire.beginTransmission(DS1307_ADDRESS);
  Wire.write(zero); //stop Oscillator

  Wire.write(decToBcd(second));
  Wire.write(decToBcd(minute));
  Wire.write(decToBcd(hour));
  Wire.write(decToBcd(weekDay));
  Wire.write(decToBcd(monthDay));
  Wire.write(decToBcd(month));
  Wire.write(decToBcd(year));

  Wire.write(zero); //start

  Wire.endTransmission();

}*/

byte decToBcd(byte val){
// Convert normal decimal numbers to binary coded decimal
  return ( (val/10*16) + (val%10) );
}

byte bcdToDec(byte val)  {
// Convert binary coded decimal to normal decimal numbers
  return ( (val/16*10) + (val%16) );
}

void printDate(){

  // Reset the register pointer
  Wire.beginTransmission(DS1307_ADDRESS);
  Wire.write(zero);
  Wire.endTransmission();

  Wire.requestFrom(DS1307_ADDRESS, 7);

  int second = bcdToDec(Wire.read());
  int minute = bcdToDec(Wire.read());
  int hour = bcdToDec(Wire.read() & 0b111111); //24 hour time
  int weekDay = bcdToDec(Wire.read()); //0-6 -> sunday - Saturday
  int monthDay = bcdToDec(Wire.read());
  int month = bcdToDec(Wire.read());
  int year = bcdToDec(Wire.read());

  //print the date EG   3/1/11 23:59:59
  lcd.setCursor(0,1);
  lcd.print(month);
  lcd.print("/");
  lcd.print(monthDay);
  lcd.print("/");
  lcd.print(year);
  lcd.setCursor(0,2);
  lcd.print(" ");
  lcd.print(hour);
  lcd.print(":");
  lcd.print(minute);
  lcd.print(":");
  lcd.println(second);

}

Schaltplan :

DS1307 RTC an Arduino

 

Login Form