Show Posts
Pages: 1 [2]
16  International / Nederlands / Re: Bascom voor Arduino on: July 10, 2012, 10:30:36 am
hoi Jantje en Henk,

Bij nader inzien hebben jullie gelijk, het is inderdaad niet slim om in deze C wereld Bascom te promoten.
Ik heb met FEZ (een ander C platform) onprettige ervaringen met C opgedaan.

In een grijs verleden had ik positieve Bascom ervaringen, die mij ooit een eerste prijs hebben opgeleverd (reisje naar Californië).
Binnen de B-plus groep, waarvan ik lid ben, wordt uitsluitend met Bascom gewerkt. Daar vind ik veel ondersteuning.
In de Robotica groep waar ik ook al lid van ben, zijn twee kampen, het C# en Bascom kamp.
Allebij erg goed. Ik heb voldoende ondersteuning, mogelijk zijn er meerderen die met mij meevoelen, vandaar dit proefbalonnetje.

Als iemand binnen dit forum C toch te moeilijk vind, dan moet hij Bascom eens proberen. Andersom kan en mag natuurlijk ook.
Uitproberen kost niets, er is een gratis demoverzie.
Jullie zijn helemal los op C, houden zo!

groeten, Dré Jansen

17  International / Nederlands / Re: power voeding on: July 10, 2012, 10:07:32 am
hoi Henk,

Nee, geen vuurwerk, maar bij mij is het precies andersom, de - zit in het midden en de + aan de kant.
Gelukkig is er een 'klootzak diode' in de voeding opgenomen, anders had ik zeker vuurwerk gehad.
Die diode staat keurig in het schema en de beschrijving vermeld, maar ik wilde hem liever niet uittesten.
Veronderstel dat het toch niet waar is, wat er staat.  Gelukkig heeft die diode zijn werk goed gedaan.

Vorig jaar ben ik met C# begonnen, het Fez- bordje met robot.
In de beschrijving van Fez staat dat het printje pin compartible is met de Basic stamp van BOE-bot.
Dus kocht ik uitsluitend het printje en prikte dat in de BOE-bot.... Vuurwerk!!
De pin die 3V uit de FEZ naar BOEbot basisprint is dezelfde als de pin waarmee BOE-bot de aangelegde spanning naar het processorbordje stuurt, in mijn geval was dat 9V=.
Dat was iets te veel voor Fez, en ik mocht een nieuwe kopen. Transport, douanekosten bij elkaar bijna 100 euro! Vandaar dat ik nu wat minder vertrouwen heb in beweringen van de fabrikant.

Twee Fez bordjes later ben ik tot de conclusie gekomen dat C# niet voor mij bedoeld is.
Ik ben overgestapt naar Bascom (Fez is geen Atmel, gelukkig is Arduino dat wel)
Arduino is bovendien een stuk voordeliger, dus de keuze is snel gemaakt.

Om ervaring te krijgen ben ik bezig alle Arduino voorbeeldprogramma's te vertalen in Bascom.
Dat gaat redelijk voorspoedig.

Groeten, Dré

18  International / Nederlands / Re: Bascom voor Arduino on: July 08, 2012, 07:42:40 am
Aanvulling:

vertaalde programma's: AnalogReadSerial; BareMinium; Blink; DitalReadSerial; Fade; ReadAlalogVoltage.
ik ga rustig verder, leer er veel van, maar hier komen geen reacties.

de vertalingen omvatten de volgende bestanden: het originele  xx.ino bestand; xx.bas en xx.hex
het hex bestand is het eigenlijke programma dat ook door Arduino wordt geupload maar helaas niet laat zien.

hieronder de BAS bestanden, het origineel hebben jullie al, en aan een HEX bestand zie je niet veel.
download het gratis Bascom programma van MCSelec.com en je kan zelf het HEX bestand maken.

=============
'(
AnalogReadSerial
Leest de analoge ingang port A0 (= C.0)  en geeft het resultaat op de monitor.
sluit de loper van een potmeter aan op A0 en de overige twee op massa en +5V
')
$regfile = "m328def.dat"                        ' Atmega-328p
$crystal = 16000000                              ' 16 Mhz Kristal
$baud = 9600                                        'communicatiesnelheid terminal
$hwstack = 32                                       ' default use 32 for the hardware stack
$swstack = 10                                       'default use 10 for the SW stack
$framesize = 40                                     'default use 40 for the frame space

Config Adc = Single , Prescaler = Auto , Reference = Avcc   'A-D convertor inschakelen

Do                                                        ' begin van het programma
   Print "{012}"                                     'maak het scherm schoon.
   Print "waarde is " ; Getadc(0)             'druk waarde af (op beeldscherm)
   Waitms 100                                       ' wacht 1000 ms
Loop                                                    ' einde programma, begin opnieuw
End

========================

'(
BareMinimum
het minimale dat nodig is voor het programmeren.
het eerste gedeelte de instellingen en declaraties
ook subroutines moeten worden gedeclareerd.
Tussen do en loop komt het zich herhalende deel van het programma
')
$regfile = "m328pdef.dat"                        ' Atmega-328p
$crystal = 16000000                                  ' 16 Mhz Kristal
$baud = 9600                                           'communicatiesnelheid terminal
$hwstack = 32                                          ' default use 32 for the hardware stack
$swstack = 10                                          'default use 10 for the SW stack
$framesize = 40                                        'default use 40 for the frame space

' hier de declaraties en instellingen

Do                                                           ' begin van het programma

' hier de zich steeds herhalende routines

Loop                                                      ' begin opnieuw bij do
End                                                        ' einde programma

=======================

'(
Blink
laat onboard ledje knipperen 1 seconde aan, een seconde uit.
dit ledje zit aangesloten op digitale poort B5 bij Arduino bekend als D13
')

$regfile = "m328def.dat"                         ' Atmega-328
$crystal = 16000000                                ' 16 Mhz Kristal
Ddrb.5 = 1                                             ' maak van poort B5 een uitgang

Do                                                         ' begin van het programma
 Toggle Portb.5                                      ' verander poort b5 van waarde is hij hoog, dan wordt hij laag en andersom.
   Waitms 1000                                       ' wacht 1 seconde
Loop                                                     ' einde programma, begin opnieuw
End

==========================

'(
  DigitalReadSerial
  leest de waarde van datapootje D2 en presenteert dit op de monitor.
  let op, de interne pull-up weerstand is UITgeschakeld, zelf toevoegen!
  schakel naar massa met pull-up weerstandje naar +5V
  het knopje moet een naam krijgen: ik noem hem: 'knopje'
')
$regfile = "m328pdef.dat"                        ' Atmega-328p
$crystal = 16000000                                ' 16 Mhz Kristal
$baud = 9600                                          ' communicatiesnelheid terminal
$hwstack = 32                                         ' default use 32 for the hardware stack
$swstack = 10                                         ' default use 10 for the SW stack
$framesize = 40                                       ' default use 40 for the frame space

Ddrd.2 = 0                                              ' maakt van poort D pootje 2 een ingang
 Knopje Alias Pind.2                                ' geeft naam: knopje aan de latch van poort D2

Do
   If Knopje = 0 Then                               ' bij ingedrukt knopje ligt de ingang aan massa potentiaal
      Print "knopje ingedrukt"
      Else
      Print "knopje los"                              ' bij een losgelaten knopje zorgt de pull-up weerstand voor 5V op de ingang
   End If
Loop
End

=========================

'(
  DigitalReadSerial-2
  Leest De Waarde Van Datapootje D2 En Presenteert dit Op De Monitor.
  in dit programma wordt de interne pull-up weerstand ingeschakeld
  het on-board LEDje wordt ook aangestuurd.
  verder is dit programma gelijk aan het origineel
  uitsluitend een knopje is vodoende, schakel D2 naar massa.
  het knopje moet een naam krijgen: ik noem hem: 'knopje'
  hier is nog geen rekening met debounce gehouden.
')
$regfile = "m328pdef.dat"                          ' Atmega-328p
$crystal = 16000000                                   ' 16 Mhz Kristal
$baud = 9600                                            'communicatiesnelheid terminal
$hwstack = 32                                           ' default use 32 for the hardware stack
$swstack = 10                                           'default use 10 for the SW stack
$framesize = 40                                         'default use 40 for the frame space

Ddrb.5 = 1                                                'maakt van poort D13 een uitgang  (LEDje)
Ddrd.2 = 0                                                'maakt van poort D2 een ingang
Portd.2 = 1                                               'schakel voor D2 de pull-up weerstand in
 Knopje Alias Pind.2                                 ' geeft naam: knopje aan de latch van poort D2

Do
   Print "{012}"                                         ' scherm schoonmaken
   If Knopje = 0 Then                                ' bij ingedrukt knopje ligt de ingang aan massa potentiaal
      Print "knopje ingedrukt"
       Set Portb.5                                        ' ledje aan
      Else
      Print "knopje los"                               ' bij een losgelaten knopje zorgt de pull-up weerstand voor 5V op de ingang
      Reset Portb.5                                     ' ledje uit
   End If
   Waitms 100                                           ' voor wat rust in de tent
Loop
End

================================

' Fade
' het faden van een led op pootje D9 met PWM
' fade van helder naar 0 in stapjes van 5 met pauzes van 30 ms

$regfile = "m328pdef.dat"                        ' Atmega-328p
$crystal = 16000000                                ' 16 Mhz Kristal
$baud = 9600                                          ' communicatiesnelheid terminal
$hwstack = 32                                         ' default use 32 for the hardware stack
$swstack = 10                                         ' default use 10 for the SW stack
$framesize = 40                                       ' default use 40 for the frame space

Ledje Alias Pwm1a                                  ' PWM poort naam van ledje geven
Config Timer1 = Pwm , Prescale = 1 , Compare A Pwm = Clear Down       ' PWM generator instellen
Dim Helder As Byte                                 ' lichtintensiteit van ledje

Do                                                          ' begin
   For Helder = 0 To 255 Step 5               ' in stapjes van 5 naar donker
      Pwm1a = Helder                               ' lampje aansturen
      Waitms 30                                        ' effe wachte
   Next Helder                                         ' volgende stap

   For Helder = 255 To 0 Step -5             'terugstappen naar vol licht
   Pwm1a = Helder                                  ' lampje instellen
   Waitms 30                                           ' effe wachte
Next Helder                                            ' volgende stapje
Loop                                                      ' overnieuw
End

=======================================

tot zo ver deze vertalingen
mocht er geen belangstelling zijn, dan was dit mijn laatste mailing.
groeten, Dré

19  International / Nederlands / Re: power voeding on: July 01, 2012, 06:27:02 am
Hoi Jo3ri,

Op internet is heel veel over Bascom te vinden.
Gesprekken worden meestal in het Engels gevoerd, en ook dat is voor mij net iets te moeilijk.
ik kan wel Engels, voldoende voor een pub-conversatie maar voor serieuze zaken zoals dit forum toch net niet goed genoeg. daarom ben ik blij met deze Nederlandse groep.
ik heb het Bascom-boek, maar ook het C-boek gekocht.

binnen deze groep merk ik dat elektronica moeilijk wordt gevonden.
nee, ik ben geen hoogwaardig elektronicus, maar ik heb voor dit forum voldoende elektronica kennis.

Uiteraard kan ik daar anderen mee helpen, zij zien dan vanzelf wel hoe zaken in Bascom wordt aangestuurd of uitgelezen. Bascom is gratis, dus daar kan het niet aan liggen.
als deze mensen dan de Bascom taal zien, is het niet de vraag OF ze overstappen, maar WANNEER ze overstappen. ;-)

groeten, Dré
20  International / Nederlands / Re: Bascom voor Arduino on: July 01, 2012, 04:57:29 am
Geacht Forum,

Ik heb hieronder drie maal het programma van het knipperledje (D13) in Bascom herschreven.
Hierover zou ik uw mening willen horen.

BLINK-1
Het programma zoals het in Bascom geschreven zou kunnen worden.
Commentaar staat achter een ' (apostrofje)

BLINK-2
Hier worden de Arduino-namen toegepast.
De vertaling gebeurd IN het hoofdprogramma zelf

BLINK-3
Hier is een apart bestand geschreven, waarin de aliassen worden benoemd.
Het doel: hoofdprogramma overzichtelijk houden.

Dit programma heeft een aanvulling: ' Arduino_configuratie.bas
In die aanvulling worden additionele zaken benoemd, zoals aliassen
Als voorbeeld heb ik hier meerdere zaken benoemd, die voor het knipperledje niet worden gebruikt.

Persoonlijk kies ik er voor om de alias-benamingen IN het hoofdprogramma te plaatsen.
De reden is, dat je dan alles bij elkaar hebt.
Met commentaar en verwijzingen zal het programma toch wel overzichtelijk blijven
Uiteraard kan het in de toekomst toch anders blijken te zijn, de tijd zal het leren.
Verder ben ik van mening om als ik een alias voor portB.5 gebruik, dit dan maar meteen LEDje te noemen.
D13 is net zo onduidelijk als B5. daarmee zijn de Arduino benamingen om zeep geholpen.
Bovendien programmeren we hier in Bascom, niet in C.

Wat is uw mening hierover?
Programma's zijn rechtstereeks in Bascom over te nemen.

================================
' BLINK-1

' on board LEDje op D13 knipperen

$regfile = "m328def.dat"            ' Atmega-328
$crystal = 16000000                    ' 16 Mhz Kristal
' de twee instellingen (Regfile en crystal) mogen ook worden weggelaten, omdat dit al in de compiler is aangegeven.
' omdat de compiler zijn instellingen wel eens 'vergeet' zou ik dit als standaard blijven gebruiken.

Ddrb.5 = 1                                 ' maak van poort B5 een uitgang

Do                                             ' begin van het programma
   Toggle Portb.5                       ' verander poort b5 van waarde is hij hoog, dan wordt hij laag.
   Waitms 1000                           ' wacht 1000 ms
Loop                                          ' einde programma, begin opnieuw
End

=====================================
' BLINK-2
'
' on board LEDje op D13 knipperen
' bij deze vertaling wordt de poortnaam vooraf aangepast aan de naam die bij Arduino wordt gebruikt
' de Bascomnaam B5 krijgt een alias D13   (D13 Alias PORTB.5)
' als je dan toch aliassen gebruikt, benoem dan niet de poortnaam, maar geef het de naam van de toepassing
' bijvoorbeeld portb.5 = motor       (motor Alias portb.5)

$regfile = "m328def.dat"            ' Atmega-328
$crystal = 16000000                    ' 16 Mhz Kristal

D13 Alias Portb.5                       ' je kan hier elke willekeurige benaming toewijzen.
Ddrb.5 = 1                                  ' maak van poort D13 een uitgang

Do                                              ' begin van het programma
   Toggle D13                              ' verander poort D13 van waarde
   Waitms 1000                            ' wacht 1000 ms
Loop                                           ' einde programma, begin opnieuw
End

=======================================

' BLINK-3
'
' on board LEDje op D13 laten knipperen

$regfile = "m328def.dat"            ' Atmega-328
$crystal = 16000000                    ' 16 Mhz Kristal

$include "blink-3_config.bas"     ' hierin worden onder andere de namen toegewezen
' dit bestand mag elke naam en extensie hebben.

Do                                              ' begin van het programma
 Toggle D13                                ' verander poort D13 van waarde
   Waitms 1000                            ' wacht 1000 ms
Loop                                          ' einde programma, begin opnieuw
End


==========================================
' Arduino configuratie

' digitale variabelen
D0 Alias Portd.0                                            ' = RxD
D1 Alias Portd.1                                            ' = TxD
D2 Alias Portd.2
D3 Alias Portd.3                                            ' = PWM
D4 Alias Portd.4
D5 Alias Portd.5                                            ' = PWM
D6 Alias Portd.6                                            ' = PWM
D7 Alias Portd.7
D8 Alias Portb.0
D9 Alias Portb.1                                            ' = PWM
D10 Alias Portb.2                                           ' = PWM
D11 Alias Portb.3                                           ' = PWM
D12 Alias Portb.4
D13 Alias Portb.5                                           ' onboard LEDje

' analoge variabelen
A0 Alias 0                                                  ' Portc.0
A1 Alias 1                                                  ' Portc.1
A2 Alias 2                                                  ' Portc.2
A3 Alias 3                                                  ' Portc.3
A4 Alias 4                                                  ' Portc.4
A5 Alias 5                                                  ' Portc.5

' aan en uit waarden
Const Aan = 1                                               ' pin = hoog
Const Uit = 0                                               ' pin = laag

===========================================
groeten, Dré Jansen
21  International / Nederlands / Bascom voor Arduino on: June 29, 2012, 12:00:33 pm
Waarde Forumleden,

Binnen dit forum is wel duidelijk geworden hoe het moet, dus dat hoef ik niet te vertellen.
De voorbeeldprogramma’s zijn in de taal C geschreven.
Bascom programma's zijn eenvoudiger, makkelijker, simpeler en daardoor begrijpelijker.
Probeer het eens, en geef je mening.

BASCOM (voor uno)
Het is mijn bedoeling om Arduino met Bascom te programmeren. Bascom is een basic dialect.
Downloaden van www.mcselec.com.  kies voor Bascom AVR (ik heb verzie 2.0.7.1).
Na installeren, selecteer je via: options > compiler > chip = m328pdef.dat
Dit is het hart van Arduino. Via dit menu kan je diverse zaken instellen, daarover later meer.
Het selecteren van de juiste chip is belangrijk. Ook de kristalfrequentie moet worden ingesteld.
Dit doe je via: options > compiler > communication > frequency = 16000000 Hz
Dit is belangrijk omdat alle timer en communicatie snelheiden door het kristal wordt bepaald.
Direct uploaden naar Arduino gaat (nog) niet. Daarvoor zijn er wat hulpprogramma’s nodig.

WINAVR
Downloaden van: http://sourceforge.net/projects/winavr/files/latest/download?source=files
Na downloaden moet je dit installeren en je hebt er verder geen omkijken meer naar.
Dit met grote dank aan Abraham Vreugdenhil uit het Westland, die mij hierop attendeerde.

XLOADER
Hiermee upload je het HEX bestand in de Arduino.
(Een HEX bestand is het programmabestand voor de Arduino.)
Downloaden van: http://xloader.russemotto.com/  daar staat dan xloader.zip v1.00  678kb.
Start Xloader en zet de communicatie op 115100 bps
Kies het device Uno(Atmega328)
Xloader heeft een beperking, je kan geen com-poort hoger dan 9 kiezen.
Mocht het zo zijn dat de Uno een hogere poort heeft toegewezen gekregen, dan moet je dat wijzigen.
Het is nu een kwestie van hex-bestand kiezen, dit hex bestand is door Bascom gemaakt.
De Sketch van Arduino maakt ook een hex-bestand, maar slaat dit niet op, zoals Bascom wel doet.
Selecteer het te uploaden bestand en je bent in zaken, uploaden en het werkt.

Wijzigen com-poort
Ga (in Windows) naar: configuratiescherm > systeem > apparaatbeheer > poorten
Kies de Uno en wijs een lager poortnummer toe.

Nu is het een kwestie van ervaring opdoen. Door de in C geschreven  voorbeeldprogramma’s in Bascom te vertalen. Controle doe je door de werking van beide programma’s met elkaar te vergelijken.

Groeten, Dré Jansen.

22  Using Arduino / Microcontrollers / Re: Arduino UNO microcontroller type? on: June 19, 2012, 12:02:47 am
Hi members,

I bought a Uno SMD R3
I want to program it with Bascom
What type Atmel is on it?
Not an atmega 328, I tested m328 def and m328pdef
I use Bascom AVR 2.0.7.1

Please give me advice.
Thanks in advance.

Greetings, Dré Jansen (Netherland)
23  International / Nederlands / Re: Het begin on: June 15, 2012, 01:23:35 pm
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é
24  International / Nederlands / Re: power voeding on: June 14, 2012, 11:00:47 am
hoi Rob Tillaart,

ik ben groot gegroeid in een Atmel - Bascom nest, vandaar de voorliefde voor deze taal.
ik heb lange tijd niet veel aan programmeren gedaan, toen ik tegen een FEZ project aanliep.
dat werkte met C# en ik ben daarmee aan de slag gegaan.
helaas ben ik niet slim genoeg om daar goed mee overweg te kunnen. (niet iedereen is gelijk aan Einstein)
Bascom lukte indertijd heel goed, dus ik vermoed dat ik dit nu makkelijker kan oppakken dan doormodderen met C
omdat Arduino een atmel heeft, moet het lukken.
op internet heb ik al het nodige gevonden, maar door netwerk problemen, en internet moeilijkheden ben ik daar nog niet diep op ingegaan.

ik ga het proberen, en dan zal ik besluiten met welke taal ik verder ga.
als je eenmaal een intel hex bestand hebt, maakt het niet meer uit hoe dat is gemaakt.

je hoort nog van mij.


Het vervolg:
Ik heb de polariteit van het voedingsblok gevonden, - in het midden en + aan de rand, rare jongens, die Italianen.

Ik ben een nieuw onderwerp gestart: “Bascom voor Arduino” waarin ik mijn ervaringen wereldkundig maak.

Groeten, Dré
25  International / Nederlands / Re: Het begin on: June 14, 2012, 10:54:19 am
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é
26  International / Nederlands / Re: Het begin on: June 13, 2012, 02:15:09 pm
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é
27  International / Nederlands / power voeding on: June 10, 2012, 01:26:46 pm
Waarde clubgenoten,

Zojuist een UNO gekocht en het werkt! (Knipperledje kan ik in knippersnelheid variëren.)
Het bordje wordt via USB uit de PC gevoed EN/OF extern, een spanning tussen 7= en 12V=.
In het schema staat een 'klootzak diode', om te voorkomen dat je het bordje bij verkeerdom aansluiten opblaast. (Ik vertrouw het schema, maar wil de diode niet onnodig testen.)

Mijn vragen:

-1- Hoe is de polariteit van het externe voedingsplugje? meestal kern +  rand -, is dat bij UNO ook zo?
-2- Mogen de externe en USB voeding tegelijkertijd zijn aangesloten?  (bij PC <--> UNO communicatie)
-3- Hoeveel stroom kan je vragen uit de interne 3V= en 5V= aansluiting?
-4- Source en sink current, ofwel, de maximale stroom UIT de poort en IN de poort?
-5- Aansluitend de totale stroom die een UNO (poort) kan (en mag) leveren/absorberen.

Ik heb besloten dat de taal C iets te moeilijk is, Bascom is een begrijpelijk basic dialect.
Ik zal (proberen) hiermee aan de slag gaan, de chip is van Atmel AVR dus zou het moeten lukken.
Als het (is ge)lukt, laat ik het weten, mogelijk hebben anderen hier ook wat aan.

groeten, Dré

28  International / Nederlands / Re: Het begin on: June 10, 2012, 03:32:45 am
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é
29  International / Nederlands / Re: Het begin on: June 09, 2012, 12:26:45 pm
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é
Pages: 1 [2]