i have made quadcopter with arduino uno and gy_80 sensor i have ppm 4channel radio controller and it is not sum every single channel is ppm . i tried to use your program for this but receiver dont work when i want it to fly ..... " when i connect my ppm receiver to single motor with esc radio control work perfectly but when i use it as quadcopter with code does not work ......... help me plz . help firstname.lastname@example.org
Well, it won't work, I'd be surprised if it did.. This sketch is written for the arduino leonardo (atmega32u4), meaning it won't work on the UNO directly, specially the receiver part. The receiver is using the PCINT (pin change interrupts), and because there is no built-in library for arduino I had to address the registers directly, the atmega32u4 registers (which is not the same for the UNO atmega328p)..
For a beginner I recommend the use of MultiWii's code (http://www.multiwii.com/software), my code is "kind of" for people that wants to write their own code and needs some starting ground..
Edit: Another thing I would like to add.. If you decide to modify my code to work with your quadcopter, you'd have to make sure that your ESC supports PWM at a frequency of ~480-500Hz... Most ESC are made to only support PPM.. PPM isn't the same as PWM, the signal looks different and in most ESC is made to run on a frequency of 50Hz...
And if you decide to replace the 480Hz PWM with 50Hz PPM, you'll have a lot of trouble getting the quadcopter to be stable... With a little luck, you'll maybe be able to fly it in rate mode.. Angle/Level mode needs a faster update rate...
Cr0sh.. You got 'a lot of points' there =P but I'm the kind of hobbyist that loves SMD! I learned electronics back in high school.. After that I haven't touched or did anything with my education until 2.5 years ago when I discovered the AVR microcontrollers.. Well you can imagine, I went from soldering only through hole components to almost only surface mount.. To me, surface mounts are easier to work with (somehow).. They are smaller and makes your project look neat/cool.. It only took me 3-5 boards in-order to develop a technique for soldering these small things.. It's not hard.. And when I prototype and etch my boards at home, I try to put only SMD's on my boards.. That's because I don't have to drill the boards, which saves me a lot of time and money (smaller boards == cheaper).. Anyhow, that's my opinion! =)
I'm sorry to say this bro, but, there isn't any DIP/through hole package for the atmega8u2/16u2.. And I really don't know of any chip in DIP package that does USB Serial conversion... You can maybe make something like this guy: http://forum.arduino.cc/index.php?topic=24460.0
Do you need an additional device to "bind" or "register" the receiver to the transmitter, or does the one you listed do that?
The packages comes with a transmitter and receiver..
No, you get a 'special' wire that shorts the signal line on the PWR-input to ground (on the receiver).. This will put it in binding mode (Led will start to blink once per second)... In the transmitter all you have to do is hold the bind button and turn it on.. One second later the connection is accomplished, and the led on the receiver will stop blinking =D!
many questions pop up - how high can it fly? - how long can it stay in the air? - what does it do when it looses contact with remote? - ...
-- Pretty high.. I didn't measure the distance yet.. But it's so high that it starts to look like a small fly in the sky (cant see the orientation of the quad, nothing).. -- I'm using a double 2200mAh (3 cells, LiPo, coupled in parallell).. It gave me approx. 15min of flight.. -- Well I lost contact with it when I pushed the throttle to the max! (meaning it flew very high).. Nothing special happens.. It will stay leveled in the air until battery begins to run out, and it will descend (depending on the ESC ur using, it can descend slowly(ESC cutting power slowly) or it will suddenly stop (ESC cuts the power alltogether)).
And here's my parts list (all from hobbyking.com):
20CM Male to Male Servo Lead (JR) 26AWG (10pcs/set)
I spent the summer working with a new hobby of mine, Quadcopters =D! The quadcopter board is homemade (atmega32u4). Because my board has the same pinout as a leonardo, I decided to go with the multiwii firmware. So I etched a shield for my board containing headers for the receiver, motors and the IMU (cheap chinese found on ebay, ADXL345, L3G4200D, HMC5883 and BMP085).
I was happy with the quadcopter, it flew very nicely (after some PID changes of course).. But in the end I'm the type that likes to write my own code.. Trying to look at multiwii's code to see how they made it work (just to get a hunch), I directly noticed that the code isn't very, hmm how do I put it, reader friendly... So I trashed Multiwii, and there my summer began learning the dynamics and physics of quadcopters.
Three days later, I got a working code.. Three weeks after that I finally managed to find the optimal PID values for my quadcopter =P (yes it took three weeks of tweaking)..
Anyhow I'm not going to bore you out with my story. Instead I'm going to share my code with the arduino community and a video of the quadcopters first flight with my code..
If there is a big demand for a code explanation/theory about quadcopters and how everything works, shout out here, and I'll come up with something for you...
Edit: I've updated the code.. Made the sketch run more efficiently and reduced code size.. With this change I managed to find better PID values and thus get better/faster stabilization.. For those interested I've added pictures of the main board and hardware setup..
Just dug up this old thread - I've just burned your temp sensor code to my Due board with BOSSAC, and after about 5 minutes the chip is at ~36.4degrees, and it can't be more than 20 degrees inside here today!
What was ambient when you did the test?
Well, can't exactly remember.. But not more than 15-17ºC... 36.4ºC is kinda normal.. The internal temp. sensor isn't that accurate either.. And I don't really know if it needs some kind of calibration.. As long as it's not hot to touch, you don't have to worry..