Show Posts
Pages: [1] 2 3 ... 91
1  Community / Website and Forum / Re: Newbie greetings on: Today at 06:38:59 am
Hi and welcome.

You introducing yourself should be put in another section, but asking for a newbie section is at the right place here.

Your first question can be answered as follows: "because she's female".
That does give you that part of information: multiple button pushes on your evil device: a female is controlling it.
With that information you can tweak the interface accordingly.

2  Using Arduino / Displays / Re: Crius OLED display on: Today at 06:22:12 am
Did you do the complete initialisation as recommended ?
3  International / Nederlands / Re: Arduino seriele poort on: April 17, 2014, 06:26:23 pm
Hoi en welkom.

Als je een shield gaat gebruiken (nog meer als je meerdere shields tegelijkertijd gaat gebruiken), moet je altijd even controleren of je geen conflicten kunt krijgen.
Op deze site (klik!) staat beschreven welke pins er allemaal in gebruik zijn.
Dat kan een beetje misleidend zijn, want er zijn verschillende manieren om pins aan te wijzen.
De shield heeft pin nummers 2 en 3 in gebruik.
En pins 2 en 3 zijn digital 0 en 1, maar daarmee ook serieel ontvangen en zenden (in die volgorde).
En daar zit 'm dus de kneep.
De shield blokkeert schijnbaar het dataverkeer, omdat die dezelfde pins gebruikt (voor eindschakelaars op de X as zo te zien).

Dit alles komt er op neer dat je om je Arduino te programmeren (via USB of direct serieel), je de shield moet verwijderen.
Programmeren via de ICSP is schijnbaar wel mogelijk, want pins 20, 21 en 22 lijken volgens die site niet in gebruik te zijn.
Maar dan heb je daar weer een programmer (dat kan ook een andere Arduino zijn) nodig.
4  International / Nederlands / Re: hoe maak ik een schakeling die kan wisselen tussen grond en open? on: April 16, 2014, 04:42:07 pm
Zo'n motor haaft waarschijnlijk een eigen aantuurprint.
Dus daar zit al het een en ander op.

Neem een schakelaar met een pull up weerstand, en hoe dat werkt in je gedachten.
Als je de schakelaar opent, dan zorgt die pull up er voor dat de schakeling weet dat de schakelaar open is.
Als je dan de verbinding aan GND legt door de schakelaar te sluiten, dan wint die GND het van de weerstand, en word het lege nivo herkend.
Nu zit er dus op je print al iets (soortgelijks) als die weerstand.
Wanneer je daar een andere spanning op aansluit dan GND, neem je het risico dat je een deel van de aanwezige elektronica beschadigt, bijvoorbeeld omdat er een te hoge spanning op komt, of omdat er een te hoge stroom kan gaan lopen.
5  Using Arduino / Motors, Mechanics, and Power / Re: Need more current on: April 15, 2014, 03:20:25 pm
Hoi Willem, en welkom.

I don't agree with ksty, when he tells you that power shield is better.
The power shield is a power supply, not a motor control board.
You can control it with your Arduino, but only to switch it on or off.
You can also read the output voltage, but you can't control that voltage by your Arduino.
Also, you can't control polarity.

You can do all of the mentioned things with a motor shield, except direct reading an output voltage from the shield (you'd need to add something yourself for that).
Then again, you'll learn soon that voltage isn't that interesting (but current is).

It is very unlikely you can stack motor shields (their cooling profiles will not allow that).
And the boards ksty linked to aren't shields, and therefore aren't built to be stacked anyway.
You could use two of them, though.
Just need to have enough pins available.

Veel succes verder.
6  International / Nederlands / Re: RPM propeller meten on: April 15, 2014, 12:17:48 pm
Quote from: Jantje
Quote from: nicoverduin
Zet de code maar hier hoor (wel tussen de code tags graag). Zal wel ergens een  int vs float issue zijn.
Denk ik ook.
Code:
if (millis() - lastmillis == 1000){
het is nooit een goed idee om "gelijk aan" te gebruiken voor tijden. beter is "grote en gelijk aan"

jantje

Dus kijk hier es naar:
Code:
rpm = half_revolutions * 60; // Convert frecuency to RPM, note: this works for one interruption per full rotation. For two interrups per full rotation use half_revolutions * 30.

Je vermenigvuldigt met zestig (een int.) in plaats van met zestig punt nul (een float).
Geen idee of dat 'm is maar lijkt me het testen waard,
Die tutorial komt zeker van die "instructables" site ?
Enige wat ik daar vandaan zie komen is bakken met ellende en een en al fouten.
Zeer grote afrader, die site die de n00b wel es ff zal laten zien hoe het moet, maar waar het dus stikt van de fouten.
En waar die n00b dus buiten zijn schuld gelijk vastloopt met z'n eerste projectje, en geen idee heeft wat er dan mis gaat.
Vraag me af hoe veel er al weer afgehaakt zijn door al die fouten daar.
Maar goed, weer on topic nu.
7  Topics / Device Hacking / Re: Connecting manolins mini gps board on: April 14, 2014, 02:47:26 pm
If you see characters but can't make sense of those, two possibilities pop up.
First is wrong baudrate.
NMEA 0183 only supports 4800 and 38400 baud.
But some GPS modules are set to 9600 baud, so i guess some others may be at any baudrate possible.
Try some different baudrates to see what that does.
A recent thread over here was about someone who had set the baudrate to the value that was mentioned by the shop he got the module from.
Turned out the module was sending data at a different (standard to that moduel) rate.

Next thing is inverted data.
It is possible that your module sends its data inverted, so sending HIGH level where LOW level is expected and vice versa.
I've read somewhere that you can use such data by setting some bit so the Arduino knows inversed data is to be expected.
But i can't tell you anything more about that.
So i'd try the baudrates first, that's easy to test.
8  International / Nederlands / Re: Arduino knop en adafruit 815 on: April 14, 2014, 02:29:07 pm
Is dat met de sketch die je het laatst geplaatst hebt, of ben je inmiddels verder aan het experimenteren met aangepaste code ?

Je bent nu met twee servo's tegelijk bezig.
Een servo trekt best veel stroom.
Misschien gaat dat niet helemaal lekker.
Hoe voed je je servo's nu ?
En wat als je je voorlopig beperkt tot 1 servo ?

Voor wat betreft de knop:
Ik heb je laten zien dat je verschillende mogelijkheden hebt.
En zo gaat dat met dat programmeer gedoe.
Veel keuzes.
Daarom zou je het best een lijst maken met wat je wil en hoe je denkt dat te doen.
Daarna ga je elk deel van die lijst aanpakken door weer een lijstje te maken met hoe je denkt dat te gaan doen.
Als je dat vaak genoeg doet, word die lijst vanzelf de code waaraan je aan het werken bent.

Dus denk na over wat je wil met die ene knop van je.
Maak een keuze uit het lijstje wat ik eerder noemde, of bedenk zelf iets.
Als je je keuze gemaakt hebt, weet je waar je aan gaat werken, heb je een nieuw (deel) doel.
Als je dat uitgewerkt hebt kun je 'm in het geheel invoegen.

Zo werk je dus stapje voor stapje en houd je het voor jezelf overzichtelijk.
9  International / Nederlands / Re: Arduino knop en adafruit 815 on: April 13, 2014, 05:23:37 pm
Okee, je stuurt nu in ieder geval op de juiste wijze de servo's aan.
Wat er nu gebeurt, is dat je de servo's tijdens het opstarten (in setup) naar een bepaalde positie stuurt.
Vervolgens ga je, als je je knop hebt ingedrukt, de servo's naar een andere positie sturen.
Dat is precies wat je wil.
Als je de knop loslaat gebeurt er dan verder niets.
Ik vermoed dat dat ook is wat je wil (heb je in ider gaval al een tijdje zo in de code staan).

Maar als je de knop nog een keer indrukt, dan ga je de servo's nog een keer sturen naar de positie waarin ze al stonden.
En das een netto verschil van nul, dus ze gaan niet bewegen.
Als je heen en weer wil gaan sturen, zul je iets anders moeten gaan toevoegen.
Je moet dan namelijk weten of je heen wil, of of je weer wil.
Dat kun je doen door bij te houden hoe vaak je op die knop hebt gedrukt.
Als je dat weet, kun je ook bepalen waar de servo's heen moeten.

Je kunt op 2 manieren kijken hoe vaak je op de knop gedrukt hebt.
De eerste manier is kijken wat de oude waarde van de knop was, en dan de waarde veranderen naar de andere gewenste waarde.
Zo ga je dan bijvoorbeeld van waarde 0 naar waarde 1, en als ie al 1 was ga je naar 0.
Maar je kunt ook tellen.
Als je de oude waarde met 1 ophoogt, en dan kijkt of je over de maximale waarde bent gegaan, 'm terug zetten naar de laagste waarde.
Dus je telt bij nul een 1 op, dan kom je op 1.
De volgende keer tel je er weer een 1 bij op, kom je op 2 uit.
Maar dat wil je mogelijk niet dus als ie 2 geworden is, kun je 'm terug zetten naar 0.
De laatste is handiger als je meer dan 2 waardes hebt of in de toekomst wil maken.
Om je helemaal duizelig te maken:
Je kunt zelfs beide mogelijkheden combineren.
Dan tel je een aantal mogelijkheden op, en als je een bepaalde waarde hebt bereikt, dan ga je aftellen.
Heb je dan weer een bepaalde waarde bereikt, ga je weer optellen.
Zo kun je dus heen en weer tussen meerdere punten, en het aantal knop drukken bepaalt dan waar je uitkomt.

Gewoon stapje voor stapje je problemen oplossen, dan kom je vanzelf uit waar je wil zijn.
10  International / Nederlands / Re: Arduino knop en adafruit 815 on: April 13, 2014, 04:47:51 am
Okee.
Het gebruik van libraries is je dus nog een raadsel.
De library roep je aan.
Dat doe je in dit geval met de tekst pwm.
Daarna volgt een punt en het commando wat je wil zenden, gevolgd door waardes (tussen haakjes) die je nodig hebt voor dat commando.
Dat ziet er dan zo uit:
Code:
pwm.setPWM(0, 1600, 2000)
Dit is dus het punt waar je je servo aanstuurt, en in dit geval is dat servo 0, de eerste servo.
Je stuurt er een puls heen die een duty cycle heeft van ongeveer 25 %.
Het getal 1600 geeft aan dat je spanning een plusje word na ongeveer 25 % van de totale tijd.
En de 2000 dat dat op ongeveer de helft weer een nul word.
Het is een wat ingewikkelde manier om dit voor mekaar te krijgen.
Simpeler zou het zijn om gewoon te beginnen met op nul naar 5 volt te gaan, en dan op 1600 of welke waarde je ook hebt berekend weer nul volt te worden.
Dat is een vrijwel even lange plus, alleen komt die op een ander moment.
De servo zal echter dat moment niet bemerken.

Om te kunnen berekenen hoe lang zo'n puls moet zijn, moet je weten wat een servo verwacht.
Een standaard servo heeft een nulpunt in het midden, een minimaal punt dat op 90 graden naar links en een maximum dat op 90 graden rechts zit.
De pulsen volgen elkaar op in 20 milliseconden.
Wanneer je naar de midden positie wil sturen, dan duurt zo'n puls 1.5 milliseconde.
Naar links 1 ms, en naar rechts 2 ms.
Links en rechts zouden ook andersom kunnen zijn, dat moet je nog uitproberen.

Met deze gegevens kun je verder.
De 25 % die eerder gestuurd werden, maakt dat je naar een punt stuurt dat verder in een hoek is dan mogelijk.
Je kunt dus zelf al meteen zien of links en rechts omgedraaid zijn door mij hierboven door te kijken waar je servo's heen gaan.
Je moet dus uitrekenen hoe ver je wil dat je servo's sturen.
Of vaste waardes gebruken, scheelt je rekenwerk in je sketch.

De frequentie (hoe vaak de pulsen elkaar opvolgen) stuur je in setup al naar je library door dit te doen:
Code:
  pwm.begin();
 
  pwm.setPWMFreq(60);  // Analog servos run at ~60 Hz updates

En direct daarna stuur je dus je servo's aan.


Voor het Adafruit voorbeeld heeft iemand al voor je uitgerekend wat de minimale en maximale waardes zijn.
Dat scheelt weer een hoop.
Minimaal is 150 en maximaal is 600 op een schaal van 4096 (die laatste is vast).
600-150==450, en  450/2 == 225.
225+150 =375 is dan je middenpunt.
Als je met nul begint in plaats van ergens in het midden wat jij tot nog toe deed, kun je deze waardes dus direct gebruiken om je servo's van het midden naar de hoeken te sturen.

Om met je Arduino iets te kunnen bedienen, moet je wel weten hoe dat bedienen dan werkt.
Als je dat niet weet, weet je ook niet wat er fout gaat of kan gaan.
Daarom moet je altijd even bestuderen hoe iets nou eigenlijk werkt/
11  International / Nederlands / Re: Arduino knop en adafruit 815 on: April 12, 2014, 09:16:36 pm
Op welke positie wil je je servos dan hebben ?
12  International / Nederlands / Re: Arduino knop en adafruit 815 on: April 12, 2014, 02:29:13 pm
Ik ben verbaasd hierover.
Want volgens mij heb ik je toch wel verteld wat er moet gebeuren.
Daarom vraag ik je nog maar eens wat je eigenlijk wil dat er gebeurt.
En daarbij waarom je dacht dat wat je hierboven probeerde, de juiste oplossing is.
13  Topics / Robotics / Re: 3DOF Crane Made by Makeblock (Desktop Class) on: April 12, 2014, 11:06:41 am
Nice.
Most interesting part to me is the way you are controlling the 'travelling crab', the part that moves the hook/load horizontally.
14  Topics / Device Hacking / Re: How to make instant stop button in the keypad.h library on: April 12, 2014, 10:55:39 am
Hi.

Your code is blocking, and that is why you can't get things to work like you want to.
I can't tell you why your code is blocking, because you didn't post it (you're just flashing a part of your code as if you're teasing (doesn't work for me though)).

But because you are telling us that the part in an if statement takes a full minute, i'm sure there is a blocking code in there.
If you use non blocking code, the loop function will be run hundreds of times per second, if not thousands.
You can decide to keep doing what you are doing, or to do your "instant stop" during one of these runs.
That would in fact be a near instant stop, so in some cases you might feel the need to repair something after registering a stop was requested.
But that's for later, first the blocking needs to be addressed.

Blocking code contains delay() or while.. most of the times, there might be other ways to block and you need to learn how to avoid that.
You can start by practicing the "blink without delay" sketch, and start understanding how and why that works.
15  General Category / General Discussion / Re: Rotary Encoder on: April 12, 2014, 05:52:54 am
Hi.

Please do not send me PMs asking for off forum advice, i will not answer that.
This forum is for and by the members (also referred to as 'the community'), and the questions you're asking are valid and not illegal or something like that.
Others in this community can learn from your questions and their replies.


Quote
the encoder has 5 wires , I believe the Black and White are for voltage supply , but what is the other wire rules, I mean there is no bin configuration , actually I use Arduino Mega but if I use Parallel output encoder , Is that easier for me ?

The link shows a photograph of such encoder.

That photograph clearly shows the wires and their functions, it is printed on the encoder.
But pay attention, it is a plug that can be put in reverse on the unit, which may destroy it.
During this project, you should learn to meticulously find and use information given, and probably how to recognise it.

Black and white are not for voltage supply as you stated.
Red is 5 volts supply,
Black is GND (supply),
Blue is !CS (Chip Select, active LOW),
White is CLK, serial Clock, and
Brown is DO, serial Data Out.

Using a Mega means you'll have a lot more pins you can use.
You might get a little better performance by grabbing the bits yourself, but i'm not sure the data you'll get that way also has the error bits in them.
Because of the way larger number of wires to connect, an error in that is more likely to occur during that.
On the other hand, having all these wires and learning about their functions might be helpful in learning how this stuff works.

My personal choice would be to use this serial one though, because of the easier way to connect it to your Arduino.
Pages: [1] 2 3 ... 91