Go Down

Topic: Ardu-Megatank, ein Roboterkettenfahrzeug Projektvorstellung (In Progress) (Read 19050 times) previous topic - next topic

Megaionstorm

#15
Jun 24, 2012, 10:47 pm Last Edit: Jul 01, 2013, 11:09 am by Megaionstorm Reason: 1
Die Uhr, RTC DS1307

Dies ist das Uhrenmodul des Roboters:

Mit der oberen Stiftleiste wird das Modul mit der MCU verbunden, an die untere kann ein weiterer I2C Teilnehmen angeschlossen werden.
An der unteren Stiftleiste ist auch das 'SQUARE-WAVE OUT' (SO) Signal des DS1307 zugänglich, DS ist das Signal des optional einbaubarem Thermometers DS18B20.

Ein Sketch zum stellen der Uhrzeit:
Code: [Select]
/*Reads the value from a Real Time Clock (RTC) DS1307 and displays it in the serial monitor
*
*Created by D. Sjunnesson 1scale1.com d.sjunnesson (at) 1scale1.com
*
*Created with combined information from
*http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1180908809
*http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1191209057
*
*
*Big credit to  mattt (please contact me for a more correct name...) from the Arduino forum
*which has written the main part of the library which I have modified
*
*/

#include <WProgram.h>
#include <Wire.h>
#include <DS1307.h> // written by  mattt on the Arduino forum and modified by D. Sjunnesson

void setup()
{
 Serial.begin(9600);

 RTC.stop();
 RTC.set(DS1307_SEC,0);        //set the seconds
 RTC.set(DS1307_MIN,43);     //set the minutes
 RTC.set(DS1307_HR,0);       //set the hours
 RTC.set(DS1307_DOW,1);       //set the day of the week
 RTC.set(DS1307_DATE,1);       //set the date
 RTC.set(DS1307_MTH,7);        //set the month
 RTC.set(DS1307_YR,12);         //set the year
 RTC.start();
}

void loop()
{
 Serial.print(RTC.get(DS1307_HR,true)); //read the hour and also update all the values by pushing in true
 Serial.print(":");
 Serial.print(RTC.get(DS1307_MIN,false));//read minutes without update (false)
 Serial.print(":");
 Serial.print(RTC.get(DS1307_SEC,false));//read seconds
 Serial.print("      ");                 // some space for a more happy life
 Serial.print(RTC.get(DS1307_DATE,false));//read date
 Serial.print("/");
 Serial.print(RTC.get(DS1307_MTH,false));//read month
 Serial.print("/");
 Serial.print(RTC.get(DS1307_YR,false)); //read year
 Serial.println();
 Wire.beginTransmission(1);
 Wire.send(DS1307_HR);
 Wire.send(DS1307_MIN);
 Wire.endTransmission();  
}


Ein Sketch zur Ausgabe der Uhrzeit über das Terminal:
Code: [Select]
/*Reads the value from a Real Time Clock (RTC) DS1307 and displays it in the serial monitor
*
*Created by D. Sjunnesson 1scale1.com d.sjunnesson (at) 1scale1.com
*
*Created with combined information from
*http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1180908809
*http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1191209057
*
*
*Big credit to  mattt (please contact me for a more correct name...) from the Arduino forum
*which has written the main part of the library which I have modified
*
*/

#include <WProgram.h>
#include <Wire.h>
#include <DS1307.h> // written by  mattt on the Arduino forum and modified by D. Sjunnesson

void setup()
{
 Serial.begin(9600);
}

void loop()
{

 Serial.print(RTC.get(DS1307_HR,true)); //read the hour and also update all the values by pushing in true
 Serial.print(":");
 Serial.print(RTC.get(DS1307_MIN,false));//read minutes without update (false)
 Serial.print(":");
 Serial.print(RTC.get(DS1307_SEC,false));//read seconds
 Serial.print("      ");                 // some space for a more happy life
 Serial.print(RTC.get(DS1307_DATE,false));//read date
 Serial.print("/");
 Serial.print(RTC.get(DS1307_MTH,false));//read month
 Serial.print("/");
 Serial.print(RTC.get(DS1307_YR,false)); //read year
 Serial.println();
 Wire.beginTransmission(1);
 Wire.send(DS1307_HR);
 Wire.send(DS1307_MIN);
 Wire.endTransmission();  
}
Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Megaionstorm

Die I2C Kommunikation

Manche der Bauteile die im Roboter verwendet werden kommunizieren über I2C.
RTC DS1307, MPU9250 9-Axis Gyro.

Dabei ist jedoch zu beachten das der DS1307 I2C 5V benötigt, die MPU9250 hingegen I2C 3,3V.

Hier kommt ein sogenanntes I2C Level Conversion Modul zum Einsatz:


Dieses Modul convertiert die 5V I2C Signale zu 3,3V I2C Signale und umgekehrt !

Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Megaionstorm

#17
Jun 26, 2012, 12:37 am Last Edit: Jul 02, 2013, 04:49 am by Megaionstorm Reason: 1
Der Temperatursensor

Im Inneren des Panzers befindet sich zwischen den Spannungsreglern und den Motoren ein DS18B20 Temperatursensor.
Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Megaionstorm

#18
Jun 28, 2012, 02:12 am Last Edit: Jul 02, 2013, 04:50 am by Megaionstorm Reason: 1
Die Programmierung der KI

Durch dieses Modul, welches in die Rückseite des Panzers eingebaut ist, kann der Sanguino über USB programmiert werden:
Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Megaionstorm

#19
Jun 28, 2012, 10:52 pm Last Edit: Jul 01, 2012, 04:30 am by Megaionstorm Reason: 1
Die KI

Sketch kommt noch !
Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

uwefed

VFD sind zwar sehr schön, verbrauchen aber gegenüber LCD mit Hintergrundbeleuchtung sehr viel mehr Strom. (um die 5W)
Grüße Uwe

Megaionstorm

Zukünftige Features

GPS: PA6C GPS + LLC breakout board


Informations Display: ART128064MN37-DIW-R LCD-Display 128X64 ST7565R-Kontroller
Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

volvodani

Gibt es schon etwas Konkretes oder ist das noch ein "Vorhaben". Auf dem Blog gibt leider auch keinen Fortschritt.
Gruß
Der Dani
0x2B | ~ 0x2B = 0xFF   
(Shakespeare)

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy