Het begin

Vaak heb ik een maar een enkel electronica onderdeeltje nodig van Conrad. Maar dan bestel ik wat dingen bij om boven die 25€ te komen voor gratis verzending. klik, klik, klikerdeklik, oh ook leuk.. klik..

Zit je ineens op de 80€ :blush:

Als ik jou was zou ik beginnen met een display tutorialtje.

Ik zie dat je geen potmeter hebt besteld (vergeten te melden) Is ook niet echt nodig in het schema van het display. Gewoon de Vo in de 5V of gnd steken en kijken welke het beste beeld geeft (anders moet je maar een beetje pielen met weerstanden).

Het was in totaal 110 euro dus viel nog mee.
Zal kijken of ik een potmeter hier in de stad kan kopen.

Als het goed is heb ik maandag alles binnen, dan ga ik savonds gelijk aan de slag! :slight_smile:

Vraagje zo'n potmeter (bv deze):
http://www.conrad.nl/ce/nl/product/450034/Potmeter-9305-mono-10KOhm-02W-Lin/SHOP_AREA_17440&promotionareaSearchDetail=005

Moet je die perse solderen of is er ook een manier om die anders te verbinden?

Ja, die kan je niet in het breadboard prikken. Gewoon wat enkeladerige draadjes aan solderen en de andere kant gebruiken om in het breadboard te prikken.

Ah ok. Dan zal ik die er ook nog bij bestellen straks. Eerst maar even wachten op me huidige bestelling en dan wat tutorials doen :smiley:

hoi,
ook ik ben een beginner met Arduino Uno.
ik weet voldoende van elektronica om er op dit niveau mee om te gaan, maar van software weet ik weinig tot niets. ik sluit mijn Uno aan en ik moet de boel installeren welnu, ook dat is gelukt.
hoe krijg ik een programma IN de Uno? ik wil bijvoorbeeld het ledje laten knipperen.

het ledje knippert al, dus er is dus al een knipper programma geladen.
hoe haal ik dat programma er uit? want als ik een bestaand programma wil aanpassen, dan moet het toch ook lukken?
ik ben de hele avond al aan het zoeken, en vind van alles, gelukkig ook een Nederlandstalig forum, maar hoe ik kan uploaden/downloaden en in de toekomst, interfacen, is mij niet duidelijk

groeten, Dré

hoe haal ik dat programma er uit?

Dat gaat niet (for now), je overschrijft iedere keer het programma in de chip. Je bewaart je source code op je PC en met de IDE kun je de code compileren en als deze compileert kun je hem uploaden.

Pijltje naar rechts is de upload knop (en als je de shift ingedrukt houdt zie je alle commandos voorbijkomen).

kijk vooral ook - http://arduino.cc/hu/Tutorial/HomePage -

hoi Rob,

hartelijk dank!!

het is gelukt, een ledje op verschillende snelheden laten knipperen.
klinkt eenvoudig, maar nu kan ik communiceren met Arduino.

er is nog een lange weg te gaan, maar de eerste stap is gezet.
overigens is het terugvinden van jouw mailtje op het forum heel moeilijk, maar ja, ook die weg is lang
nog niet veel ervaring met forums, kortom heb nog veel te leren

groeten, Dré

Zo, heb al het één en ander gedaan. Lichtjes laten knipperen, fade-in, fade-out, 1 voor 1 aan / uit etc. Code is behoorlijk simpel dusver.
Nu een vraag:

Ik wil een 3x3 led vierkantje maken.

  • Hoe verbind ik die aan elkaar? Als ik op youtube kijk bij de ledcubes dan kan ik niet zien hoe deze aan elkaar zijn verbonden
  • Hoe geef je aan dat je bv led 1 van kolom 2 wil oplichten?

Hoi Thabram,

Nee, ik heb nog niet veel gedaan, ik wil juist in Bascom gaan programmeren.
Die taal is eenvoudiger dan C. Er is een mogelijkheid om daarin verder te gaan.
Ik heb (slechte) ervaringen met C bij het FEZ bordje dat uitsluitend in C kan worden geprogrammeerd.
Arduino kan ook in Bascom, een Basic variant, worden geprogrammeerd.
Daar ben ik naar op zoek.

Een kubus van 3 x 3 x 3 begin je met het maken van een plat ‘plaatje’ van 3 x 3 ledjes
De lange pootjes zijn + die verbind je horizontaal met elkaar.
De korte pootjes zijn – die verbind je verticaal met elkaar.

Zo heb je 3 plaatjes, die je naast elkaar plaatst.
Zorg er voor dat de onderlinge afstand en de stand van de ledjes zeer precies is, dat is de moeilijkheid.

Je hebt nu 9 minpolen en 9 pluspolen. Immers, je hebt 3 plaatjes met elk 6 aansluitingen

Je kunt dit op verschillende manieren aansturen.
De horizontale (plus) pootjes verbind je wederom horizontaal met elkaar.
De drie ‘plussen’ doorverbinden, parallel zetten, zodat je 3 + aansluitingen hebt.
De – aansluitingen moet je dan afzonderlijk aansturen. Dat zijn er 9, totaal 12 bits.
Niet vergeten om (afhankelijk van de voeding) weerstanden in serie met de 3 + aansluitingen.
Wil je meerdere leds tegelijkertijd aansturen dan moet je elke led zijn eigen weerstand geven.
Maar het best kan je één led tegelijk aansturen, als je dit snel doet, dan zie je dit niet.

Aansturen gaat niet rechtstreeks uit de Arduino, je hebt buffer transistoren of darlintons nodig
Darlintons koop je in array’s, dat is makkelijker. Uiteraard betrek je de voeding NIET uit de Arduino, want dat trekt hij niet. (denk ik, want ik heb geen gegevens, maar als het gehele ding 40 mA trekt, dan zijn 9 leds met elk 10 à 15 mA toch iets te veel van het goede.)

Elke + poot heeft nu 9 – pootjes dus a-b-c zijn bijvoorbeeld de gekoppelde + aansluitingen.
Vervolgens zijn er 1-2-…..-8-9 min aansluitingen.
A & 1 geeft het ledje in de linker bovenhoek A&2 het naastliggende ledje. Etc. etc.

Je kunt de boel ook als 2 dimensionale matrix aansluiten, dan heb je 27 ledjes die je met 5 x 6 bitjes aansluit
Ook hier heeft elk ledje zijn (haar?) eigen combinatie dit is iets voordeliger, het scheelt één bitje.
Maar je moet wat lastiger programmeren, dieper nadenken, maar het kan ook

veel suc6,
groeten, Dré

Hoi drejansen,

Bedankt voor je duidelijke uitleg. Ik ga eerst maar eens proberen een 3x3 (2d dus) te maken. Dat lijkt me wat makkelijker om te beginnen.
Overigens zou ik als ik jou was toch nog overwegen om de Arduino taal te proberen. Ik programmeer zelf aardig wat talen en moet zeggen dat deze taal misschien wel de simpelste is die ik dusver geleerd heb.

Hallo,

Ik heb nu 6 leds via het breadboard op 1 lijn staan en verbonden met pin 11. (zie foto hieronder).
Is het nu mogelijk om deze 6 leds apart te besturen? Als ik elke led een aparte pin geef dan lukt het uiteraard wel, maar als ze allemaal op 1 pin zitten?

Moet ik dan een shift register gebruiken, en kan dat in deze opstelling?

Ik zie dat ik een CD4049UBE register heb ipv de 74HC595 die ik besteld heb :S
Ik snap de datasheet van de 74HC595 wel: http://www.arduino.cc/en/Tutorial/ShiftOut
Maar van de CD4049UBE niet: http://pdf1.alldatasheet.net/datasheet-pdf/view/26877/TI/CD4049UBE/+QWJJ8UPGZwEB8ND/1Hl+/datasheet.pdf

Kan iemand mij vertellen waar op de CD4049UBE de outputs zijn? Bij de 74HC595 is dit 1tm7 + 15

hoi Thabram,

nog voordat ik ga kijken hoe het zit met de schuifregisters, meteen mailen dat je deze schakeling NIET MOET AANSLUITEN !! de 6 leds staan parallel, en dat is zo wie zo niet goed.
de stroom die hier gaat lopen is veel te groot voor de poort
ik zie niet precies de kleuren van het weerstandje, maar het lijkt op blauw-zwart-rood, dat is 6K (geen standaard weerstandswaarde, mogelijk zie ik het verkeerd)
zolang je die 6K weerstand daar laat zitten, gebeurd er niets, je zal ook geen led zien branden.
is de weerstand lager dan 1K dan die je wel één mogelijk twee leds branden, meer niet.
wil je meerdere leds tegelijk aansturen, dan moet je ze in serie (achter elkaar) schakelen.
uiteraard kan je hier dus geen afzonderlijke leds aansturen. het is alles of niets.

dat je leds niet parallel moet schakelen, is omdat leds op stroom werken, en niet op spanning.
natuurlijk is er spanning nodig om stroom te laten vloeien, maar leds zijn geen gloeilampjes.
leds hebben een negatieve temperatuur coëfficiënt, dus worden ze warm, dan wordt de weerstand lager, waardoor ze nóg warmer worden, en de weerstand nog lager wordt, etc.
zou er geen weerstand zitten, dan sneuveld de led.

Bij parallel schakelen zal de ene led meer stroom trekken dan de andere, waardoor er verschillen in lichtintensiteit ontstaat. Niet mooi.
Met een schuifregister kom je hier niet ver mee, het is immers één aansluiting.

Hoe zet je een foto op dit forum?

Ik ga de linken bekijken, en probeer een tekeningetje te maken voor jouw schakeling
Vanavond zal dat niet lukken, want ik heb netwerk problemen.
Nieuwe experiabox en plotseling zien de computers elkaar niet meer.

Groeten, Dré

Hoi Dré,

Bedankt voor je uitleg. De weerstand op de foto is 1k, echter branden alle ledjes gewoon (de laatste brand inderdaad wat minder). Als ik ze achter elkaar schakel dan hebben ze inderdaad allemaal dezelfde felheid, echter moet ik dan voor elk ledje een pin op de arduino pakken en dat zijn er maar 13. Als ik bv een grid van 5x5 wil maken moet het dus op een andere manier (waarschijnlijk met zo'n schuifregister?).

Foto plaatsen:
Volgens mij kan je geen foto's uploaden op het forum zelf. Wat je moet doen is je foto uploaden bij een gratis hoster bijvoorbeeld: http://imageshack.us/
Vervolgens kopier je de link naar de foto en zet je deze tussen [ img ] [ /img ] (zonder spaties tussen de letters en de haakjes).

Vraagje over de wet van OHM.

  • Een ledje is 20ma en 2.25V
  • De arduino is 5V
  • U = I X R
  • Dus: R = U(5-2.25) / I(20ma) = 0,1375

Vraag 1: 0,1375 klopt niet, als je het keer duizend doet kom je uit op 137,5 OHM wat wel klopt, wat doe ik fout in de berekening?
Vraag 2: Zoals in mijn voorbeeld staan er 6 leds parallel geschakeld. Hoe reken je het dan uit? Moet je dan 20ma x 6 = 120ma doen? Wat uit komt op: R = U(5-2.25) / I (120ma) = 0,02291 (weer keer duizend = 22,9 OHM)

1000 mA = 1 A, dus moet je niet delen door 120 mA maar door 0,12 A

Formules altijd met de hoofdwaarde invullen. :wink:

opgelet
U=RI klopt niet voor een led.
Een led veroorzaakt een spanningsval. De spanningsval is quasi onafhankelijk van de stroom die er doorloopt.
De spanningsval is afhankelijk van het type led. Daarom wordt er altijd aangeraden om een weerstand in serie met een led te zetten.
De weerstand (die wel luistert naar U= R
I) zal de stroom altijd beperken.
Hier is een link naar een Nederlandstalige website die je alles over leds verteld en ook een led calculator heeft Alles over leds

Met vriendelijke groet.
Jan

Hoi Jan,

Bedankt voor je antwoord duidelijk.
Heb zojuist een IR distance sensor binnen gekregen (sharp). Wou even testen of hij het doet alleen ik krijg hem niet werkend heel vreemd.
Hij is aangesloten op de ground + 5v + analog pin 5 (zie foto).

Met de volgende code wil ik de waardes dan printen:

//Analog pins
int sensePin = 5;

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  Serial.println(analogRead(sensePin));
  delay(500);
}

Echter print hij continue de waarde 221 (heel soms 222) als ik me hand voor de sensor houd of wat dan ook doe, er gebeurd niets. Wat doe ik fout?
PS: het is deze sensor http://iprototype.nl/products/components/sensors/ir-sensor-10-80

Hoi Thabram,

Wet van ohm klopt maar dioden zijn geen gewone weerstanden.
Een diode heeft een doorlaat spanning van zo’n 1,5V rode leds wat minder, groene leds weer wat meer en wat gele leds doen, weet ik niet. Deze 1,5V is afhankelijk van de temperatuur.
Bij hogere temperatuur wordt deze spanning lager.
Je kan een led, maar elke diode, dus als thermometer gebruiken.
Er zijn betere methodes, maar dat even ter zijde
Bij 6 leds parallel blijft de doorlaatspanning nagenoeg gelijk, de onderlinge verschillen bepalen de helderheid.
Dus blijft het 5-1,5V = 3,5V

De poort IN de arduino, bestaat uit 2 transistoren, dat zijn eigenlijk ook een soort dioden, die verlagen de spanning ook iets en zijn temperatuur afhankelijk.
Is er geen stroom, dan meet je de voedingsspanning, maar al trek je enkele mA’s dan daalt de spanning al enorm.
Als je de pull-up weerstand van de poort inschakelt, dan valt daar natuurlijk ook spanning over.
Die pull-up weerstanden worden in/uit geschakeld door…. Alweer transistoren = diode effect.
Eigenlijk kan je dus geen zinnig woord zeggen over de led-schakeling.

Toch wel, want de wet van ohm blijft geldig, alleen meten is weten.
Dus een meetinstrument en je weet nóg niets, want de meter heeft weerstand, en zolang de meterweerstand enorm groot of juist klein is tov het te meten cirquit, is de invloed klein.
Kijk dit maakt elektronica zo leuk!

Ik heb twee tekeningen gemaakt voor het diode matrix probleem.
Één 3-D tekening, daarin zie je dat de led-kubus 3x3x3 is onderverdeeld in een matrix van 3 x 9. Wanneer je het aantal pootjes telt, dan 3+9=12 pootjes voor 3x3x3=27 ledjes. blokje van 3 x 3 x 3 leds.
Dat kan efficiënter: 5x6=30 daarmee kan je dus 30 ledjes aansturen.
Door de 27 ledjes in een 5x6 matrix te schakelen bespaar je één pootje.
5+6 is 11 pootjes.
De tekeningetjes heb ik als ‘foto’ bijgevoegd, tenminste, als jij ze kan zien, dan is het gelukt.

Uitleg:

Je ziet 9 groepjes van telkens 3 dioden verticaal met de anoden met elkaar verbonden.
Als je de lijn A volgt, dan zie je dat deze verbonden is met de bovenste 9 dioden (anoden) Evenzo heeft aansluiting B ook 9 dioden en C neemt er ook 9 voor zijn rekening.
Haaks daarop zijn de kathoden van elke diode per rij met de cijfers verbonden. Volg de lijntjes en je ziet dat 3 x 9 = 21 dioden.
Zet je spanning op punt A (+) en sluit je 1 aan op – dan zal ledje meest links boven gaan branden.
Let op, er is GEEN weerstand, dus dit ledje sneuveld…
In de lijnen A B en C moet je een weerstand plaatsen. Want je kan in elk vlak tegelijk een led laten branden.
Je kan meerder leds tegelijkertijd laten branden maar dan moet je elke led een eigen weerstand geven. Door te multiplexen heb je maar één weerstand nodig.

Hier zie je dat het ook anders kan, namelijk in een 5x6 matrix, waarmee je met minder pootjes, toch 30 ledjes kan aansturen. Mijn vraag aan jou: teken de 3 extra ledjes er in, dan weet ik dat jij mijn matrix verhaaltje hebt begrepen.
Wil je groter, kies dan ALTIJD een ONeven aantal, dan hebt je een ‘middelste’ rij.

Groeten, Dré

Thabram
Vervang

int sensePin = 5;

door

int sensePin = A5;

en het zou moeten werken
Jantje

@ Dré: Ik ga snel met jouw schema aan de slag en kijken of ik het begrijp, dankjewel voor je moeite.
@ Jantje: Thanks, dit werkte! Een digitale pin benoem je dus gewoon met het cijfer, en een analoge met de A ervoor?

Thabram
Inderdaad.
Effe door de arduino examples gaan maakt veel duidelijk :wink:
Met vriendelijke groet
Jantje