Compare commits

...

19 commits

Author SHA1 Message Date
ChristianSW 6cf044e306 typo 2024-03-22 13:17:59 +01:00
DenialOfIntelligence 28568a72b6 Use map and a more complex function(Untestet) 2023-07-21 15:08:17 +02:00
DenialOfIntelligence 83960a9fdc Merge branch 'master' of https://github.com/DenialOfIntelligence/Radio_FahrzeugV2 2023-07-04 18:51:03 +02:00
DenialOfIntelligence 653877893a Not tested analog speed control
I was unable to test due to some usb/serial shenanigens
2023-07-04 18:50:52 +02:00
DenialOfIntelligence 01b2c979fe
Todos geändert 2023-06-27 18:15:58 +02:00
DenialOfIntelligence 5a69a3dc47 Removed merge conflict markers 2023-06-27 18:07:14 +02:00
DenialOfIntelligence de8c9f18ec Merged Structs into master 2023-06-27 18:05:18 +02:00
Christian e3c1076a80
Updated Links.md 2023-06-09 07:23:07 +02:00
Christian 5ec0a47ed1
Layout 2023-06-09 07:17:27 +02:00
Christian 96d3024244
Linksammlung gestartet 2023-06-09 07:16:34 +02:00
Christian 442ac6469c
Namen korrigiert 2023-06-08 07:20:20 +02:00
Christian 378fbb6875
Create Mecanum-Antrieb
mit Bild
2023-06-08 07:14:45 +02:00
Christian f0ff6c3b23
Namen korrigiert 2023-06-06 11:45:01 +02:00
DenialOfIntelligence 0563dc6b82
Rechtschreibung 2023-06-02 16:51:30 +02:00
DenialOfIntelligence cfe8be30f3 Todo hinzugefügt. 2023-06-02 16:38:41 +02:00
DenialOfIntelligence 19267731c3
Besserer look 2023-06-01 20:06:55 +02:00
DenialOfIntelligence 24179875e1 Merge branch 'master' of https://github.com/DenialOfIntelligence/Radio_FahrzeugV2 2023-06-01 17:25:13 +02:00
DenialOfIntelligence 063ddeb972 Log geändert 2023-06-01 17:22:23 +02:00
DenialOfIntelligence dbf9dc8629
Merge pull request #1 from DenialOfIntelligence/Structs
Todos und auf deutsch ab jetzt
2023-06-01 16:38:14 +02:00
5 changed files with 60 additions and 8 deletions

16
Links.md Normal file
View 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
View file

@ -0,0 +1 @@
![Mecanum](https://github.com/DenialOfIntelligence/Radio_FahrzeugV2/assets/10818185/bab0a9e6-cb05-4f20-9752-9d290bf045d1)

View file

@ -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.

View file

@ -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) {

View file

@ -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);