GithubHelp home page GithubHelp logo

mahowik / balancingwii Goto Github PK

View Code? Open in Web Editor NEW
262.0 262.0 144.0 2.11 MB

Self balancing robot (Segway) based on modified/extended MultiWii 2.3 firmware.

C++ 53.93% C 11.59% Java 17.36% Processing 17.12%

balancingwii's People

Contributors

mahowik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

balancingwii's Issues

Code won't compile

Hello sir,,
thanks for your sharing your work. when i trying to verify the files by clicking the checkmark in the IDE in the top left corner, and check to make sure there are no errors displayed in the console at the bottom of the IDE. i keep getting this error

`sketch\RX.cpp: In function 'computeRC()':
sketch\RX.cpp:435:26: warning: iteration 8 invokes undefined behavior [-Waggressive-loop-optimizations]
if (rcSerial[chan] >900) {rcData[chan] = rcSerial[chan];} // only relevant channels are overridden
~~~~~~~~~~~~~^

sketch\RX.cpp:412:25: note: within this loop
for (chan = 0; chan < RC_CHANS; chan++) {
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\main.cpp: In function 'main':
sketch\RX.cpp:435:26: warning: iteration 8 invokes undefined behavior [-Waggressive-loop-optimizations]
if (rcSerial[chan] >900) {rcData[chan] = rcSerial[chan];} // only relevant channels are overridden
^

sketch\RX.cpp:412:25: note: within this loop
for (chan = 0; chan < RC_CHANS; chan++) {
^

Sketch uses 14300 bytes (46%) of program storage space. Maximum is 30720 bytes.
Global variables use 1022 bytes (49%) of dynamic memory, leaving 1026 bytes for local variables. Maximum is 2048 bytes.
`
i tried an old version of IDE (1.6.12) but it still get the same error.
also i tried to ignore that message but i get (No data received) in EZ-GUI app.

main_func error

Hello , i hope you are doing well , upon pasting the project in IDE i get this error compilation error C:\Users\Huzaifa\AppData\Local\Temp\ccvNRV0F.ltrans0.ltrans.o: In function main': C:\Users\Huzaifa\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino/main.cpp:43: undefined reference to setup'
C:\Users\Huzaifa\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino/main.cpp:46: undefined reference to `loop'
collect2.exe: error: ld returned 1 exit status

exit status 1

Compilation error: exit status 1 ----->

Balancingwii.ino doesn't compile

Hello,
I'm trying to flash the balancingwii.ino file into my arduino but it doesn't compile. It doesn't contain any instruccions, all lines are comments.

I have followed the instructions provided in another issue but any other file is loaded when .ino is opened.

Could you please explain how should I proceed in order to flash it into the arduino?

Thanks in advance,
Nico

Do not understand what to do with pin A0

Hi mahowik,

I'm planning to build a BalancingWii robot with your code but I don't quite understand the wiring instructions...

What exactly do you mean by:
A0 - V_BATPIN: after the resistor divisor we should get [0V;5V]->[0;1023] on analogue V_BATPIN with R1=33k and R2=51k, i.e. (+12v)51k(A0 pin)33k(GND)

What am I supposed to do with A0, what does it get connected to?

Thanks in advance,
Niek

Bluetooth and custom Android App

Good afternoon. I am writing my Android application to work with your library. Could you name the sequence of commands in order to bring the robot to working condition (analysis of the source code didn’t help much (((). Here I turned on the robot. Then, as I understand it, in the loop function in BalancingWii.cpp, the program parses Serial every time the port, and depending on the received command, performs some action. Could you, if it is not difficult for you, write a sequence of commands. For example: 1st action (robot is lying) - calibration. After that, you need to send the robot (and it should start balancing in some mode) and set the operation mode (send "this command"). the team must be commanded, and the team sent back - "the team goes back", turn left - "the team turn left by a certain number of degrees, the team turn right -" the team turn right by some amount of degrees ". If the robot crashes - change the operating mode to raise the robot - "command to change the operating mode of the robot to independently raise". and hereinafter referred to as the “raising team”. And then a sequence of commands to return to the normal operation of the robot. I really hope for your support.

No data received

Hello,
I have changed all the necessary information provided in the guid and do the circuit connection properly. But when I run the robot I get “ NO DATA RECEIVED “ warning in the app and there is no enough information in the aux. can you help please ?

Move only front and back

Hello, good joob
Can you say something more about calibration? I'm done this robot and its work good but does not drive left and right only front and back.

Purpose of subperiods

Can't understand how "calculateSubperiods" function operates. Can, someone, explain the details of the purpose of:

subperiodPadding = ((1000 % absSpeed)*8)/absSpeed;
if (subperiodPadding > 0) {
  subPeriod[motor][1]++;
}  
if (subperiodPadding > 1) {
  subPeriod[motor][5]++;
}  
if (subperiodPadding > 2) {
  subPeriod[motor][3]++;
}  
if (subperiodPadding > 3) {
  subPeriod[motor][7]++;
}  
if (subperiodPadding > 4) {
  subPeriod[motor][0]++;
}  
if (subperiodPadding > 5) {
  subPeriod[motor][4]++;
}  
if (subperiodPadding > 6) {
  subPeriod[motor][2]++;
}  

Pin change ?

I want to use arduino uno cnc shield to build the robot. How do I change the default pins? Thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.