Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ////////////////// Inkluderer librarys //////////////////
- #include <nRF24L01.h>
- #include <RF24.h>
- ////////////////// Opsætter antenne //////////////////
- RF24 radio(7, 8); // CE, CSN
- ////////////////// Opretter konstanter //////////////////
- ///opsætter pins:
- //Analog:
- const int analogInPin = A5; //sættes til PIN5 på den Arduino som sender (NB: HUSK fælles GND)
- //digital:
- const int digitalPin1 = 2; //sættes til A2 på den Arduino som skal modtage (NB: HUSK fælles GND)
- const int digitalPin2 = 3; //sættes til A3 på den Arduino som skal modtage (NB: HUSK fælles GND)
- const int digitalPin3 = 4; //sættes til A4 på den Arduino som skal modtage (NB: HUSK fælles GND)
- const byte addresses[][6] = {"CHNL1", "CHNL2"}; //addresser som antennerne kommunikere over
- int madtype; //Angiver hvilken type mad robotarmen skal ramme
- int modtag = 0; // modtager værdi fra robotarm
- int arm_faerdig = 0; // angiver om robotarmen er færdig med sin opgave og er klar til at modtage en ny
- void setup() {
- Serial.begin(115200);
- ///// Opsætter antenne:
- radio.begin();
- radio.openWritingPipe(addresses[0]); // CHNL1
- radio.openReadingPipe(1, addresses[1]); // CHNL2
- radio.setPALevel(RF24_PA_MIN);
- //opsætter digital output-pins:
- pinMode(digitalPin1, OUTPUT);
- pinMode(digitalPin2, OUTPUT);
- pinMode(digitalPin3, OUTPUT);
- }
- ////////////////// Opretter funktion som kan sende information vidder til en anden ardoino via kabel: //////////////////
- void send_via_kabel(int tal) {
- ////// =1:
- if (tal == 1) {
- digitalWrite(digitalPin1, HIGH);
- digitalWrite(digitalPin2, LOW);
- digitalWrite(digitalPin3, LOW);
- }
- ////// =2:
- if (tal == 2) {
- digitalWrite(digitalPin1, LOW);
- digitalWrite(digitalPin2, HIGH);
- digitalWrite(digitalPin3, LOW);
- }
- ////// =3:
- if (tal == 3) {
- digitalWrite(digitalPin1, LOW);
- digitalWrite(digitalPin2, LOW);
- digitalWrite(digitalPin3, HIGH);
- }
- ////// =4:
- if (tal == 4) {
- digitalWrite(digitalPin1, HIGH);
- digitalWrite(digitalPin2, HIGH);
- digitalWrite(digitalPin3, LOW);
- }
- ////// =5:
- if (tal == 5) {
- digitalWrite(digitalPin1, HIGH);
- digitalWrite(digitalPin2, LOW);
- digitalWrite(digitalPin3, HIGH);
- }
- ////// =6:
- if (tal == 6) {
- digitalWrite(digitalPin1, LOW);
- digitalWrite(digitalPin2, HIGH);
- digitalWrite(digitalPin3, HIGH);
- }
- ////// =7:
- if (tal == 7) {
- digitalWrite(digitalPin1, HIGH);
- digitalWrite(digitalPin2, HIGH);
- digitalWrite(digitalPin3, HIGH);
- }
- ////// ingen eller =0:
- if (tal == 0) {
- digitalWrite(digitalPin1, LOW);
- digitalWrite(digitalPin2, LOW);
- digitalWrite(digitalPin3, LOW);
- }
- }
- void loop() {
- delay(5);
- radio.startListening();
- if ( radio.available()) {
- radio.read(&madtype, sizeof(madtype)); //modtager signal om hvilken mad type som er valgt, fra fjernbetæningen
- send_via_kabel(madtype); // sender madtypen til armen via kabel
- }
- delay(5);
- radio.stopListening();
- ///tjekker om robotarmen er færdig
- modtag = analogRead(analogInPin);
- if (modtag > 1000) {
- arm_faerdig = 1;
- /// sætter output til robotarm til lig 0, så der er kalr til at modtage ny instrukser
- digitalWrite(digitalPin1, LOW);
- digitalWrite(digitalPin2, LOW);
- digitalWrite(digitalPin3, LOW);
- }
- if (modtag < 100) {
- arm_faerdig = 0;
- }
- radio.write(&arm_faerdig, sizeof(arm_faerdig)); //Sender infor om at robotarmen er færdig eller ej, til fjernbetæningen
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement