quadcopter with kk board and arduino?

We are using a kk board 2.1.5 to control the  quad copter  and it works just fine.Well now we want to move a bit further and start making our own self stabilization algorithms based on slam algorithms . I want the public's opinion on using both the KK board (to auto stabilize ,don't want to mess around the PID  )  and adding a arduino duo in between the KK board and the receiver . So basically the idea is that the receiver signals are going to be altered using some mathematical functions to add features such as obstacle detection and avoidance  . My friend was rasing some doubts regarding this  as the signal input and pwm output might not be in sync Thanks in advance 

Question by cthaliyath   |  last reply





Scanner Lamp driver...

Could some please tell me what is the output of a scanner's lamp driver. and can i make something cool out of it beside turning any lamps with it!?

Question by kk khrab 


Battery powered spark plug driver

Hi every one i have a Bosch ignition coil but i don't know how to run it with a battery i have tries a few methods but it didn't work can any body help me with a diagram please.

Question by kk khrab   |  last reply


RUBY LASER.? Answered

Hello every one. I really need some help on how to make a ruby laser, i live in Australia and laser are totally banned where i live so i did some research on how to make powerful laser. I came across Ruby laser, i did some research but i am not sure how to make one or get the parts from so any one that can help please do so. thank you. :)

Question by kk khrab   |  last reply


My key chain Video Recorder Doesn't Record video! only audio and takes snap shots!! can some one please help me!!? Answered

Hi every one i bought a key-chain video recorder for my micro twister! it arrived today....i tried recording video......but it didn't record any it only took pictures and recorded audio!! can some one please help me !! to make it record video!!

Question by kk khrab   |  last reply


does iphone 3g use the same coil (backlight) as the iphone 3gs?

Hey guys i have an iphone that i droped in water then the backlight died. i heard of this coil or known as backlight. i heard u need to buy a new one then take the broken one out and solder a new one. and i was wonderin if u can use a iphone 3g on the 3gs's? if u have any idea please comment or know a better way to fix the phone kk

Question by HmOnGbOi   |  last reply


USB-bus-communication with pic18f4550

Hi everbody Im memo Can you help me please? I'm working on a project about USB Communication with PIC Microcontroller(pic18f4550) I wrote the project in mikroC for pic pro v6.6.1 and this is : nusigned char readbuff[64] absolute 0x500; // Buffers should be in USB RAM, please consult datasheet unsigned char writebuff[64] absolute 0x540; char cnt; char kk; void interrupt(){ USB_Interrupt_Proc(); // USB servicing is done inside the interrupt } void main(void){ ADCON1 |= 0x0F; // Configure all ports with analog function as digital CMCON |= 7; // Disable comparators HID_Enable(&readbuff;,&writebuff;); // Enable HID communication while(1){ /*while(!HID_Read())*/ ; for(cnt=0;cnt<64;cnt++) /*writebuff[cnt]=readbuff[cnt];*/ while(!HID_Write(&writebuff;,64)) ; } } and this the USB Descriptor : USBdes.c : const unsigned int USB_VENDOR_ID = 0x1234; const unsigned int USB_PRODUCT_ID = 0x0001; const char USB_SELF_POWER = 0x80; // Self powered 0xC0, 0x80 bus powered const char USB_MAX_POWER = 50; // Bus power required in units of 2 mA const char HID_INPUT_REPORT_BYTES = 64; const char HID_OUTPUT_REPORT_BYTES = 64; const char USB_TRANSFER_TYPE = 0x03; //0x03 Interrupt const char EP_IN_INTERVAL = 1; const char EP_OUT_INTERVAL = 1; const char USB_INTERRUPT = 1; const char USB_HID_EP = 1; const char USB_HID_RPT_SIZE = 33; /* Device Descriptor */ const struct { char bLength; // bLength - Descriptor size in bytes (12h) char bDescriptorType; // bDescriptorType - The constant DEVICE (01h) unsigned int bcdUSB; // bcdUSB - USB specification release number (BCD) char bDeviceClass; // bDeviceClass - Class Code char bDeviceSubClass; // bDeviceSubClass - Subclass code char bDeviceProtocol; // bDeviceProtocol - Protocol code char bMaxPacketSize0; // bMaxPacketSize0 - Maximum packet size for endpoint 0 unsigned int idVendor; // idVendor - Vendor ID unsigned int idProduct; // idProduct - Product ID unsigned int bcdDevice; // bcdDevice - Device release number (BCD) char iManufacturer; // iManufacturer - Index of string descriptor for the manufacturer char iProduct; // iProduct - Index of string descriptor for the product. char iSerialNumber; // iSerialNumber - Index of string descriptor for the serial number. char bNumConfigurations; // bNumConfigurations - Number of possible configurations } device_dsc = { 0x12, // bLength 0x01, // bDescriptorType 0x0200, // bcdUSB 0x00, // bDeviceClass 0x00, // bDeviceSubClass 0x00, // bDeviceProtocol 8, // bMaxPacketSize0 USB_VENDOR_ID, // idVendor USB_PRODUCT_ID, // idProduct 0x0001, // bcdDevice 0x01, // iManufacturer 0x02, // iProduct 0x00, // iSerialNumber 0x01 // bNumConfigurations }; /* Configuration 1 Descriptor */ const char configDescriptor1[]= { // Configuration Descriptor 0x09, // bLength - Descriptor size in bytes 0x02, // bDescriptorType - The constant CONFIGURATION (02h) 0x29,0x00, // wTotalLength - The number of bytes in the configuration descriptor and all of its subordinate descriptors 1, // bNumInterfaces - Number of interfaces in the configuration 1, // bConfigurationValue - Identifier for Set Configuration and Get Configuration requests 0, // iConfiguration - Index of string descriptor for the configuration USB_SELF_POWER, // bmAttributes - Self/bus power and remote wakeup settings USB_MAX_POWER, // bMaxPower - Bus power required in units of 2 mA // Interface Descriptor 0x09, // bLength - Descriptor size in bytes (09h) 0x04, // bDescriptorType - The constant Interface (04h) 0, // bInterfaceNumber - Number identifying this interface 0, // bAlternateSetting - A number that identifies a descriptor with alternate settings for this bInterfaceNumber. 2, // bNumEndpoint - Number of endpoints supported not counting endpoint zero 0x03, // bInterfaceClass - Class code 0, // bInterfaceSubclass - Subclass code 0, // bInterfaceProtocol - Protocol code 0, // iInterface - Interface string index // HID Class-Specific Descriptor 0x09, // bLength - Descriptor size in bytes. 0x21, // bDescriptorType - This descriptor's type: 21h to indicate the HID class. 0x01,0x01, // bcdHID - HID specification release number (BCD). 0x00, // bCountryCode - Numeric expression identifying the country for localized hardware (BCD) or 00h. 1, // bNumDescriptors - Number of subordinate report and physical descriptors. 0x22, // bDescriptorType - The type of a class-specific descriptor that follows USB_HID_RPT_SIZE,0x00, // wDescriptorLength - Total length of the descriptor identified above. // Endpoint Descriptor 0x07, // bLength - Descriptor size in bytes (07h) 0x05, // bDescriptorType - The constant Endpoint (05h) USB_HID_EP | 0x80, // bEndpointAddress - Endpoint number and direction USB_TRANSFER_TYPE, // bmAttributes - Transfer type and supplementary information 0x40,0x00, // wMaxPacketSize - Maximum packet size supported EP_IN_INTERVAL, // bInterval - Service interval or NAK rate // Endpoint Descriptor 0x07, // bLength - Descriptor size in bytes (07h) 0x05, // bDescriptorType - The constant Endpoint (05h) USB_HID_EP, // bEndpointAddress - Endpoint number and direction USB_TRANSFER_TYPE, // bmAttributes - Transfer type and supplementary information 0x40,0x00, // wMaxPacketSize - Maximum packet size supported EP_OUT_INTERVAL // bInterval - Service interval or NAK rate }; const struct { char report[USB_HID_RPT_SIZE]; }hid_rpt_desc = { {0x06, 0x00, 0xFF, // Usage Page = 0xFF00 (Vendor Defined Page 1) 0x09, 0x01, // Usage (Vendor Usage 1) 0xA1, 0x01, // Collection (Application) // Input report 0x19, 0x01, // Usage Minimum 0x29, 0x40, // Usage Maximum 0x15, 0x00, // Logical Minimum (data bytes in the report may have minimum value = 0x00) 0x26, 0xFF, 0x00, // Logical Maximum (data bytes in the report may have maximum value = 0x00FF = unsigned 255) 0x75, 0x08, // Report Size: 8-bit field size 0x95, HID_INPUT_REPORT_BYTES,// Report Count 0x81, 0x02, // Input (Data, Array, Abs) // Output report 0x19, 0x01, // Usage Minimum 0x29, 0x40, // Usage Maximum 0x75, 0x08, // Report Size: 8-bit field size 0x95, HID_OUTPUT_REPORT_BYTES,// Report Count 0x91, 0x02, // Output (Data, Array, Abs) 0xC0} // End Collection }; //Language code string descriptor const struct { char bLength; char bDscType; unsigned int string[1]; } strd1 = { 4, 0x03, {0x0409} }; //Manufacturer string descriptor const struct{ char bLength; char bDscType; unsigned int string[16]; }strd2={ 34, 0x03, {'M','i','k','r','o','e','l','e','k','t','r','o','n','i','k','a'} }; const struct{ char bLength; char bDscType; unsigned int string[15]; }strd3={ 32, //sizeof this descriptor string 0x03, {'U','S','B',' ','H','I','D',' ','L','i','b','r','a','r','y'} }; //Array of configuration descriptors const char* USB_config_dsc_ptr[1]; //Array of string descriptors const char* USB_string_dsc_ptr[3]; void USB_Init_Desc(){ USB_config_dsc_ptr[0] = &configDescriptor1; USB_string_dsc_ptr[0] = (const char*)&strd1; USB_string_dsc_ptr[1] = (const char*)&strd2; USB_string_dsc_ptr[2] = (const char*)&strd3; } the problem is thas when I build the project this message is shown 434 Demo Limit 102 Finished(With errors) How I Can Solve how this problem please?

Topic by MohamadK4   |  last reply