3/10/2019 Finishing my drone construction

Today I came in during the holidays to finish off my drone, I had to solder power to my Arduino board, wire the receiver and the APM pro correctly. I started with installing the APM pro that was kind of difficult as I couldn’t find the manual which told me what pins did what and ect, but after a while i found it with the help of my tutor and started to plug the wires in, the wires from the electric speed controllers had to go in the main out s1-s4 which each motor was individually assigned, I had to also take into count which was the front, back and which motors are which aswel as which wires do what. This is probably due to the fact he motors need to be counter spinning to create the desired effect of hovering or flying stably. After completing this I had to link the APM controller with the Arduino board. I did this by plugging the channels from c1-c8 into the digital pins on the Arduino board from D2-D7, also had to plug a 5v and ground to power the APMpro, I also asked my tutor for the 3d printed receiver holders and I screwed it onto my drone the wired the actual receiver to my Arduino board on the digital pins D9-D13. After completing this I had to solder the power distribution board to my Arduino board to power it, as all things getting power will be getting power from the battery/PDB. I have included photos at the bottom. After I had double checked everything I asked my tutor to relook before I plugged in my battery to power it up, and everything was good so I powered it up and all the lights turned on, the receiver, the Arduino and the APMpro all lit up.

27/09/2019 More soldering

Today we continued on with our drones, i finished off my electric speed controller soldering and finally fitted the missing ecs onto the motors. I worked around with my CCS on this blog site, and got rid of an annoying black banner. Also repaired my controller as it had snapped a little bit. I changed it as with the video in the background as it was hard to read the text with all the motion. I’ve included photos of the before and after my custom ccs. I also soldered my pcb onto my drone during the last moments of eit.

div {
  display: block;
  position: relative;
}


.site-content {
  background-image: url("http://s1.picswalls.com/wallpapers/2016/06/10/4k-high-definition-wallpaper_065229159_309.jpg"); background-repeat: no-repeat;
  background-attachment: fixed;
}


.site-footer {
  display: block;
  position: relative;
}

.site-footer::after {
  content: "";
  
  opacity: 0.75;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  position: absolute;
  z-index: -1;
}
Before working around with custom ccs
After finding how to remove black bar and including a skyline still photo.

20/9/2019 Getting close

Today our tutor had to give us a brief on the protocols for when some ministers visit our level 3 computing E.I.T class. I started to drill more holes to fit more components onto my drone, i also discovered i had one less speed controller so i have to figure out something. I soldered the 3 i did have on to my motors today as well.

13/09/2019

Today we had a safety segment on the lithium batteries we have been given, we had to measure the voltage using a volt meter, we checked the over all voltage and then the individual cell voltage, we learnt what makes it unstable and the ideal conditions to store them in. After that i began soldering my analog sticks to my circuit board for my controller. I almost finished only gotta do two more wires. We also had our tutor show us the dead line and stuff using a calendar which helped us visualize how much time we actually had.

9/08/2019 Getting correct measurements..

Today was the one of the last days to get our practice plates ready for the milling machine, today i spent majority of my time working on creating space on my drone and building another level and making it possible for another level if i needed. I also readjusted my drone arm holes where the motor actually bolts in. Also i came up with the idea of adding slots to my drone arms which will add a platform where i can either cable tie or weave the wires from the motor, all for cable management which is important so it looks tidy and is functional.

The holes i had made, i did this using the slot tool on fusion 360.. 5 mm long and 3.5 wide for engineering clearance.
You can see the levels and the room i made

2/08/2019 Designing our printed circuit boards

Today Steve took us through and showed us how to use EAGLE CAD, an application where you can create circuits and design Circuit boards. We had to install the libraries that Steve had made available for us in our tech lab drop box file. We then had to search for each component for the circuit then place them down and then connect them with wires. I then started to work on my drone design but needed to update so i went into the cnd and manually updated fusion 360. After that I started to draw up my components which will be needed for the final product, making sure i have all the pieces fitted.

The sketch of the board i designed.
This is the preview making sure all the wires are correct.

26/07/2019 Measuring drone components for design

Today we had a quick brief on how to use the manufacture feature of Fusion 360 and then i had come across the fact my plates for my drone components were not made adequately, so then I measured and recorded all of the heights , widths and lengths. This is so i can simulate my final drone prototype without milling it out and finding out it isn’t too small or big. After recording it i started to set myself homework which I will be completing at my house to a high standard. I realized i need to get into gear and actually work harder and today was a wake up call. I have included a couple screen shots of the current prototype but i will need to raise the distance between the base and top plate to fit in the battery, flight controller ect.

Need to increase the distance to fit parts

5/07/2019 DESIGNING!

In todays lesson we finished our project planner and started to work more into the designing of our drones and making sure it was the way we wanted it. we also started learning which file types were the best for milling out our carbon fiber drones. Below I have included a video of the Milling machine milling out a drone design. Also finished creating the a virtual curiuit board on fritzing and made the tranceiver.

14/06/2019 TRANSCEIVERS AND RECEIVERS

For today’s class we had been taught about PWM which means Pulse Width Modulation and how we can manipulate it for different energy values, for example the lights in our class actually flicker at around 50 times per second and that creates a bright light, how ever if we made the amount of time on per ms we create different energy levels making the light brighter or dimmer. Our tutor then spoke about how we can use the certain levels from our analog sticks to create different controls and different values for our motors, using this for drone movements like roll, pitch, yaw ect. We also started building our transceivers to pair with our receivers after making the circuits in fritzing.

31/05/2019 CODING ULTRA SONIC SENSORS

Today we began diving deeper into writing code and more into the circuits to make the ultra sensors work. We had to differentiate the outputs from inputs so we wouldn’t blow the ultrasonic sensor. We spent time working on writing the code and polishing it to put into the Arduino board. I had created two sets of three LEDs and one ultrasonic sensor, I had written code to make the different LEDs light up with different distances, I did this with if and else statements, for example, when the ultrasonic reads 5cm set redLED to high (if (ditanceCmF2<=5) {digitalWrite(redLED2, HIGH);} ). I also set up void functions for my code so instead of a heap of lines its only 4 lines that are being repeated, this being as I have declared what each void function is and the action if called upon. After lunch, our tutor Steve had shown us how to add libraries to our Arduino application where we write code which is going to be helpful as libraries allow us to create code quicker and more reliable.

#include <Wire.h>


int trigPinF1 = 4;  // Setting a integer called trigPinF for trigger pin F (front sensor) as mine has a back sensor as well.
int echoPinF1 = 7;  // Setting a integer called echoPinF for trigger pin F (front sensor) as mine has a back sensor as well.
int trigPinF2 = 10;  // Setting a integer called trigPinF for trigger pin F (front sensor) as mine has a back sensor as well.
int echoPinF2 = 11;  // Setting a integer called echoPinF for trigger pin F (front sensor) as mine has a back sensor as well.

long int duration;  // Using Long to allow the Integer to accept a long number (string) as I want accuracy. 

int distanceCmF1;   // Setting a integer called distanceCm. 
int distanceCmF2;   // Setting a integer called distanceCm. 

int greenLED1 = 13; // setting integer for the first green led
int yellowLED1 = 12; // setting integer for the first yellow led
int redLED1 = 8;    // setting integer for the first red led

int greenLED2 = 2; // setting integer for the second green led
int yellowLED2 = 5; // setting integer for the second yellow led
int redLED2 = 6;  // setting integer for the second red led

// sensor 2 : echo=pin11 trigg=pin10

void SheasF1 ()   // Void function i set up for my first sonar sensor
{
digitalWrite(trigPinF1, LOW);  // Trigger pin set to off to start with.
delayMicroseconds(2);   // Off for 2mS. Try different values.
digitalWrite(trigPinF1, HIGH);   // Trigger pin set to on to send sound out.
delayMicroseconds(10);  // On for 10mS. Try different values.
digitalWrite(trigPinF1, LOW);  // Trigger pin set to off to end with, otherwise it may not switch off.

duration = pulseIn(echoPinF1, HIGH);   // The long integer "duration" is now equal to what signal comes in on echoPinF. We have activated the pin (High) so the pin is active.
distanceCmF1= duration*0.034/2;   // Runs this formula to convert the time the ping returns to centimeters.

Serial.println(distanceCmF1);

}

void SheasF2 () // Void function i set up for my second sonar sensor
{
digitalWrite(trigPinF2, LOW);  // Trigger pin set to off to start with.
delayMicroseconds(2);   // Off for 2mS. Try different values.
digitalWrite(trigPinF2, HIGH);   // Trigger pin set to on to send sound out.
delayMicroseconds(10);  // On for 10mS. Try different values.
digitalWrite(trigPinF2, LOW);  // Trigger pin set to off to end with, otherwise it may not switch off.
duration = pulseIn(echoPinF2, HIGH);   // The long integer "duration" is now equal to what signal comes in on echoPinF. We have activated the pin (High) so the pin is active.
distanceCmF2= duration*0.034/2;   // Runs this formula to convert the time the ping returns to centimeters.

Serial.println(distanceCmF2);
  
}

void SheasLED1 () /*First void function for my leds (else if statements for distance judgments*\
{
if (distanceCmF1 <=5) // If distance less or equal to 5
{digitalWrite(redLED1, HIGH);} // set 1st red LED to high(on)


else if (distanceCmF1 <=7) // IF distance less or equal to 7
{digitalWrite(yellowLED1, HIGH); } // set 1st yellow led to high(on)


else if (distanceCmF1 <=9) // IF distance less or equal to 9
{digitalWrite(greenLED1, HIGH);} // set 1st green led to high(on)
else                             //if not set all to low(off)
{digitalWrite(greenLED1, LOW);
digitalWrite(redLED1, LOW);
digitalWrite(yellowLED1, LOW);}
 
}

void SheasLED2 ()
{
if (distanceCmF2 <=5) // If distance less or equal to 5
{digitalWrite(redLED2, HIGH);} // set 2nd red led to high(on)


else if (distanceCmF2 <=7) // IF distance less or equal to 7
{digitalWrite(yellowLED2, HIGH); } // set 2nd yellow led to high(on)


else if (distanceCmF2 <=9 ) // If distance less or equal to 9
{digitalWrite(greenLED2, HIGH);}// set 2nd green led to high(on)
else                           //if not set all to low(off)
{digitalWrite(greenLED2, LOW);
digitalWrite(redLED2, LOW);
digitalWrite(yellowLED2, LOW);}
}
  

void setup() {

Serial.begin(9600);
  
 
pinMode(trigPinF1, OUTPUT);  // Sets what the pin will be (either an input or an output). Trigger is the sound going out.
pinMode(echoPinF1, INPUT);   // Sets what the pin will be (either an input or an output). Echo is the sound comming back.

pinMode(trigPinF2, OUTPUT); //declares that pin10/trigPinF2 is an output as it is sending ultra sonic frequency out.
pinMode(echoPinF2, INPUT); // declares that pin11/echoPinf2 is an input as it is recieving the ultra sonic frequency.

pinMode(greenLED1, OUTPUT);   //declaring pins for leds outputs
pinMode(yellowLED1, OUTPUT);
pinMode(redLED1, OUTPUT);

pinMode(greenLED2, OUTPUT);
pinMode(yellowLED2, OUTPUT);
pinMode(redLED2, OUTPUT);
}

 
void loop() {



SheasF1 ();
SheasF2 ();
SheasLED1 () ;
SheasLED2 () ;




}