C++ :: Arduino Robot - Virtual Controller And Path Map

Jul 14, 2014

I know how to create your basic programm that compiles as a CLI or exports and/or saves data to a .txt file... But how does one build a GUI?

I ask because I am currently working on a programm for my Arduino controlled robot, in which I want to have a virtual on screen controller next to a map of my bots path.

View 4 Replies


ADVERTISEMENT

C/C++ :: Path Finding For Weighted Cyclic Directed Graph For Robot

Mar 14, 2015

I've been trying to make a program to return node values for the shortest path from one node to another. I've searched up several algorithms like the Bellman Ford, A*, or Dijkstra and tried to think of ways to implement them if I store my map as a matrix. I've considered using a hash table, but since I am only a beginner, I am having trouble trying to understand how the concepts would translate into C.

View 1 Replies View Related

C :: Self Balancing Robot / PID Terms?

Oct 23, 2013

Im trying to tune my PID loop to make my robot balance but i dont know if im using the right terms for my robot? Im implementing a contemporary filter for my Gyro(98%) and Acc(2%).Is the following right?

output=(Kp*error)+(Ki*(error*dt))+(Kd*((error-prev_error)/dt))
error=robot angle --Balance point at 0deg
prev_error=--Previous error
dt=0.01 --10ms delay

View 2 Replies View Related

C :: Reading Pseudo Code For Car Robot?

Sep 12, 2014

I'm doing a practice problem where I need to read pseudo code and understand what it does.

For this code, I believe it will move the robot forward while i<650, so it moves it forward for 650 steps in total. Then it sets the motors to 0 when it's finished.

Code:
while(i<650)
{ rotateCW(2);
rotateCCW(1);
Delay1KTCYx(50);
i++;
LATD=0x00; //Set all Port D to 0
}

This code I'm having the most trouble with. So while(1) the pot(potentiometer) read's the ADC. Then it scales the adc, not 100% sure what the +20 and *.22 mean, I think it has to do with binary conversions?

Now it sets pin 1 of port 1 to 0, delays based on pot above, and sets it back to 1, and delays again. I assume something to do with controlling motor speed based on the potentiometer.

Code:
void main(void){TRISD = 0x00; // Setting port D to outputs
LATDbits.LATD0 = 1; // Setting bit 0 of port D to 1
while(1) {
pot = readADC();
pot = pot * 0.2297 + 20;

[Code] ......

My best guess is: The car moves forward 400 steps, stop, turn right for 230 steps, stop. At this point it would begin moving straight, and it would turn left/right as needed to keep the robot in the center of the track.

Code:
void main(void) {
for(i=0;i<400;i++) {
rotateCW(2,motor); //Rotate motor two (one step)
rotateCCW(1,motor); //Rotate motor one (one step)
Delay1KTCYx(50);

[Code].....

View 5 Replies View Related

C :: Making Self Balancing Robot - Using PID Loops

Oct 20, 2013

As the title says im trying to make a self balancing robot.

I am using an accelerometer and a gyro as sensors.

I am just really confused when it comes to programming in a PID loop to actually use feedback from the sensors to control the motors.

I sort of understand what needs to be done concering PID loops, just i dont know how to do it.

View 9 Replies View Related

C/C++ :: Array Incrementation Of 3PI Robot Program?

Sep 25, 2014

I am attempting to write a simple program and compile it onto a 3pi robot. My problem lies with my array, i need the array to increment by one every time through and whenever i run the code the print out reads "ROOM 0" every time.

#include <pololu/3pi.h> /* allow use of 3pi robot functions */
#include <avr/pgmspace.h> /* allow use of program space */
#include <stdio.h> /* for printf() */
#define NUM_ROOMS 11 /* the number of study rooms */
/* function prototype for battery check */
void bat_check( void );

[code].....

View 4 Replies View Related

C/C++ :: How To Pass String From VB6 Into Arduino

Mar 6, 2015

how to pass a string from vb6 into the gsm module ... i am posting vb6 code ... below code passes

check1.caption=11BNELE0455 to MSCOMM2.output...

Static col As Integer

col = 3
lbl: If excelws.Cells(10, col).Value = "" Then
excelws.Cells(9, col).Value = Format(Now, "dd/mm/yyyy")
If (check1.Value = 1) And (Timer1.Enabled = True) Then
excelws.Cells(10, 1).Value = check1.Caption

[Code]...

now i want to access this string a=0455 from c-code of arduino..how can i access this.. below is c-code for arduino uno.what is wrong with it.it is giving me error:invalid conversion from 'int' to 'const char*'.

//decalaration part of my code

#include <SoftwareSerial.h>
char inchar[80][5]; // Will hold the incoming character from the GSMshield
SoftwareSerial SIM900(7, 8);
String textForSMS;

[Code]...

View 1 Replies View Related

C :: Wireless Surveillance System Using Arduino And Zigbee?

Feb 11, 2014

I am trying to implement same thing as given in following images:

i m working on "Wireless surveillance system using zigbee".

But i want to add external PIR motion sensor and wireless zigbee module with Arduino.

The images are stored in SD card. but my goal is when the PIR detects any motion the image should be stored in memory card (Done in attached code)and then that image should be transferred through zigbee (Zigbee Tx is connected with Rx Pin0 and zigbee Rx is connected with Tx Pin1). PIR sensor output is connected with Pin7 of arduino.

So what are the additions/modifications do i require for transmitting image on Pin1 in following code.

I am using this code

Code:
// This is a motion-detect camera sketch using the Adafruit VC0706 library.
// On start, the Arduino will find the camera and SD card and turn
// on motion detection. If motion is detected, the camera will
// snap a photo, saving it to the SD card.
#include <Adafruit_VC0706.h>
#include <SD.h>

[code]....

View 8 Replies View Related

C :: Reading Button Input On Arduino Board

Mar 7, 2013

Okay so this is part of a small uni module around the arduino board. The task is to simulate traffic lights at a junction. At the moment my code below runs through the sequence with 2 seperate lights. When one set of lights turns RED , the other turns GREEN.In my main loop method I need to add a button for a crossing. I want to be able to check if the button is pressed at each of the delays but do not want to have to hold it down.I have thought about putting it at the top of the loop but then the program will only check if button is pressed in that point therefore the user will have to hold it down?

Code:

int green1 = 13 ;
int amber1 = 12 ;
int red1 = 11 ;

int green2 = 6 ;
int amber2 = 7 ;
int red2 = 8 ;
}

[code]....

View 5 Replies View Related

C :: Arduino Programming - Control Motion Of Servo Motor

Jul 16, 2013

I am working on a project that requires using an arduino microcontroller to control the motion of a servo motor. The arduino language is pretty much C.

The original code is of the form:

Code:
#include <Servo.h>

Servo myservo; // create servo object to control a servo
// a maximum of eight servo objects can be created

int pos = 0; // variable to store the servo position

[Code] .....

But the problem is I don't want the motor's motion to behave linearly (constant increments of the pos variable). My desired motion is a sinusoidal like function. How to approach this?

I am quite new to programming, especially with microcontrollers. My guess is that instead of the pos+=1, I would need something like pos+=sin(argument). I am not sure what that argument should be.

View 4 Replies View Related

C/C++ :: Comparing Time-based-responses From Two IR Sensors (Arduino)

Apr 9, 2015

I am building a project with an Arduino Uno that involves using analogue IR sensors to detect fast motion. By placing one sensor on top of the other, I want to be able to attain a variable integer from the difference in time between the responses of the sensors.

Here is my code I have so far, it is essentially for detecting motion for 1 sensor and then converting it into a MIDI note depending on how far away the motion is detected. There is also a part which compares the value from the previous time so that only above a certain amount of movement will trigger the note. I also have a variable delay to be controlled by a potentiometer.

Here is the datasheet for the sensors I'm using.

#include <MIDI.h>
MIDI_CREATE_DEFAULT_INSTANCE();

int currentvalA = 0; //current sensor A value
int previousvalA = 0; //previous sensor A value
int valA = 0; // value to store sensor
const int valchangeA = 40; //motion change value
int del = 0; //variable delay value

[Code] .....

View 2 Replies View Related

C :: For Loop Controller Using Pointers?

Jan 3, 2015

I'm familiar with the concept of int in the for loop. However, I've seen a case where the condition for the for loop is a pointer. How is the pointer used or interpreted in the for loop condition in C or C++.

As an example:

Code:
void printer(char *fmt, ...) {
va_list args;
char *p, *sval;
int ival;
double dval;
va_start(args, fmt);
for(p = fmt; *p; p++) {
if(*p != '%') {
putchar(*p);
continue;

[Code]....

View 3 Replies View Related

C# :: Changing IP Address On Controller LED

Jul 2, 2014

I have a C-Power5200 driver. I want using the C# language change to the controller's IP address.

Here a link to the website and API.C-POWER 5200

In Annex API controller.

View 7 Replies View Related

C# :: Download Data From Memory Controller

Jul 11, 2014

Using the C # programming language LED controller through which controls the array is connected to the controller via the RJ45 port. I already know the basics, I mean specifics, ie

Using the instructions and DLL included with the hardware, I want to read data from it, but I can not deal with it.

Model controller is "C-Power5200" and dll is "CP5200.dll".

I would like to:-pick the data-display-edit and - save in the controller.

To read the data I am using the function

CP5200_Net_Read (BYTE * pBuf, int nSize);

and to save

CP5200_Net_Write (const BYTE * pBuf, int nLength);

View 2 Replies View Related

C :: Detect XBOX 360 Controller In A Port But Getting Error

Dec 29, 2013

I am trying to have a program that I am writing detect a controller and then say whether there is or is not one connected. But I am getting a lot of errors(25 actually) . Here is my code:

Code:
#include <stdio.h>
#include <Xinput.h>
#include <stdbool.h>
#include <Windows.h>
void main()

[Code] ....

puts("Error no controller was found on any port");
return 0;
}

View 3 Replies View Related

C++ :: Embedded Micro Controller - Pointer To Class Member

Sep 19, 2014

This project is for an embedded micro controller. In the project i wrote a class that generically services uarts. then i declare 6 objects of that class and hand them configurations for each specific uart.

internally all the objects have a send buffer of data that is still to be sent that gets populated by the object member function.

how can i make an array of function pointers that can point to the same member but of six different objects.

for example (not a working one)

class uart {
private:
struct myData {
unsigned char data[20]
int head
int tail
int count;

[Code] ....

View 9 Replies View Related

Visual C++ :: Character Controller - Getting Error When Adding Pointer

Sep 29, 2012

I was trying to write a character controller but when I went to add my pointer to my character I get error

C2143: syntax error : missing ';' before '*'

I've looked at all my classes involved but I don't see any errors and Visual Studio doesn't report any other specific errors. Is there any way of finding the source of this type of error?

View 4 Replies View Related

C/C++ :: Use Virtual Function In Class In Which Virtual Function Is Defined?

Dec 27, 2012

class Parent{
  public:
virtual int width();
    virtual int height();
    int area(){return width()*height();};

[Code] ....

View 10 Replies View Related

C# :: How To Manually Control The Temperature Of High Power Leds Using PID Controller

Mar 20, 2015

how to manually control the temperature of High Power Leds using PID controller. I have two GUIs,one reads the temperature from the Led while the second is used to ON/OFF the Leds and at the same time controls the Led brightness using slider control.The GUI that reads the temperature has a PID controller application on it.The output from this controller is what i want to use to increase or decrease the Led brightness which invariable changes the Led temperature.How to go about using this PID controller to control the Led brightness is what i have not been able to grasp well.The slider on the GUI is scaled from 0% to 100%.My thinking is that the output from the controller should be in percentage which will make me to adjust the slider accordingly.My question is that will this type of arrangment produce an output that will efficiently control the Led brightness. how to accomplish that. Attached to this post is a modified code of a tutorial on PID controller which i found on the net. a tutorial on how to develop a graph. i wish to display the Setpoint,Process value and the output value on a graph.

View 2 Replies View Related

Visual C++ :: Program To Map Keyboard And Mouse To Xbox 360 Controller With Win32 And Xinput?

Aug 10, 2013

I am writing a program to map keyboard and mouse to an xbox 360 controller with win32 and xinput. I have everything going fine but when im trying to control the mouse with the thumbsticks I get problems with the movement if my program has the focus it moves fine but when I put another window in focus the movement is over sensitive here is the code I am using

Code:
if(_controllerState.Gamepad.sThumbRX >= XINPUT_GAMEPAD_RIGHT_THUMB_DEADZONE) {
GetCursorPos(&mousepos);
profile->Buttons[6]->input.type = INPUT_MOUSE;

[Code] .....

I have tried everything to fix it.

View 1 Replies View Related

C/C++ :: Array Of Functions Pointing To In Class Functions With Arduino

May 3, 2013

At the moment im trying out with pointing to an array of functions. I got this working as following:

typedef void (* functionPtr) ();  
functionPtr functions[2][2]={{do11,do12}, {do21,do22}};    
void do11(){DEBUG_PRINTLN("11");}
void do12(){DEBUG_PRINTLN("12");}
void do21(){DEBUG_PRINTLN("21");}
void do22(){DEBUG_PRINTLN("22");}    
void loop(){
         A=0;
         B=1;
         functions[A][b]();
}  

But now I'm trying to use this to point to a function inside a class so instead of do11, i want to be able to point to Basic.Do11. Somehow this doesnt work and I keep on getting this message:

error: argument of type 'void (Basic::)()' does not match 'void (*)()'

View 2 Replies View Related

C++ ::  Virtual Methods With MI

Jan 6, 2014

I have questions about multiple inheritance and virtual methods. I have a class called solid. All objects of this class have hitboxes and can collide with others. I have the following methods:

void testCollision(something begin, something end);
/* This method takes a container's begin and end iterators to test if the object collides with any other object of the list of all the solids currently in the game area. Each time there is a collision, it calls collide(other) and other.collide(*this) */

virtual bool collide(solid& other);
/* This method always returns false and does nothing */

This class will be inherited by another class which will have overloads for a few specific collisions. For example:

class player : public solid{
public:
bool collide(projectile& other);
bool collide(enemy& other);
bool collide(wall& other);
};

My question is quite simple actually. If I have a loop which calls testCollision() with all elements in the list of all solids (a list of pointers to solids to be exact) and there is a collision between the player and a projectile, will testCollision call player::colide(projectile& other) or will it call solid::collide(solid& other). And in any case, did I understand how to use the virtual keyword? If I'm right, it should call the player::colide method if it's there for the specific type, else it will call the solid::colide which only returns 0, ignoring collision.

View 4 Replies View Related

C++ :: Use Of Virtual Keyword In Destructors

Jan 6, 2014

have a look at the following code :

class Base
{
public:
virtual ~Base()
{
cout << "Calling ~Base()" << endl;

[Code]...

Now this program produces the following result:

Calling ~Derived()
Calling ~Base()

i was reading online and got stuck here. i am unable to understand why 'calling ~Base()' is been printed here? when we reached delete pbase; in int main() it goes to Base class first and finds that its destructor is virtual so it goes to Derive class and finds another destructor and executes it but why does it prints ~Base() in any case?

View 4 Replies View Related

C++ :: Using Reference With Virtual Method

Mar 19, 2013

#include <iostream>
using namespace std;
struct A {
virtual void f() { cout<<"A
"; }
};

[code]...

I would expect that both examples 2 & 3 will give me the same result.I tried to figure it out but I could not. Both are references of a base class type, that get a derived object.

Q1 : why is the difference between them ?

As I see it, its kind of a mix between pointer - which in case of virtual method that was override in derived class - would give me the derived method (e.g. "B") and between regular object - which in case of virtual method that was override - would give me the specific method (Still "B"). So, example 2 "use" it as a regular object and example 3, "use" it as pointer.

Q2 : How should I refer to it ? I am using VS2008.

View 12 Replies View Related

C++ :: Virtual Keyword In Inheritance?

Feb 19, 2014

How to put virtual keyword in the function of the base class. Will the function still be over-written properly? What will happen if I

(1) call function from base class pointer
(2) call function from derived class pointer
(3) call function from derived class object

If the virtual keyword is present, the over-written version will be called in all cases, am I mistaken?

View 1 Replies View Related

C++ :: Alternative Of Virtual Function?

Sep 25, 2013

have a look-

class Base
{
private:
{

[Code].....

my question is why we can't directly call the member function of the desired class instead of using virtual function.

***********same program using virtual keyword*******************

class Base
{
private:
{

[Code].....

Why we generally prefer the 2nd one i.e with virtual keyword. why we can't directly call the member function of the desired class instead of using virtual function...make me understand this point..

View 5 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved