Der alte Fehler hat sich so beheben lasse. Vielen Dank!
Allerdings binded er die übrigen Libs nicht ein, bzw. erstellt die anderen Objekte nicht.
Auch die unter private eingeführten Vars gehen nicht:
Code:
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:14: error: 'LiquidCrystal_I2C' does not name a type
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:15: error: 'Motor' does not name a type
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:16: error: 'Motor' does not name a type
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:17: error: 'Motor' does not name a type
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp: In constructor 'katze::katze(int, int, int, int, int, int)':
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:29: error: 'Wire' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:31: error: 'display' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp: In function 'void comp_reset()':
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:38: error: 'Wire' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:46: error: 'display' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp: In function 'void comp_calib()':
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:52: error: 'display' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:54: error: 'i' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:56: error: 'Wire' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:66: error: 'MsbX' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:67: error: 'LsbX' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:68: error: 'MsbY' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:69: error: 'LsbY' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:71: error: 'x' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:72: error: 'y' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:73: error: 'x_min' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:77: error: 'x_max' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:81: error: 'y_min' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:85: error: 'y_max' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:89: error: 'ml' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:90: error: 'mr' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp: In function 'void comp_tm()':
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:103: error: 'Wire' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp: In function 'double comp_r()':
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:112: error: 'Wire' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:117: error: 'MsbX' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:118: error: 'LsbX' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:119: error: 'MsbY' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:120: error: 'LsbY' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:122: error: 'x' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:123: error: 'y' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:124: error: 'x_min' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:124: error: 'x_max' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:125: error: 'y_min' was not declared in this scope
C:\Dokumente und Einstellungen\Malte\Eigene Dateien\Arduino\libraries\katze2\katze2.cpp:125: error: 'y_max' was not declared in this scope
Code:
#ifndef katze2_h
#define katze2_h
class katze
{
public:
katze(int ml1, int ml2, int mr1, int mr2, int md1, int md2);
void us_tm();
int us1_r();
int us2_r();
double comp_r();
void comp_tm();
void comp_reset();
void comp_calib();
void ml_speed(int v, int d);
void mr_speed(int v, int d);
void md_speed(int v, int d);
private:
int mlp1, mlp2, mrp1, mrp2, mdp1, mdp2;
int x_min, x_max, y_min, y_max;
int i;
int MsbX,LsbX,MsbY,LsbY;
int x,y;
};
#endif
Code:
#include <katze2.h>
#include "Arduino.h"
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Motor.h>
#include <SonarSRF08.h>
#define CompI2CADDR 0x30
#define CompTakeMeasure 0x01
#define CompSet 0x02
#define CompReset 0x04
LiquidCrystal_I2C display(0x20, 16, 2);
Motor ml(mlp1,mlp2);
Motor mr(mrp1,mrp2);
Motor md(mdp1,mdp2);
katze::katze(int ml1, int ml2, int mr1, int mr2, int md1, int md2)
{
mlp1=ml1; mlp2=ml2; mrp1=mr1; mrp2=mr2; mdp1=md1; mdp2=md2;
pinMode(mlp1,OUTPUT); digitalWrite(mlp1,LOW);
pinMode(mlp2,OUTPUT); digitalWrite(mlp2,LOW);
pinMode(mrp1,OUTPUT); digitalWrite(mrp1,LOW);
pinMode(mrp2,OUTPUT); digitalWrite(mrp2,LOW);
pinMode(mdp1,OUTPUT); digitalWrite(mdp1,LOW);
pinMode(mdp2,OUTPUT); digitalWrite(mdp2,LOW);
Wire.begin();
display.init();
display.backlight();
display.print("Hello, world!");
}
void comp_reset()
{
Wire.beginTransmission(CompI2CADDR);
Wire.write(0x00);
Wire.write(CompSet);
delay(10);
Wire.write(0x00);
Wire.write(CompReset);
delay(10);
Wire.endTransmission();
display.setCursor(0,0);
display.print("comp reset done ");
}
void comp_calib()
{
display.setCursor(0,0);
display.print("Start Calib ");
for(i=0;i<255;i++)
{
Wire.beginTransmission(CompI2CADDR); // Pollin HDMM01
Wire.write(0x00);
Wire.write(CompTakeMeasure);
Wire.endTransmission();
delay(20);
Wire.beginTransmission(CompI2CADDR);
Wire.write(0x01);
Wire.requestFrom(CompI2CADDR, 4);
while(Wire.available()<4);
MsbX =Wire.read(); // obere 4 Bit X
LsbX =Wire.read(); // untere 8 Bit X
MsbY =Wire.read(); // obere 4 Bit Y
LsbY =Wire.read(); // untere 8 Bit Y
Wire.endTransmission(); // stop transmitting
x=((MsbX&0x0f)*256)+(LsbX);
y=((MsbY&0x0f)*256)+(LsbY);
if(x < x_min)
{
x_min = x;
}
if(x > x_max)
{
x_max = x;
}
if(y < y_min)
{
y_min = y;
}
if(y > y_max)
{
y_max = y;
}
ml.set_speed(1,255);
mr.set_speed(-1,255);
delay(100);
ml.set_speed(0,0);
mr.set_speed(0,0);
}
display.setCursor(0,0);
display.print("End Calib ");
}
void comp_tm()
{
Wire.beginTransmission(CompI2CADDR); // Pollin HDMM01
Wire.write(0x00);
Wire.write(CompTakeMeasure);
Wire.endTransmission();
delay(20);
}
double comp_r()
{
Wire.beginTransmission(CompI2CADDR);
Wire.write(CompTakeMeasure);
Wire.requestFrom(CompI2CADDR, 4);
while(Wire.available()<4);
MsbX =Wire.read(); // obere 4 Bit X
LsbX =Wire.read(); // untere 8 Bit X
MsbY =Wire.read(); // obere 4 Bit Y
LsbY =Wire.read(); // untere 8 Bit Y
Wire.endTransmission(); // stop transmitting
x=((MsbX&0x0f)*256)+(LsbX);
y=((MsbY&0x0f)*256)+(LsbY);
x = map(x, x_min, x_max, -180, 180);
y = map(y, y_min, y_max, -180, 180);
double mygrad = atan2(x, y)*180/3.1415927410;
if (mygrad < 0) mygrad = mygrad +360;
return(mygrad);
}
Lesezeichen