Compare commits
19 commits
Author | SHA1 | Date | |
---|---|---|---|
|
6cf044e306 | ||
|
28568a72b6 | ||
|
83960a9fdc | ||
|
653877893a | ||
|
01b2c979fe | ||
|
5a69a3dc47 | ||
|
de8c9f18ec | ||
|
e3c1076a80 | ||
|
5ec0a47ed1 | ||
|
96d3024244 | ||
|
442ac6469c | ||
|
378fbb6875 | ||
|
f0ff6c3b23 | ||
|
0563dc6b82 | ||
|
cfe8be30f3 | ||
|
19267731c3 | ||
|
24179875e1 | ||
|
063ddeb972 | ||
|
dbf9dc8629 |
16
Links.md
Normal file
16
Links.md
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
DroneBot Workshop: The nRF24L01 - Wireless Joystick for Arduino Robot Car with nRF24L01+
|
||||||
|
|
||||||
|
https://www.youtube.com/watch?v=lhGXAJj8rJw
|
||||||
|
|
||||||
|
Max Imagination: DIY RC Transmitter & Receiver/Controller | Arduino-based 7-CH Radio Controller NRF24L01
|
||||||
|
|
||||||
|
https://www.youtube.com/watch?v=47eBRwFQp-g
|
||||||
|
|
||||||
|
Andreas Spiess: Advanced Tutorial for NRF24L01 and Arduino #1
|
||||||
|
|
||||||
|
https://www.youtube.com/watch?v=61kWj6zu4Uw
|
||||||
|
|
||||||
|
Andreas Spiess: Advanced Tutorial for NRF24L01 and Arduino #2 Reliable Connections
|
||||||
|
|
||||||
|
https://www.youtube.com/watch?v=a2FBa4MK66M
|
||||||
|
|
1
Mecanum-Antrieb.md
Normal file
1
Mecanum-Antrieb.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|

|
|
@ -1,2 +1,6 @@
|
||||||
# Daten für das Radio_FahrzeugV2
|
# Daten für das Radio_FahrzeugV2
|
||||||
|
|
||||||
|
## Todos
|
||||||
|
~~Io pins beim external chip wechseln könnten sie nutzbar machen https://www.youtube.com/watch?v=lhGXAJj8rJw&t=10m10s~~
|
||||||
|
Alle Bewegungen mit Mecanum-Rädern hinzufügen.
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,8 @@
|
||||||
//TODO Füge alle möglichen bewegungen hinzu
|
//TODO Füge alle möglichen bewegungen hinzu
|
||||||
//TODO Mache es möglich Motoren geschwindigkeit mit analog zu kontolieren
|
//TODO Mache es möglich Motoren geschwindigkeit mit analog zu kontolieren
|
||||||
RF24 radio(7, 8); // (CE, CSN)
|
RF24 radio(7, 8); // (CE, CSN)
|
||||||
|
int pwmx;
|
||||||
|
int pwmy;
|
||||||
const byte address[6] = "1RF24";
|
const byte address[6] = "1RF24";
|
||||||
struct dataStruct {
|
struct dataStruct {
|
||||||
int Xposition;
|
int Xposition;
|
||||||
|
@ -18,29 +19,48 @@ void setup() {
|
||||||
Serial.begin(9600);
|
Serial.begin(9600);
|
||||||
radio.begin();
|
radio.begin();
|
||||||
radio.setPALevel(RF24_PA_MAX);
|
radio.setPALevel(RF24_PA_MAX);
|
||||||
radio.setChannel(125);
|
radio.setChannel(50);
|
||||||
radio.openReadingPipe(0, address);
|
radio.openReadingPipe(0, address);
|
||||||
radio.startListening();
|
radio.startListening();
|
||||||
pinMode(2, OUTPUT);
|
pinMode(2, OUTPUT);
|
||||||
pinMode(3, OUTPUT);
|
pinMode(3, OUTPUT);
|
||||||
pinMode(4, OUTPUT);
|
pinMode(4, OUTPUT);
|
||||||
pinMode(5, OUTPUT);
|
pinMode(5, OUTPUT);
|
||||||
|
pinMode(10, OUTPUT);
|
||||||
|
pinMode(11, OUTPUT);
|
||||||
pinMode(A2, OUTPUT);
|
pinMode(A2, OUTPUT);
|
||||||
pinMode(A3, OUTPUT);
|
pinMode(A3, OUTPUT);
|
||||||
pinMode(A4, OUTPUT);
|
pinMode(A4, OUTPUT);
|
||||||
pinMode(A5, OUTPUT);
|
pinMode(A5, OUTPUT);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
int pwm(int x) {
|
||||||
|
int out;
|
||||||
|
if (x < 512) { //Check if joystick is above, below, or at the middle and calculate the unmapped output
|
||||||
|
x = 512 - x;
|
||||||
|
}
|
||||||
|
if (x > 512) {
|
||||||
|
x = x - 512;
|
||||||
|
}
|
||||||
|
if (x == 512) {
|
||||||
|
x = 0;
|
||||||
|
}
|
||||||
|
out = map(x, 0, 1023, 100, 255); //Map the output to a PWM value
|
||||||
|
Serial.println(x);
|
||||||
|
return out; //Return the value
|
||||||
|
}
|
||||||
void loop() {
|
void loop() {
|
||||||
|
|
||||||
if (radio.available()) {
|
if (radio.available()) {
|
||||||
radio.read( &myData, sizeof(myData) );
|
radio.read( &myData, sizeof(myData) );
|
||||||
Serial.print("Y Pos");
|
//Serial.print("Y Pos");
|
||||||
Serial.println(myData.Yposition);
|
//Serial.println(myData.Yposition);
|
||||||
Serial.print("X Pos");
|
//Serial.print("X Pos");
|
||||||
Serial.println(myData.Xposition);
|
//Serial.println(myData.Xposition);
|
||||||
|
pwmx=pwm(myData.Xposition);
|
||||||
|
pwmy=pwm(myData.Yposition);
|
||||||
if (myData.Yposition >= 700) {
|
if (myData.Yposition >= 700) {
|
||||||
|
|
||||||
digitalWrite(3, 1);
|
digitalWrite(3, 1);
|
||||||
digitalWrite(2, 0);
|
digitalWrite(2, 0);
|
||||||
digitalWrite(4, 0);
|
digitalWrite(4, 0);
|
||||||
|
@ -49,6 +69,9 @@ void loop() {
|
||||||
digitalWrite(A2, 0);
|
digitalWrite(A2, 0);
|
||||||
digitalWrite(A4, 0);
|
digitalWrite(A4, 0);
|
||||||
digitalWrite(A5, 1);
|
digitalWrite(A5, 1);
|
||||||
|
|
||||||
|
analogWrite(10,pwmy);
|
||||||
|
analogWrite(11,pwmy);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (myData.Yposition <= 200) {
|
if (myData.Yposition <= 200) {
|
||||||
|
@ -60,6 +83,9 @@ void loop() {
|
||||||
digitalWrite(A3, 0);
|
digitalWrite(A3, 0);
|
||||||
digitalWrite(A5, 0);
|
digitalWrite(A5, 0);
|
||||||
digitalWrite(A4, 1);
|
digitalWrite(A4, 1);
|
||||||
|
//Serial.println(pwmy);
|
||||||
|
//analogWrite(10,pwmy);
|
||||||
|
//analogWrite(11,pwmy);
|
||||||
}
|
}
|
||||||
if (myData.Xposition >= 700){
|
if (myData.Xposition >= 700){
|
||||||
digitalWrite(3, 1);
|
digitalWrite(3, 1);
|
||||||
|
@ -70,6 +96,8 @@ void loop() {
|
||||||
digitalWrite(A2, 0);
|
digitalWrite(A2, 0);
|
||||||
digitalWrite(A4, 1);
|
digitalWrite(A4, 1);
|
||||||
digitalWrite(A5, 0);
|
digitalWrite(A5, 0);
|
||||||
|
analogWrite(10,pwmx);
|
||||||
|
analogWrite(11,pwmx);
|
||||||
}
|
}
|
||||||
if (myData.Xposition <= 200){
|
if (myData.Xposition <= 200){
|
||||||
digitalWrite(3, 0);
|
digitalWrite(3, 0);
|
||||||
|
@ -80,6 +108,8 @@ void loop() {
|
||||||
digitalWrite(A2, 1);
|
digitalWrite(A2, 1);
|
||||||
digitalWrite(A4, 0);
|
digitalWrite(A4, 0);
|
||||||
digitalWrite(A5, 1);
|
digitalWrite(A5, 1);
|
||||||
|
analogWrite(10,pwmx);
|
||||||
|
analogWrite(11,pwmx);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (myData.Yposition>200 && myData.Yposition<700 && myData.Xposition>200 && myData.Xposition<700) {
|
if (myData.Yposition>200 && myData.Yposition<700 && myData.Xposition>200 && myData.Xposition<700) {
|
||||||
|
|
|
@ -8,10 +8,11 @@ struct dataStruct {
|
||||||
int Yposition;
|
int Yposition;
|
||||||
|
|
||||||
} myData;
|
} myData;
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
radio.begin();
|
radio.begin();
|
||||||
radio.setPALevel(RF24_PA_MAX);
|
radio.setPALevel(RF24_PA_MAX);
|
||||||
radio.setChannel(125);
|
radio.setChannel(50);
|
||||||
radio.openWritingPipe(address);
|
radio.openWritingPipe(address);
|
||||||
radio.stopListening();
|
radio.stopListening();
|
||||||
Serial.begin(9600);
|
Serial.begin(9600);
|
||||||
|
|
Loading…
Reference in a new issue