Gast
#1764088
Es soll die Tiefenregelung eines Unterwasserroboters in C programmiert
werden.
Aktor (M)
Tiefensensor (T)
beide werden über ein I2C bus angesteuert.
Details:
Geräte: I2C Adresse(7bit) Register Zugriffstyp
Wertebereich
Motor M 0x10 0xD schreibend 0-255
Kommandos
Sensor T 0x02 0x01 lesend 0-255 tiefe
cm
um auf die geräte zugreifen zu können nützen Sie die Methoden:
int twi_writeregister(uint8_t twi_addr, uint8_t reg, uint8_t data)
int twi_readregister(uint8_t twi_addr, uint8_t reg, uint8_t* data)
Implementieren sie folgendes Verhalten in C für einen ATmega
Dabei werden die ausgaben bei jedem Betreten des Zustands an den Motor
gesendet:
Startzustand:
sonst -> Abtauchen wenn T>=160 -> Auftauchen <- sonst
M=20 <- T<150 M=5
diesen teil habe ich probleme zu implementieren:
als Pseudocode würde ich das so schreiben
int abtauchen=20;
if T>=160 then goto Auftauchen
else do nothing
int auftauchen=5;
if auftauchen <150 then goto abtauchen
else do nothing
Mit hilfe des Internet habe ich folgendes zusammenstellen können zur
Kommunikation mit einem I2C bus
mein problem ist nun,dass ich nicht genau weiß wie ich nun mein
pseudocode hineinimplementieren kann.1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
80 | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 | |
87 | |
88 | |
89 | |
90 | |
91 | |
92 | |
93 | |
94 | |
95 | |
96 | |
97 | |
98 | |
99 | |
danke für hilfe sebo