tag:blogger.com,1999:blog-7214097671310478681.post3653676429975964838..comments2024-03-28T04:12:30.223-07:00Comments on RCArduino: RCArduino Libraries FAQCan_I_Trade?http://www.blogger.com/profile/07867684474123805993noreply@blogger.comBlogger36125tag:blogger.com,1999:blog-7214097671310478681.post-81600864081275356092022-03-26T22:36:45.259-07:002022-03-26T22:36:45.259-07:00LEGIT FULLZ & TOOLS STORE
Hello to All !
We ...LEGIT FULLZ & TOOLS STORE<br /><br />Hello to All !<br /><br />We are offering all types of tools & Fullz on discounted price.<br />If you are in search of anything regarding fullz, tools, tutorials, Hack Pack, etc<br />Feel Free to contact<br /><br />***CONTACT 24/7***<br />**Telegram > @leadsupplier<br />**ICQ > 752822040<br />**Skype > Peeterhacks<br />**Wicker me > peeterhacks<br /><br />"SSN LEADS/FULLZ AVAILABLE"<br />"TOOLS & TUTORIALS AVAILABLE FOR HACKING, SPAMMING,<br />CARDING, CASHOUT, CLONING, SCRIPTING ETC"<br /><br />**************************************<br />"Fresh Spammed SSN Fullz info included"<br />>>SSN FULLZ with complete info<br />>>CC With CVV Fullz USA<br />>>FULLZ FOR SBA, PUA & TAX RETURN FILLING<br />>>USA I.D Photos Front & Back<br />>>High Credit Score fullz (700+ Scores)<br />>>DL number, Employee Details, Bank Details Included<br />>>Complete Premium Info with Relative Info<br /><br />***************************************<br />COMPLETE GUIDE FOR TUTORIALS & TOOLS<br /><br />"SPAMMING" "HACKING" "CARDING" "CASH OUT"<br />"KALI LINUX" "BLOCKCHAIN BLUE PRINTS" "SCRIPTING"<br />"FRAUD BIBLE"<br /><br />"TOOLS & TUTORIALS LIST"<br />=>Ethical Hacking Ebooks, Tools & Tutorials<br />=>Bitcoin Hacking<br />=>Kali Linux<br />=>Fraud Bible<br />=>RAT<br />=>Keylogger & Keystroke Logger<br />=>Whatsapp Hacking & Hacked Version of Whatsapp<br />=>Facebook & Google Hacking<br />=>Bitcoin Flasher<br />=>SQL Injector<br />=>Premium Logs (PayPal/Amazon/Coinbase/Netflix/FedEx/Banks) <br />=>Bitcoin Cracker<br />=>SMTP Linux Root<br />=>Shell Scripting<br />=>DUMPS with pins track 1 and 2 with & without pin<br />=>SMTP's, Safe Socks, Rdp's brute<br />=>PHP mailer<br />=>SMS Sender & Email Blaster<br />=>Cpanel<br />=>Server I.P's & Proxies<br />=>Viruses & VPN's<br />=>HQ Email Combo (Gmail, Yahoo, Hotmail, MSN, AOL, etc.)<br /><br />*Serious buyers will always welcome<br />*Price will be reduce in bulk order<br />*Discount offers will gives to serious buyers<br />*Hope we do a great business together<br /><br />===>Contact 24/7<===<br />==>Telegram > @leadsupplier<br />==>ICQ > 752822040<br />==>Skype > Peeterhacks<br />==>Wicker me > peeterhacksICQ 752822040https://www.blogger.com/profile/04917018796704704271noreply@blogger.comtag:blogger.com,1999:blog-7214097671310478681.post-85673600986790969282022-03-26T22:36:33.441-07:002022-03-26T22:36:33.441-07:00LEGIT FULLZ & TOOLS STORE
Hello to All !
We ...LEGIT FULLZ & TOOLS STORE<br /><br />Hello to All !<br /><br />We are offering all types of tools & Fullz on discounted price.<br />If you are in search of anything regarding fullz, tools, tutorials, Hack Pack, etc<br />Feel Free to contact<br /><br />***CONTACT 24/7***<br />**Telegram > @leadsupplier<br />**ICQ > 752822040<br />**Skype > Peeterhacks<br />**Wicker me > peeterhacks<br /><br />"SSN LEADS/FULLZ AVAILABLE"<br />"TOOLS & TUTORIALS AVAILABLE FOR HACKING, SPAMMING,<br />CARDING, CASHOUT, CLONING, SCRIPTING ETC"<br /><br />**************************************<br />"Fresh Spammed SSN Fullz info included"<br />>>SSN FULLZ with complete info<br />>>CC With CVV Fullz USA<br />>>FULLZ FOR SBA, PUA & TAX RETURN FILLING<br />>>USA I.D Photos Front & Back<br />>>High Credit Score fullz (700+ Scores)<br />>>DL number, Employee Details, Bank Details Included<br />>>Complete Premium Info with Relative Info<br /><br />***************************************<br />COMPLETE GUIDE FOR TUTORIALS & TOOLS<br /><br />"SPAMMING" "HACKING" "CARDING" "CASH OUT"<br />"KALI LINUX" "BLOCKCHAIN BLUE PRINTS" "SCRIPTING"<br />"FRAUD BIBLE"<br /><br />"TOOLS & TUTORIALS LIST"<br />=>Ethical Hacking Ebooks, Tools & Tutorials<br />=>Bitcoin Hacking<br />=>Kali Linux<br />=>Fraud Bible<br />=>RAT<br />=>Keylogger & Keystroke Logger<br />=>Whatsapp Hacking & Hacked Version of Whatsapp<br />=>Facebook & Google Hacking<br />=>Bitcoin Flasher<br />=>SQL Injector<br />=>Premium Logs (PayPal/Amazon/Coinbase/Netflix/FedEx/Banks) <br />=>Bitcoin Cracker<br />=>SMTP Linux Root<br />=>Shell Scripting<br />=>DUMPS with pins track 1 and 2 with & without pin<br />=>SMTP's, Safe Socks, Rdp's brute<br />=>PHP mailer<br />=>SMS Sender & Email Blaster<br />=>Cpanel<br />=>Server I.P's & Proxies<br />=>Viruses & VPN's<br />=>HQ Email Combo (Gmail, Yahoo, Hotmail, MSN, AOL, etc.)<br /><br />*Serious buyers will always welcome<br />*Price will be reduce in bulk order<br />*Discount offers will gives to serious buyers<br />*Hope we do a great business together<br /><br />===>Contact 24/7<===<br />==>Telegram > @leadsupplier<br />==>ICQ > 752822040<br />==>Skype > Peeterhacks<br />==>Wicker me > peeterhacksICQ 752822040https://www.blogger.com/profile/04917018796704704271noreply@blogger.comtag:blogger.com,1999:blog-7214097671310478681.post-56782432129412203042013-09-25T06:58:46.892-07:002013-09-25T06:58:46.892-07:00Hi Duane
I would like to use this library to rece...Hi Duane<br /><br />I would like to use this library to receive code from my Hitech RX with PPM output. but I have a strange question, is there a limit to how long the wire can be that the PPM stream is travelling on before info will be lost ?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7214097671310478681.post-54115776226311712602013-06-24T22:04:56.854-07:002013-06-24T22:04:56.854-07:00Hi,
Yes, you will need to read the PPM and than ...Hi,<br /> Yes, you will need to read the PPM and than map it to PWM for the H-Bridges. The most reliable way to do this is to include some calibration code, you will find that your receiver does not output 1000-1500-2000us for reverse, neutral and full speed ahead. Here is a post with an explanation and some sample code, it reads individual channels directly rather than from a PPM Stream but it would be easy enough to convert.<br /><br />http://rcarduino.blogspot.ae/2012/05/interfacing-rc-channels-to-l293d-motor.html<br /><br />DuaneCan_I_Trade?https://www.blogger.com/profile/07867684474123805993noreply@blogger.comtag:blogger.com,1999:blog-7214097671310478681.post-70877265437517810892013-06-23T21:51:27.661-07:002013-06-23T21:51:27.661-07:00Duane,
I am feeling overwhelmed by all of the fan...Duane,<br /><br />I am feeling overwhelmed by all of the fantastic info here. Please point me in the right direction for what I want to do...<br /><br />I want to use my six-channel 2.4 GHz radio to control up to 4 motors with PWM via H-bridges. Should I use the RCArduinoFastLib library to read the PPM from the receiver and then manually map/constrain those to PWM values or is there a better way that I have not seen?<br /><br />BTW, my son and I were admiring your traction control setup! Pretty neat stuff.<br /><br />-dtpAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-7214097671310478681.post-67724822081731502322013-06-18T23:21:03.740-07:002013-06-18T23:21:03.740-07:00Ok, so what does not work ? are your servos not be...Ok, so what does not work ? are your servos not being pulsed or are you not receiving any incoming interrupts or something else ?<br /><br />Duane.Can_I_Trade?https://www.blogger.com/profile/07867684474123805993noreply@blogger.comtag:blogger.com,1999:blog-7214097671310478681.post-89650923537970676372013-06-18T08:01:33.041-07:002013-06-18T08:01:33.041-07:00Sir,
Thank you for your quick response.
I just sta...Sir,<br />Thank you for your quick response.<br />I just started building my quad,since i got most of my components two days back only.However,i have custom made a 6 axis IMU in the mean time,which is working with its code.<br /><br />Once my RC controller arrived,i just tried to read the receiver data from my arduino and control servos using it .Though it was working,it was damn slow because of pulsein and servolib.<br />And from this blog,i tried the rcarduinofastlib in my uno with just the test code given by you here and it worked perfectly for me.I hadn't integrated my IMU into this code.<br />I tried to change from uno to mega(with your same test sketch,changing the pins as mentioned).So,the current code is just the test code that you have provided in this link here:<br /><br />http://rcarduino.blogspot.co.uk/2012/11/how-to-read-rc-channels-rcarduinofastlib.html?m=1<br /><br /><br />with the pins changed as mentioned by you like this:<br /><br /><br />to<br /><br />// Assign your channel in pins<br />#define THROTTLE_IN_PIN 10<br />#define STEERING_IN_PIN 11<br />#define AUX_IN_PIN 12<br /><br />// Assign your channel out pins<br />#define THROTTLE_OUT_PIN 5<br />#define STEERING_OUT_PIN 6<br />#define AUX_OUT_PIN 7<br /><br />Also,in the end of that post,you said,you will make a mega specific version that weekend.I also searched for that mega specific code everywhere,bu couldn't find it.<br /><br /><br />Basically,i am a mechanical engg. 2nd year student.So,i am not that comforatble with Interuppts/Timers.<br /><br />Thanks again!Anonymoushttps://www.blogger.com/profile/05155307522036556988noreply@blogger.comtag:blogger.com,1999:blog-7214097671310478681.post-52122155331382595602013-06-18T00:54:10.707-07:002013-06-18T00:54:10.707-07:00Hi,
Send me your current code through a PM to Dua...Hi,<br /><br />Send me your current code through a PM to DuaneB on the Arduino forum and I will have a look.<br /><br />Duane BCan_I_Trade?https://www.blogger.com/profile/07867684474123805993noreply@blogger.comtag:blogger.com,1999:blog-7214097671310478681.post-64213012775800343702013-06-17T08:06:50.939-07:002013-06-17T08:06:50.939-07:00Sir,
My name is Hari..
I had been trying to make a...Sir,<br />My name is Hari..<br />I had been trying to make a quadcopter using arduino Mega.So i tried using the rcarduinofastlib.I tried it first in UNO and got it working succesfully.But when i changed to Mega,with the pins changed from 5,6,7 in UNO to 10,11,12 in Mega and the ESCs from 8,9,10 to 5,6,7.<br />These changes were made since,i came to know about the issues with the Interupts.<br />These changes were made as mentioned already in this blog.I also tried to make it work using the analog pins from 6 to 15,but couldn't make it.<br />I would like to know whether i should change anything more from the test code given by you here:<br /><br />http://rcarduino.blogspot.co.uk/2012/11/how-to-read-rc-channels-rcarduinofastlib.html?m=1<br /><br />Any help will be deeply appreciated.<br />Thanking you in anticipation <br />HariAnonymoushttps://www.blogger.com/profile/05155307522036556988noreply@blogger.comtag:blogger.com,1999:blog-7214097671310478681.post-55727115870210035252013-06-08T02:32:11.898-07:002013-06-08T02:32:11.898-07:00Calibration - how and why here -
http://rcarduino....Calibration - how and why here -<br />http://rcarduino.blogspot.com/2012/05/interfacing-rc-channels-to-l293d-motor.html<br /><br />Duane BCan_I_Trade?https://www.blogger.com/profile/07867684474123805993noreply@blogger.comtag:blogger.com,1999:blog-7214097671310478681.post-63409667405593067422013-06-07T09:40:52.895-07:002013-06-07T09:40:52.895-07:00glad you were able to figure it out. The 1,000 to ...glad you were able to figure it out. The 1,000 to 2,000 us range with 1,500 as the center is a rough guide, in practice you will find that the channel centers and end points will be off byas much as 200 us as in your case. For some projects where you are just passing thevaluesthrough, this does not matter. For other projects where you are calculating outputs based on the current input and its position within the input range, you will need to calibrate your project. There is an example on the blog that shows calibration, if yoy cant find it, let me know and i will post the link here. Its part of the RCArduino Robot posts.<br /><br />DuaneCan_I_Trade?https://www.blogger.com/profile/07867684474123805993noreply@blogger.comtag:blogger.com,1999:blog-7214097671310478681.post-78679022415496645812013-06-06T18:38:51.913-07:002013-06-06T18:38:51.913-07:00After reviewing my set up, I think I found the 10k...After reviewing my set up, I think I found the 10k pull-up resistor was incorrectly wired. Once this was corrected, I was successfully able to decode all 6 individual channels values in the PPM stream from the Vex transmitter tether port. The value changes corresponding to transmitter stick movement (channel 1-4) and button presses (channel 5-6). <br /><br />The good news is the RCArduinoFastLib is able to decode the Vex transmitter PPM stream. <br /><br />The only issue I am still seeing, is resulting values appear to be higher then expected. <br /><br />Example of Transmitter idle values<br /><br />Channel 1 Channel 2 Channel 3 Channel 4 Channel 5 Channel 6<br />15254 15184 15234 15154 15194 15184<br /><br />Where the channel neutral is around 15000, full positive is around 20000 and full negative is around 10000. I expected the values would be neutral = 1500, full positive = 2000 and full negative = 1000. <br /><br />Any idea what would cause this?<br /><br />Thanks<br /><br /><br /><br />nbrophyhttps://www.blogger.com/profile/10627689510792139698noreply@blogger.comtag:blogger.com,1999:blog-7214097671310478681.post-16570175174811455222013-06-04T20:23:54.597-07:002013-06-04T20:23:54.597-07:00I am quite new to Arduino, but I am trying to figu...I am quite new to Arduino, but I am trying to figure out whether I can utilize the RCArduinoFastLib to decode PPM stream from the VEX 75 MHz Transmitter & Receiver (http://www.vexrobotics.com/vex/products/accessories/control/276-2153.html).<br /><br />The Vex transmitter and receiver utilize a 4P4C connection port to outputs a PPM stream (so you should be able to retrieve the PPM signal from either receiver or directly from the transmitter). I was reading up on the Vex transmitter and decoding from the following sites for reference:<br /><br />http://www.vexforum.com/showthread.php?t=24931<br />http://profmason.com/?p=602 <br />http://profmason.com/wp-content/uploads/2008/08/js-6.pdf<br /><br />I assume need I connect the PPM output from the transmitter (or receiver) to an Arduino (Nano) as follows, in order to be able to read the PPM signal. <br /><br /> VDD to 5V<br /> VSS to Ground <br /> PPM to D2 (with 10k pull-up resistor across VDD and D2) <br /><br />I edited the RCArduinoFastLib.h file to correspond to the Vex transmitter's 6 channels. <br /><br /> #define RC_CHANNEL_OUT_COUNT 7<br /> ...<br /> #define RC_CHANNEL_IN_COUNT 6<br /><br /><br /><br />In my sketch I set the frame space as follows:<br /><br /><br /> #define PPM_FRAME_SPACE 6<br /> ...<br /> CRCArduinoFastServos::setFrameSpaceA(PPM_FRAME_SPACE,8000);<br /><br /><br />Upon trying to read the value from each channel in serial monitor and I receive 01 for each channel.<br /><br />Example channel 1:<br /><br /> #define PPM_CHANNEL1_RGT_X_STK 0<br /> ...<br /> const int CHANNEL1_OUT_PIN=4;<br /> ...<br /> CRCArduinoFastServos::attach(PPM_CHANNEL1_RGT_X_STK,CHANNEL1_OUT_PIN);<br /> ...<br /> uint16_t unChannel1In = Serial.print(CRCArduinoPPMChannels::getChannel (PPM_CHANNEL1_RGT_X_STK));<br /> ...<br /> if(unChannel2In) {<br /> Serial.print(unChannel2In);<br /> }<br />The values do not change with any transmitter stick movement or press of the buttons.<br /> <br />I am not sure if it is my wiring or I am printing the wrong value. Any suggestion would be helpful.<br /><br />Thanks<br />nbrophyhttps://www.blogger.com/profile/10627689510792139698noreply@blogger.comtag:blogger.com,1999:blog-7214097671310478681.post-85589393551614081062013-04-24T13:52:54.403-07:002013-04-24T13:52:54.403-07:00Duane,
Not sure if it's right, but it is star...Duane,<br /><br />Not sure if it's right, but it is starting to work. I basically just swapped all the write commands for the FastServo writeMicroseconds and changed all of the values to be in microseconds instead of degrees. I just have to tweek the values of the distances from the sensor to have it react in time. Thanks again for all of your work on your blog. You have put a lot of time into it I can see.<br /><br />Thanks again,<br /><br />DerekAnonymoushttps://www.blogger.com/profile/00494091811351958585noreply@blogger.comtag:blogger.com,1999:blog-7214097671310478681.post-46451325628620105572013-04-24T08:44:00.114-07:002013-04-24T08:44:00.114-07:00Sorry, forgot to paste the code:
#include
c...Sorry, forgot to paste the code:<br /><br />#include <br /> <br /> const int motor1APin = 11; // H-bridge leg 1 <br /> const int motor2APin = 6; // H-bridge leg 2 <br /> const int motor3APin = 10; // H-bridge leg 1 <br /> const int motor4APin = 5; // H-bridge leg 2 <br /> const int enablePin = 12; // H-bridge enable pin<br /> <br /> const int Trig = 3; //Ultrasonic<br /> const int Echo = 2;<br /> <br /> Servo myservo;<br /><br /><br /><br /> void setup()<br /> {<br /> // set all the other pins you're using as outputs:<br /> pinMode( enablePin, OUTPUT);<br /> pinMode( motor1APin, OUTPUT);<br /> pinMode( motor2APin, OUTPUT);<br /> pinMode( motor3APin, OUTPUT);<br /> pinMode( motor4APin, OUTPUT);<br /> pinMode(Trig, OUTPUT);<br /> pinMode(Echo, INPUT);<br /> <br /> // set enablePin high so that motor can turn on:<br /> digitalWrite(enablePin, HIGH);<br /> <br /> myservo.attach(8);<br /> <br /> }<br /> <br /> unsigned int time_us=0;<br /> unsigned int distance_sm=0;<br /> unsigned int circle=0;<br /> unsigned int dist_f=0;<br /> unsigned int dist_l=0;<br /> unsigned int dist_r=0;<br /> unsigned int dist_45=0;<br /> unsigned int dist_135=0;<br /> unsigned int t=15;<br /><br /> void loop() <br /> {<br /> if (circle==0)<br /> {<br /> myservo.write(0); //initial parameters<br /> dist_r=sonar();<br /> motion('w',0,45,t);<br /> dist_45=sonar();<br /> motion('w',45,90,t);<br /> dist_f=sonar();<br /> motion('w',90,135,t);<br /> dist_135=sonar();<br /> motion('w',135,180,t);<br /> dist_l=sonar();<br /> }<br /> circle++; <br /> <br /> if(dist_f>=25)<br /> {<br /> a:<br /> motion('f',180,135,t);<br /> dist_135=sonar();<br /> front_motion(t);<br /> motion('f',135,90,t); <br /> dist_f=sonar();<br /> front_motion(t);<br /> motion('f',90,45,t);<br /> dist_45=sonar();<br /> front_motion(t);<br /> motion('f',45,0,t);<br /> dist_r=sonar();<br /> front_motion(t);<br /> motion('f',0,45,t);<br /> dist_45=sonar();<br /> front_motion(t);<br /> motion('f',45,90,t);<br /> dist_f=sonar();<br /> front_motion(t);<br /> motion('f',90,135,t);<br /> dist_135=sonar();<br /> front_motion(t);<br /> motion('f',135,180,t);<br /> dist_l=sonar();<br /> front_motion(t);<br /> if (dist_f>=25)<br /> goto a;<br /> }<br /> <br /> else<br /> {<br /> if(dist_f<5)<br /> {<br /> motion_back(t);<br /> dist_f=sonar();<br /> } <br /><br /> if(dist_l>=dist_r || dist_135>dist_r)<br /> {<br /> motion('l',180,90,t);<br /> dist_f=sonar();<br /> }<br /> if(dist_l=prev_angle)<br /> a=15;<br /> else<br /> a=-15; <br /> <br /> if (dimention=='f')<br /> { <br /> int i=prev_angle;<br /> while( i!=next_angle)<br /> { <br /> i+=a;<br /> myservo.write(i);<br /> forward();<br /> delay(time);<br /> }<br /> }<br /> if (dimention=='l')<br /> { <br /> int i=prev_angle;<br /> while( i!=next_angle)<br /> { <br /> i+=a;<br /> myservo.write(i);<br /> left();<br /> delay(time);<br /> }<br /> }<br /> if (dimention=='r')<br /> { <br /> int i=prev_angle;<br /> while( i!=next_angle )<br /> { <br /> i+=a;<br /> myservo.write(i);<br /> right();<br /> delay(time);<br /> }<br /> }<br /> if (dimention=='b')<br /> { <br /> int i=prev_angle;<br /> while( i!=next_angle )<br /> { <br /> i+=a;<br /> myservo.write(i);<br /> back();<br /> delay(time);<br /> }<br /> }<br /> if (dimention=='w')<br /> {<br /> int i=prev_angle; <br /> while( i!=next_angle )<br /> { <br /> i+=a;<br /> myservo.write(i);<br /> wait();<br /> delay(time);<br /> }<br /> }<br /> <br /> }<br /> <br />void front_motion( int time )<br />{<br /> if(dist_45<=9)<br /> {<br /> left();<br /> delay(3*time);<br /> }<br /> if(dist_135<=9)<br /> {<br /> right();<br /> delay(3*time);<br /> } <br />}<br /><br />void motion_back( int time )<br />{<br /> motion('b',180,90,2*time);<br /> /*if(dist_l>=dist_r)<br /> {<br /> do<br /> {<br /> left();<br /> delay(time);<br /> dist_f=sonar();<br /> }while(dist_f<=20);<br /> } <br /> <br /> if(dist_l<dist_r)<br /> {<br /> do<br /> {<br /> right();<br /> delay(time);<br /> dist_f=sonar();<br /> }while(dist_f<=20); <br /> } */ <br /> }Anonymoushttps://www.blogger.com/profile/00494091811351958585noreply@blogger.comtag:blogger.com,1999:blog-7214097671310478681.post-79921501180473475502013-04-24T08:43:26.003-07:002013-04-24T08:43:26.003-07:00Below is the code that I am trying to integrate. ...Below is the code that I am trying to integrate. I have already corrected all of the movement commands to match the RCArduinoFastLib commands, but the angles are used heavily. It seems that I should be able to create one function to make the conversion for that one servo.<br /><br />-Derek, floundering.Anonymoushttps://www.blogger.com/profile/00494091811351958585noreply@blogger.comtag:blogger.com,1999:blog-7214097671310478681.post-82115473088982068292013-04-24T08:33:10.539-07:002013-04-24T08:33:10.539-07:00This is actually our first class doing any robotic...This is actually our first class doing any robotics and our first build with Arduino or any other platform, so I am doing the programming and then walking them through it and how it functions. And I'm just teaching myself how to program an Arduino as well. I'll take a stab at it and see what I can come up with, but I do get what your talking about with the map function. Thanks for the help so far.<br /><br />-DerekAnonymoushttps://www.blogger.com/profile/00494091811351958585noreply@blogger.comtag:blogger.com,1999:blog-7214097671310478681.post-24771877950108742892013-04-24T06:34:57.772-07:002013-04-24T06:34:57.772-07:00Hi,
I can see that you are using both the RCArdu...Hi,<br /> I can see that you are using both the RCArduinoFastLib and the Servo library in the same sketch. <br /><br />You will not be able to do this, the RCArduinoFastLib is a replacement for the servo library and uses some of the same resources.<br /><br />I assume you are doing this because you want to use Servo.write to send angles to the servo instead of microseconds ?<br /><br />Internally servos do not think in angles but pulse widths - effectively microseconds. If you look at the standard servo library you will see that the write function converts the angle to micro seconds and then calls servo.writeMicroseconds<br /><br />An interesting exercise for your students would be to have a look at the map function, this function takes a value in one range, for example degrees and converts it to another range i.e. microseconds.<br /><br />How about getting your students to add a write function which takes and angle to the RCArduinoFastLib, internally it should call map (from angles to microseconds) and then call writeMicroseconds with the new value.<br /><br />If they do a good job and you send me the code, I will add it to the original library with a comment giving them credit and a little bit of fame.<br /><br />If you need some help with this let me know<br /><br />Duane BCan_I_Trade?https://www.blogger.com/profile/07867684474123805993noreply@blogger.comtag:blogger.com,1999:blog-7214097671310478681.post-51511378014274109622013-04-24T06:28:51.885-07:002013-04-24T06:28:51.885-07:00Moved by Duane B - Original question by Derek Bode...Moved by Duane B - Original question by Derek Bode<br /><br />Duane,<br /><br />I have this code working well for operating a robot that my students have built. Thank you very much for this entry by the way. But the issue we are having now is that we would like to have a sweeping ultrasonic sensor on the front to avoid obstacles. I have the coding seeming all well and good to make that work, but the problem is that I am getting an error that I have posted below in trying to include the standard Servo.h library. Do you know how I would get one servo working on the standard angle system and the others working on you writemicrosecond commands? Any help would be greatly appreciated to help us get our project rolling again before school is out for the year.<br /><br />Thanks,<br />Derek<br /><br />Error:<br /><br />Servo/Servo.cpp.o: In function `__vector_11':<br />/Users/wcsstaff/Documents/WHS/Course Files/Principles of Tech II/Arduino Info/Arduino Programming/Arduino.app/Contents/Resources/Java/libraries/Servo/Servo.cpp:103: multiple definition of `__vector_11'<br />RCArduinoFastLib/RCArduinoFastLib.cpp.o:/Users/wcsstaff/Documents/Arduino 1.0/libraries/RCArduinoFastLib/RCArduinoFastLib.cpp:51: first defined hereCan_I_Trade?https://www.blogger.com/profile/07867684474123805993noreply@blogger.comtag:blogger.com,1999:blog-7214097671310478681.post-50500016836927114142013-04-06T09:36:43.742-07:002013-04-06T09:36:43.742-07:00Hi,
Change this line in the header file
#define...Hi,<br /> Change this line in the header file<br /><br />#define RC_CHANNEL_OUT_COUNT 3 // 2 servos + 1 frame space<br /><br />to<br /><br />#define RC_CHANNEL_OUT_COUNT 2 // 2 servos with no frame space<br /><br />and you should get a variable frequency of between 500Hz and 250Hz. <br /><br />The frequency is a direct result of the channel pulse width, so to channels sending 1ms will give 2*1ms = 2ms, 1/2ms = 500Hz. At the other extreme, 2*2ms = 4ms, 1/4ms = 250Hz. In practice your frequency will vary between the highest and lowest (500hz - 250Hz)<br /><br />The ESC Software you are using will be happy with this and it is five to ten times more responsive than the standard Arduino servo library.<br /><br />Duane BCan_I_Trade?https://www.blogger.com/profile/07867684474123805993noreply@blogger.comtag:blogger.com,1999:blog-7214097671310478681.post-13448594506153197642013-04-06T08:28:45.973-07:002013-04-06T08:28:45.973-07:00Thanks Duane, that worked perfectly fine!
What ist...Thanks Duane, that worked perfectly fine!<br />What ist the current update rate with this code?<br /><br />Regards,<br />tobawotobawohttps://www.blogger.com/profile/00721160703838200192noreply@blogger.comtag:blogger.com,1999:blog-7214097671310478681.post-2618700487709599772013-04-06T04:38:39.649-07:002013-04-06T04:38:39.649-07:00Try this, I have no equipment to test the output o...Try this, I have no equipment to test the output on so be very careful and be ready to disconnect quickly if the unexpected happens - <br /><br />#include "RCArduinoFastLib.h"<br /><br />// Generating a high frequency ESC Signal using the RCArduinoFastLib<br />//<br />// The sketch assumes -<br />// The ESC Software uses the normal pulse width range of 1000 to 2000 microseconds <br />// The ESC Software supports a variable frequency provided that there is a space of greater than 5 microseconds between pulses<br />// The test sketch requires a 10K potentiometer attached to A0 to set the output speed.<br /><br />// These are your output pins, connect servos and ESCs to these<br />#define FRONTLEFT_OUT_PIN 8<br />#define FRONTRIGHT_OUT_PIN 9<br />#define REARRIGHT_OUT_PIN 10<br />#define REARLEFT_OUT_PIN 11<br /><br />// Assign servo indexes - don't change this<br />#define FRONTLEFT_CHANNEL 0<br />#define FRONTRIGHT_CHANNEL 1<br />#define REARLEFT_CHANNEL 2<br />#define REARRIGHT_CHANNEL 3<br /><br />void setup()<br />{<br /> Serial.begin(115200);<br /> <br /> CRCArduinoFastServos::attach(FRONTLEFT_CHANNEL,FRONTLEFT_OUT_PIN);<br /> CRCArduinoFastServos::attach(FRONTRIGHT_CHANNEL,FRONTRIGHT_OUT_PIN);<br /> CRCArduinoFastServos::attach(REARRIGHT_CHANNEL,REARRIGHT_OUT_PIN);<br /> CRCArduinoFastServos::attach(REARLEFT_CHANNEL,REARLEFT_OUT_PIN);<br /> <br /> // start the servos<br /> CRCArduinoFastServos::begin();<br />}<br /><br />void loop()<br />{<br /> // read an analog input (0) and map the speed to the value from the analog input<br /> uint16_t unSpeed = map(analogRead(0),0,1024,1000,2000);<br /> <br /> CRCArduinoFastServos::writeMicroseconds(FRONTLEFT_CHANNEL,unSpeed);<br /> CRCArduinoFastServos::writeMicroseconds(FRONTRIGHT_CHANNEL,unSpeed);<br /> CRCArduinoFastServos::writeMicroseconds(REARRIGHT_CHANNEL,unSpeed);<br /> CRCArduinoFastServos::writeMicroseconds(REARLEFT_CHANNEL,unSpeed);<br />}<br /><br />Let me know what happens <br /><br />Duane BCan_I_Trade?https://www.blogger.com/profile/07867684474123805993noreply@blogger.comtag:blogger.com,1999:blog-7214097671310478681.post-44317870140221353812013-03-26T22:24:49.980-07:002013-03-26T22:24:49.980-07:00Hi,
Based on the library documentation which sta...Hi,<br /> Based on the library documentation which states 'any pwm frequency provided the low time is > 5us' it should be possible to run the library without a frame space for a much higher frequency. I will have a look for something to use as a test sketch for this approach and send it to you to try.<br /><br />Duane B<br /> <br /> Can_I_Trade?https://www.blogger.com/profile/07867684474123805993noreply@blogger.comtag:blogger.com,1999:blog-7214097671310478681.post-10323685022384718562013-03-26T18:11:00.693-07:002013-03-26T18:11:00.693-07:00Hi Duane!
Sorry for the late answer, I was bussy.....Hi Duane!<br />Sorry for the late answer, I was bussy...<br />I've made the changes in the .h file that you posted.<br />Till now I have no test sketch based on the rcarduinofastlib, just a sketch using the standard servo lib.<br /><br />Thanks!<br />tobawotobawohttps://www.blogger.com/profile/00721160703838200192noreply@blogger.comtag:blogger.com,1999:blog-7214097671310478681.post-45748241702298236342013-03-21T07:09:52.172-07:002013-03-21T07:09:52.172-07:00The configuration we want is mostly in the rcardui...The configuration we want is mostly in the rcarduinofastlib.h file.<br /><br />The library is able to run two banks of ten servos for a total of 20 servos. Although you only want 4, you want them to refresh quickly. To do this we split the servos into two banks of two servos.<br /><br />1) Uncomment this line to enable the second bank of servos<br /><br />Change this -<br />// COMMENT OR UNCOMMENT THIS LINE TO ENABLE THE SECOND BANK OF SERVOS<br />//#define MORE_SERVOS_PLEASE 1<br /><br />to this - <br /><br />// COMMENT OR UNCOMMENT THIS LINE TO ENABLE THE SECOND BANK OF SERVOS<br />#define MORE_SERVOS_PLEASE 1<br /><br />2) Next we want two servos in each bank and one more servo in each bank which we are going to use to set the frame space<br /><br />change this -<br /><br />#define RC_CHANNEL_OUT_COUNT 4<br /><br />to this -<br /><br />#define RC_CHANNEL_OUT_COUNT 3 // 2 servos + 1 frame space<br /><br />Thats it for the .h file<br /><br />There are a few changes to make to the sketch, but if you have an existing test sketch we might as well make the changes in that, do you have one ?<br /><br />Duane BCan_I_Trade?https://www.blogger.com/profile/07867684474123805993noreply@blogger.com