Trådlöst kontrollerade omanska riktad fotboll Robot med hjälp av nRF 24L 01 + och Arduino (3 / 6 steg)
Steg 3: Montering och kodning
När du slutför montering av delar kommer det den viktigaste delen som är programming.start med initierar som enligt din PIN-kod ut arduino ombord med nRF och h-bridge.don't glömmer att lägga till biblioteket för nRF.The biblioteksfilen är kopplad.
- #include
- #include "nRF24L01.h"
- #include "RF24.h"
- CONST uint64_t rör [2] = {0xF0F0F0F0E1LL 0xF0F0F0F0D2LL};
- 13 är SCK på nRF
- 12 är MISO på nRF
- 11 är MOSI på nRF
- 10 är CSN på nRF
- RF24 radio(9,10); 9 är CE på nRF
Efter initieringen det är en rörledning mellan två arduino bör det vara samma på både sändare och mottagare. nu initiera radion och det kommer att börja samtalet mellan två rörledningar.
- void setup(void)
- {Serial.begin(9600);
- radio_initialize();
- Serial.println ("RADIO startade");}
Nu i loop funktion kontrollerar om emot seriella kommer att tillgängliga då det börja skicka data.
- röding data [] = "1";
- void loop()
- {if(millis()%1000==0)
- {data [0] ++;
- Serial.Print ("Skicka:");
- Serial.Print(data[0],dec);
- bool ok = radio.write (data, 2);
- om (ok) Serial.println("ok\n\r");
- annat Serial.println("failed\n\r");
- IF(data[0]=='6') data [0] = '1'; } }
- void radio_initialize(void)
- {radio.begin();
- radio.openWritingPipe(pipes[1]);
- radio.openReadingPipe(1,pipes[0]);
- radio.startListening(); }
Ta emot (RX)
Ta emot del börja med initierar motor stift.
- RF24 radio(0,10);
- CONST uint64_t rör [2] = {0xF0F0F0F0E1LL 0xF0F0F0F0D2LL};
- int m1e = 3;
- int m11 = A2;
- int m12 = A3;
- int m2e = 5;
- int m21 = A4;
- int m22 = A5;
- int m3e = 6;
- int m31 = 7.
- int m32 = 8.
- int m4e = 9.
- int m41 = A1;
- int m42 = A0;
- void setup(void) {
- pinMode (m1e, produktionen);
- pinMode (m11, produktionen);
- pinMode (m12, produktionen);
- pinMode (m2e, produktionen);
- pinMode (m21, produktionen);
- pinMode (m22, produktionen);
- pinMode (m3e, produktionen);
- pinMode (m31, produktionen);
- pinMode (m32, produktionen);
- pinMode (m4e, produktionen);
- pinMode (m41, produktionen);
- pinMode (m42, produktionen);
- Serial.BEGIN(9600); radio_initialize();
- Serial.println ("RADIO startade");
- }
Pin m1e är aktivera PIN-koden av motor 1 och eftersom det är för andra 3 motorer.
nu är börja med radio read-kommando som det kommer att läsa seriella och om det fick sedan det kommer att överföra det till function.here koden för endast framåt funktion.
- röding data [1] = "";
- void loop(void) {
- IF(radio.available()) {radio.read (data, 1);
- Serial.Print ("fick =");
- Serial.println(data[0]);
- IF(data[0]=='1') {Serial.print("Came");
- Forward();
- void radio_initialize(void) {radio.begin();
- radio.openWritingPipe(pipes[1]);
- radio.openReadingPipe(1,pipes[0]); radio.startListening(); }
- void forward()
- {analogWrite(m1e,230);
- digitalWrite (m11, låg); motor2
- digitalWrite (m12, hög);
- analogWrite(m2e,250);
- digitalWrite (m21, låg); motor 3
- digitalWrite (m22, hög);
- analogWrite(m3e,250);
- digitalWrite (m31, låg); motor1
- digitalWrite (m32, hög);
- analogWrite(m4e,230);
- digitalWrite (m41, hög); motor4
- digitalWrite (m42, låg);
- }
Inte bara kopiera och förbi .det kommer endast arbete enligt din connections.i hoppas ni förstår koden lätt om du är medveten om den adruino coding.here är exempelkoden för båda Tx och Rx.now öppna den seriella monitorn i både Tx och Rx sidan och skicka 1 från Tx och det kommer att få på Rx seriell övervaka window.as det är för andra nummer vi initiera 1 i koden för framåt funktion nu initiera 2 tillbaka och så vidare.