Instappen in de wereld van Robotica

Op 2 november 2020 19:31:40 schreef Lambiek:
[...]
Je kunt zoiets ook via IR doen, Sharp heeft daar mooie sensoren voor.

[...]
Dan heb je wel kans dat de ene sensor de andere kan beïnvloeden.

[...]
Dat is puur persoonlijk. De een houd van de moeder en de ander houd van de dochter. :)

:)
Ik heb diverse ultrasoon en diverse infrarood sensoren besteld, dus ik ga zeker met meerdere systemen experimenteren! Dat is ook één van dingen die ik met deze nieuwe hobby wil gaan doen.

Als je 3 sensoren gebruikt en je laat die omstebeurt peilen, dan heb je toch net zo veel/weinig last van verstoring als wanneer je één sensor in drie verschillende richtingen laat peilen? Als je ze maar niet tegelijkertijd laat peilen?

Is het trouwens mogelijk om ultrasoon sensoren op verschillende frequenties te laten werken zodat ze van elkaar te onderscheiden zijn?

Op 2 november 2020 19:38:01 schreef bnw:
...
Is het trouwens mogelijk om ultrasoon sensoren op verschillende frequenties te laten werken zodat ze van elkaar te onderscheiden zijn?

Nee, maar dat is niet nodig, in deze link kun je lezen waarom.

https://opencircuit.be/Blog/HC-SR04-Ultrasonische-sensoren-op-een-Ardu…

LDmicro user.

Op 2 november 2020 19:46:40 schreef MGP:
[...]
Nee, maar dat is niet nodig, in deze link kun je lezen waarom.

https://opencircuit.be/Blog/HC-SR04-Ultrasonische-sensoren-op-een-Ardu…

Ik had al iets gevonden over het aansturen van meerdere ultrasone sensoren, maar de link die jij gaf wel heel duidelijk! Tnx!

High met Henk

Special Member

De lijnvolger is altijd een leuk begin.

1 sensor methode. Ik zie een lijn. Mooi ik kan rijden.
Hee geen lijn meer..
Zit links een lijn.. O mooi rijden
Zit links geen lijn.. O, dan ga ik naar rechts tot ik een lijn zie.

De 2 sensor methode met sensoren net buiten de lijnen.
Hee ik zie geen lijn.. Mooi rijden dus.
Hee ik zie een lijn op links, mooi, moet dus klein beetje naar links
Dito voor rechts..
En wat doe je als de lijn eindigt??

De 2 sensor methode met 2 sensoren op de lijn werkt beter
Maar is ook wel weer complex

Dus kies ik voor de 3 sensor methode..

Nou heb je de lijn volger..

En wat als er een object op de lijn staat??

En nu nog een afstandsbediening om om te keren op de lijn.

Oef is al best complex programma.

Nu gaan we naar analoog. Laat hem een lichtbron volgen. Of de luidste plek ergens zoeken op de lijn..

Legio leuke zaken

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???

Op 2 november 2020 21:00:40 schreef High met Henk:
De lijnvolger is altijd een leuk begin.

1 sensor methode. Ik zie een lijn. Mooi ik kan rijden.
Hee geen lijn meer..
Zit links een lijn.. O mooi rijden
Zit links geen lijn.. O, dan ga ik naar rechts tot ik een lijn zie.

De 2 sensor methode met sensoren net buiten de lijnen.
Hee ik zie geen lijn.. Mooi rijden dus.
Hee ik zie een lijn op links, mooi, moet dus klein beetje naar links
Dito voor rechts..
En wat doe je als de lijn eindigt??

De 2 sensor methode met 2 sensoren op de lijn werkt beter
Maar is ook wel weer complex

Dus kies ik voor de 3 sensor methode..

Nou heb je de lijn volger..

En wat als er een object op de lijn staat??

En nu nog een afstandsbediening om om te keren op de lijn.

Oef is al best complex programma.

Nu gaan we naar analoog. Laat hem een lichtbron volgen. Of de luidste plek ergens zoeken op de lijn..

Legio leuke zaken

Inderdaad genoeg leuke dingen om uit te proberen en te leren.
Bedankt voor je reactie!

@HmH: 2 of 3 sensoren voor een lijnvolger is leuk (en super robuust), maar de truuk is met 1 sensor om niet te gaan "kwispelen" (zie ik links iets? zie ik rechts iets?) maar om te zoeken naar een 'grijswaarde'. Dan zit je namelijk op het randje van de lijn en kun je als je donker of licht ziet gelijk de juiste kant op corrigeren.

If you want to succeed, double your failure rate.
High met Henk

Special Member

Ik begon bewust met binaire sensoren.

Lijkt me didactisch moeilijk genoeg.

Kijk een geoefend programmeur ziet deze beginnersfout ook zo:
Let op.. sensoren op b0, b1 en b2 in dit voorbeeld

c code:


If (portb & 0b000000111) == 0
{
    // Geen lijn
}
elseif (portb & 0b000000111) == 1
{
    // Lijn uiterst links
}
elseif (portb & 0b000000111) == 2
{
    // Lijn in het midden
}
elseif (portb & 0b000000111) == 3
{
    // Lijn beetje links
}
elseif (portb & 0b000000111) == 4
{
    // Lijn uiterst rechts
}
elseif (portb & 0b000000111) == 5
{
    // Lijn uiterst links en uiterst rechts, splitsing???
}
elseif (portb & 0b000000111) == 6
{
    // Lijn beetje rechts
}
elseif (portb & 0b000000111) == 7
{
    // Lijn overal; dwars op de lijn???
}
else
{
    println("error");
}

Als ongetrainde zou je zeggen met 3 bits van 0 tot 7, dus is altijd waar toch?? error komt nooit voor.. toch wel dus!!

Maar een beginner is hier al paar uurtjes zoet mee...

Nee niet verklappen als je het ziet!!
Je ondermijnt het didactisch model op veel scholen..

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???
Lucky Luke

Golden Member

Weet je zeker dat er maar 1 fout in zit? Ik zie er minstens 2, en toen las ik dat ik ze niet mocht verklappen...

[spoiler alert]
Misschien 3 als je compiler in de war raakt van gebrek aan haakjes. (Of is portb een variabele waar je pinb in stopt? Da's dan vooral verwarrend en niet per se fout -je waarde blijft dan tenminste gelijk terwijl je die switch-case doorloopt. Uh, de ifjes(kerst)boom doorloopt. Ik neem aan dat het op een AVR draait trouwens, en dus big endian. Niet dat je bitmask ook nog eens verkeerd om is ofzo..)
[/]

(Hopelijk zo voldoende obfuscated en verpakt onder non-issues. Er staat niks in wat een student niet door zijn buurman kan horen zeggen, en dan nog, ze moeten het van iemand leren / op een manier uitvissen. Ze weten het niet magisch vanzelf na lang genoeg staren)

[Bericht gewijzigd door Lucky Luke op dinsdag 3 november 2020 21:58:00 (11%)

Eluke.nl | De mens onderscheid zich van (andere) dieren door o.a. complexe gereedschappen en bouwwerken te maken. Mens zijn is nerd zijn. Blijf Maken. (Of wordt, bijvoorbeeld, cultuurhistoricus)
High met Henk

Special Member

Het is een pseudo code, dus niet gebaseerd op enige controller...

Zelf zou ik een switch case gebruiken, maar ik weet dat de arduino ide daar niet zo leuk mee was...
Dus bewust de elseif optie gekozen.

De switch case lost het probleem nl vanzelf op..

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???

Het nadeel van spulletjes in China bestellen is dat je er een tijdje op moet wachten.

Gelukkig heb ik nog een esp8266 printje liggen dus ik ben al vast wat kleine dingetjes aan het uitproberen, zoals de simpele dingetjes van in- en uitschakelen van een led, het toepassen (en uitlezen) van een schakelaar, het reageren op een PIR sensor....

Omdat ik straks de robot chassis ook met mijn modelbouw zender zou willen gebruiken, heb ik daar ook wat mee gespeeld.
Het is me gelukt om het PWM signaal van mijn RC receiver uit te lezen en via de esp8862 board weer om te zetten naar een beweging van een servo.

Dus ik ben vast wat basisdingetjes aan het leren en uitproberen.

Ik heb nog wel een vraag.
Bij het chassis pakketje zit een Arduino Uno (clone).
Het zal niet zo maar te beantwoorden zijn, maar hoe lang kun je er mee vooruit?
Of anders gezegd, wanneer breekt de tijd aan dat je in plaats van een Uno board over moet gaan stappen op een Arduino Mega board?

Ik zag dat die veel meer IO pinnen heeft en ook een stuk meer memory.
Het zal natuurlijk onder andere afhangen van de hoeveelheid sensoren, maar ik heb straks bijvoorbeeld ook een OLED paneeltje. Is die al met een Uno te gebruiken, of redt die dat niet meer?

benleentje

Golden Member

Of anders gezegd, wanneer breekt de tijd aan dat je in plaats van een Uno board over moet gaan stappen op een Arduino Mega board?

Dat is niet te zeggen. Ik denk dat de meeste nooit naar een Mega hoeven overstappen omdat ze enkele eenvoudige oplossingen maken specifiek voor een specifiek probleem.

Ook omdat er ontzettend veel te krijgen in I2S en spi aansluitingen zal je met de Uno ook nog heel erg ver komen.

Met zoveel sensoren heb je ook een zeer uitgebreid programma nodig war maar weinig mensen zich aan wagen.

In machines die ik ken met veel motoren, actuatoren en sensoren zitten vrijwel altijd PLC's voor de besturing met veel IO modules. PLC's zijn robuuster en hebben veel kleinere kans op uitval en fouten.

Mensen zijn soms net als een gelijkrichter, ze willen graag hun gelijk hebben.

Op 15 november 2020 17:27:32 schreef benleentje:
[...]Dat is niet te zeggen. Ik denk dat de meeste nooit naar een Mega hoeven overstappen omdat ze enkele eenvoudige oplossingen maken specifiek voor een specifiek probleem.

Ook omdat er ontzettend veel te krijgen in I2S en spi aansluitingen zal je met de Uno ook nog heel erg ver komen.

Met zoveel sensoren heb je ook een zeer uitgebreid programma nodig war maar weinig mensen zich aan wagen.

In machines die ik ken met veel motoren, actuatoren en sensoren zitten vrijwel altijd PLC's voor de besturing met veel IO modules. PLC's zijn robuuster en hebben veel kleinere kans op uitval en fouten.

Dank je voor je reactie!
Ik ga eerst wel eens met de Uno aan de gang, die heb ik er tenslotte in de bestelling zitten!

Ondertussen is het me ook gelukt de servo, aangesloten op de esp8266, te bedienen via een webpage op mijn mobiel.

Het is al leuk om deze basis dingen uit te proberen, dan kan ik die straks gaan combineren!

benleentje

Golden Member

Het is ongebruikelijk om een hele post te quoten zeker als je de eerste volgende bent die erop antwoord. Probeer zoveel mogelijk de quotes strak en compact te houden en zo min mogelijk overbodig te quoten, dan komt de leesbaarheid van het topic ten goede.

Mensen zijn soms net als een gelijkrichter, ze willen graag hun gelijk hebben.