Arduino "Blink" voorbeeld pinkt NIET

We hebben het al die tijd ook over de USB aansluiting. (Op de arduino zit een USB-serieel omzetter, en die krijgt een COM-poort toegewezen. In het geval van TS dus COM4)

[Bericht gewijzigd door BVZ op zaterdag 25 juni 2016 17:04:11 (52%)

Same shit different PC.
Op mijn desktop, juist hetzelfde.
Poort is nu wel COM3
Uit Device Manager
Device type Ports (COM & LPT)
Manufacturer Arduino LLC (www.arduino.cc)
Location: Port_0002.Hub_0002 (heb de hekjes eruit gelaten :))
This device is working properly.

Zit ik hier met een "shitty" bootloader of wat.
Blijkbaar is het probleem niet van gisteren: KLIK

Toch nog even vermelden: Na klik op ronde knop "Upload" in de IDE beginnen de TX & RX leds zo af en toe eens pinken, niet continu high speed maar af en toe komen ze eens kort op.
Dat ding doet toch iets maar blijkbaar niet genoeg :(

[Bericht gewijzigd door mcs51mc op zaterdag 25 juni 2016 17:12:32 (22%)

Never forget the KISS principle: Keep It Stupid Simple!!

Dat af en toe knipperen van de TX/RX zal komen doordat de PC de Mega aanroept, en dan moet de Mega (=bootloader in de Mega) tegen de PC zeggen: 'Ik ben er, kom maar met je data'.

Dat laatste gebeurt dus niet, dus de PC begint niet met het feitelijke uploaden.

Je kunt wellicht proberen om handmatig de mega te resetten via de resetknop net voor de IDE van 'compilen' naar 'uploaden' springt. Wellicht is er iets mis met het automatische resetcircuit. (Meerdere malen proberen, is wat kritisch qua tijd).

En anders kan ik eigenlijk niks anders bedenken als een corrupte/missing bootloader.

Dit:

http://www.ebay.com/itm/1pc-10-Pin-Convert-to-6-Pin-Adapter-Board-For-…

in combinatie met dit:

http://www.ebay.com/itm/USBASP-USBISP-AVR-Programmer-Adapter-Cable-USB…

is erg makkelijk om te hebben. Niet alleen om er een bootloader mee te uploaden, maar ook om code te uploaden zonder bootloader (die zorgt voor een vertraging bij opstarten, want die wacht eerst even of hij aangeroepen wordt) en om de fusebits te zetten als je je code wilt beveiligen tegen kopiëren.

Bedankt voor de links:
Die 2 hulpstukjes zorgen ervoor dat je via de ICSP pinnen (tussen de uP en de rest knop) de sketch in de uP krijg, right?
Je korstluit dan als het ware de USB plug.
Power komt van de ronde 2.1mm plug.

Je kan er ook een bootloader in krijgen, maar waar haal je die bootloader dan vandaan ??

Uit de Arduino fora

Begrijp ik het goed dat de "L" led moet pinken bij indrukken/lossen reset knop?
Wel mijn ledje blijft hardnekkig ON

Never forget the KISS principle: Keep It Stupid Simple!!

Via die USBASP gebruik je inderdaad de ICSP pinnen om een programma te uploaden. De bootloadersoftware zit in de arduino IDE ingebakken, je kunt gewoon 'bootloader branden' kiezen. (Moet wel via de ICSP pinnen EN je moet het juiste bord kiezen.)

Normaliter wordt elke Arduino na fabricage standaard als test voorzien van het 'blink' programma. De led zou dus recht uit de doos al moeten knipperen met circa 1hz.

En zoals ik het lees, moet hij ongeacht welke software erin staat sowieso (kort) even snel knipperen na een reset, want dat knipperen doet de bootloader. Ik heb even een Uno gepakt, die knippert heel snel een keer of 4 a 5 onmiddellijk na het weer loslaten van de resetknop.

TOP BVZ TOP
Bedankt voor al je antwoorden en uitleg!
Ik kom hierop terug wanneer ik zo'n kabeltje heb... ...

Never forget the KISS principle: Keep It Stupid Simple!!

1 dingetje nog, las ik net kennelijk overheen:

Op 25 juni 2016 17:52:38 schreef mcs51mc:
Power komt van de ronde 2.1mm plug.

Hier ben je me even kwijt :D

Waar zie jij een ronde 2.1mm plug?

Op 25 juni 2016 15:57:10 schreef mcs51mc:
Is bijgesloten foto genoeg materiaal voor echtheid te achterhalen?

Ja, da's een "echte". Echt is hier een beetje raar want Arduino is open hardware. Iedereen mag zo'n board maken, de bootloader erin programmeren, en dan is het een Arduino board. Maar die van jou komt van de Arduino club zelf, dus daar zal ongetwijfeld de bootloader correct in zitten. Daarmee wordt het wel heeeeeeel raar dat je niet zo out-of-the-box kunt programmeren. Aan de slag met de ISP pinnen lijkt mij dan ook geen erg kansrijk plan. Na een programmeerpoging weet je helemaal niet meer wat je hebt, en da's nu nog wel zo.
Zit er op dat board niet een jumper die je moet sluiten of zo? Handleiding gelezen?

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein

@flipflop

Je mag een Arduino namaken, maar geen Arduino noemen. Vandaar de rijke variaties op Arduino: Funduino, seeduino, Genuino en weet ik het allemaal wat ze niet verzinnen.

En de bootloader moet de led laten knipperen onmiddellijk na de reset. Dat doet hij ook niet. Ergo -> geen bootloader of een corrupte bootloader. Dan kun je wel blijven proberen tot je een ons weegt maar de bootloader erin zetten is 10 seconden werk.

EDIT: Ik heb even een Mega2560 opgeduikelt (een XDRduino deze keer). Led L brand constant. Bij indrukken resetknop blijft deze branden, na loslaten knop gaat deze pakweg een halve seconde uit en gaat daarna weer continu aan. (Dus niet snel knipperen zoals op de Arduino site staat, en niet zoals bij een Uno.)

Even de bootloader die bij 1.6.5 zit erin gezet (mijn Mega is minimaal 2 jaar oud, dus even voor de zekerheid): Led L knippert continu: 1 sec. aan, 1 seconde uit. Dus kennelijk zet hij dan ook gelijk de blink sketch erin.

Na het uploaden van een andere sketch is het weer als vanouds: Led L brand constant. Bij indrukken resetknop blijft deze branden, na loslaten knop gaat deze pakweg een halve seconde uit en gaat daarna weer continu aan.

Gelijk even een opmerking voor mcs51mc: De bootloader uploaden doe je via de 6 pins header bij de resetknop, niet via de 6 pins header bij de USB poort. (Die laatste is voor de software van de USB<>serieel omzetter!)

@BVZ, vind jij het niet heel erg verdacht dat een echt Arduino board geen bootloader bevat? Dan is er ergens toch iets heeeeeeeeeeeeeeel erg fout gegaan, of niet? Dat wil d'r bij mij niet in.
.....tenzij iemand anders al eens "gespeeld" heeft met dit board. Kan dat TS?

[Bericht gewijzigd door flipflop op zaterdag 25 juni 2016 22:05:21 (17%)

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein

Ja, dat is verdacht. Maar hij knipperde recht-uit-de-doos ook niet met 0,5hz dus of iemand anders heeft er inderdaad al mee gestoeid, of het is bij Arduino wel degelijk misgegaan.

Evengoed, als je met de USBASP er een nieuwe bootloader inzet, en het werkt dan nog steeds niet is er geen man overboord want dan gebruik je gewoon de USBASP om je sketch te uploaden. Dan heb je in ieder geval een alternatieve mogelijkheid.

Ik heb er in elk geval geen 230VAC op gezet, en zwart ziet hij nergens, … …
Zelfs het beste productieproces laat al eens een steek vallen zeker?
6Sigma voor de kenners KLIK

Maar bon, begrijp ik je post van 20:01 goed BVZ dat je eigenlijk hetzelfde probleem hebt wanneer je een eigen sketch in de Arduino laad?
Ik veronderstel dat je de bootloader via ICSP er in hebt gezet
Led was ok
Dan een eigen sketch via USB (of via ISP ??) er in gezet, led L continu aan
Maar nu komt de hamvraag: Heb je dan geprobeerd een andere sketch in te laden via USB en het ging niet meer?
Dan zit je echt in dezelfde situatie als ik ?

Er zit inderdaad een “Reset enable” functie op maar via solderpads, geen jumper.
Die heb ik uitgemeten en solderpads geven door, dus ok volgens bijgesloten document.
Het enige document trouwens dat ik tot nu toe gelezen heb, behalve een hele boel info op diverse fora.

Wanneer ik zo’n “USBASP USBISP AVR Programmer Adapter Cable USB ATMEGA8 ATMEGA128 Arduino NEW” kabeltje en converter heb moet ik dan het volgende doen:
Kabeltje in PC, wordt dan hoogst waarschijnlijk een andere COM poort dan de Arduino
Drivers ??
Via converter op ICSP connector tussen controller en reset knop aansluiten, richting belangrijk ??
In IDE
a)Bordje kiezen in menu Tools\Board:: hoeft waarschijnlijk niet ??
b)USB poort kiezen in menu Tools\Port:: (COM x te bepalen via Device Manager)
c)Programmer kiezen in menu Tools\Programmer:: USBasp, correct ??
d)Bootloader in zetten via menu Tools\Burn Bootloader

Is this the winning procedure ? :) ?

Bedankt voor jullie deskundige reacties!

Never forget the KISS principle: Keep It Stupid Simple!!
fred101

Golden Member

Ik heb al jaren een Arduino. Ik heb vaker problemen gehad maar mbv een externe programmer er tussen via de IDE lukte het meestal dan wel als het rechtstreeks niet wilde. Mogelijk is mijn arduino te veel mishandeld.

Bij mijn laatste laptop met W8 werkte het weer goed, maar na de update naar 10 niet meer. Up's en computers is niet mijn ding maar ik heb toevallig ook een een TL866 programmer om eprom backups te maken en als ik nu een arduino sketch wil laden maak ik er een hex file van en prop de atmel in de ZIF van die TL866. Zal vast met W10 ook op de normale manier moeten lukken maar voor die enkele keer werkt het voor mij prima zo.

Kortom, blijkbaar werkt het niet bij iedereen probleemloos en altijd out of the box. Maar je bent niet nieuw mbt uP's dus je hebt vast al een of meer programmers, probeer het daar eens mee, dan weet je of het de Arduino of de Atmel stuk is en kun je ook een nieuwe bootloader of Atmel proberen.

www.pa4tim.nl, www.schneiderelectronicsrepair.nl, Reparatie van meet- en calibratie apparatuur, ook maritieme en industriele PCBs

Op 26 juni 2016 10:19:00 schreef mcs51mc:
Maar bon, begrijp ik je post van 20:01 goed BVZ dat je eigenlijk hetzelfde probleem hebt wanneer je een eigen sketch in de Arduino laad?

Nee, bij mij werkt alles, ook uploaden via USB. Maar in tegenstelling tot een Arduino Uno en andere modellen, laat de bootloader van de Mega dus niet bij opstarten heel even de led snel knipperen.

Wanneer ik zo’n “USBASP USBISP AVR Programmer Adapter Cable USB ATMEGA8 ATMEGA128 Arduino NEW” kabeltje en converter heb moet ik dan het volgende doen:
Kabeltje in PC, wordt dan hoogst waarschijnlijk een andere COM poort dan de Arduino
Drivers ??

Dat is inderdaad een andere compoort, driver is makkelijk te vinden als windows die niet kent. Com poort hoef je overigens niet te kiezen in de Arduino IDE.

Via converter op ICSP connector tussen controller en reset knop aansluiten, richting belangrijk ??

Uiteraard, even van beide de massa opzoeken om de richting te bepalen.

a)Bordje kiezen in menu Tools\Board:: hoeft waarschijnlijk niet ??

Bord kiezen moet wel, want anders weet de Arduino IDE niet welke bootloader je wilt hebben. (Als ik een Arduino Nano binnenkrijg, schrijf ik daar eerst de bootloader van de Uno in, die is kleiner en werkt beter.)

b)USB poort kiezen in menu Tools\Port:: (COM x te bepalen via Device Manager)

Hoeft niet. De mega hoeft ook niet aangesloten te zitten via USB.

c)Programmer kiezen in menu Tools\Programmer:: USBasp, correct ??
d)Bootloader in zetten via menu Tools\Burn Bootloader

Klopt allebei, meer werk is het niet.

En voor het uploaden van een sketch verander je d) in: <uploaden met programmer> (onder Tools Sketch). NB: Je sketch staat er dan in ZONDER bootloader. Programmeren via USB gaat dan niet meer tot je wederom de bootloader erin zet.

Toevoeging: Je zou ook eens kunnen meten of de verbinding tussen de mega2560 rx0/tx0 en de usb/serieel omzetter wel aanwezig is. Wellicht een onderbreking/sluiting ergens bij 1 van de 2?

Op 26 juni 2016 10:19:00 schreef mcs51mc:
b)USB poort kiezen in menu Tools\Port:: (COM x te bepalen via Device Manager)

Op 26 juni 2016 11:25:04 schreef BVZ:
Hoeft niet. De mega hoeft ook niet aangesloten te zitten via USB.

De mega zal dus zijn voeding krijgen uit de USB programmer adapter bordje, ja, inderdaad waarom niet ?
Echter... wanneer ik de USB poort niet moet/mag instellen in de IDE, hoe zal hij dan weten welke poort hij moet gebruiken om de bootloader te branden ??

Op 26 juni 2016 11:25:04 schreef BVZ:
Toevoeging: Je zou ook eens kunnen meten of de verbinding tussen de mega2560 rx0/tx0 en de usb/serieel omzetter wel aanwezig is. Wellicht een onderbreking/sluiting ergens bij 1 van de 2?

Even alles uitgemeten vertrekkend van de header pinnen
Pin 0->RX naar RX0 op de 2560 (2) = 0R
Pin 0->RX naar RXD op de 16U2 (9) = 981R

Pin 1<-TX naar TX0 op de 2560 (3) = 0R
Pin 1<-TX naar TXD op de 16U2 (8) = 981R

Alles volgens schema, dus ok :)

Nu nog even wachten op die extra hardware … … …

Never forget the KISS principle: Keep It Stupid Simple!!

Hij zoekt gewoon naar de signature van de USBASP. Dat heb je hem namelijk onder <programmer> vertelt te doen. (Je hoeft bij je printer ook de COM-poort niet aan te geven, gewoon de juiste printer is genoeg, je PC zoekt zelf wel uit op welke USB poort die zit.)

Metingen zien er normaal uit. Dan kan het toch vrijwel niet anders dan dat die bootloader niet spoort. (Of de USB/serieel omzetter, maar die werkt in ieder geval ten dele wel, anders zou je absoluut geen COM-poort toegewezen krijgen)

Als de Tx en Rx leds knipperen bij verzenden, dan wordt er naar de juiste com port verzonden.
Als je dan niets ziet op de seriële monitor, dan kan de baudrate nog verkeerd staan.

Voordat je überhaupt iets te zien krijgt op de seriële monitor zul je toch echt eerst een programma in de mega moeten zien te krijgen. ;-)

Als je je woonplaats in je profiel invult is er misschien wel iemand in de buurt die je even op weg kan helpen.

If you want to succeed, double your failure rate.

Op 25 juni 2016 17:52:38 schreef mcs51mc:
Bedankt voor de links:
Die 2 hulpstukjes zorgen ervoor dat je via de ICSP pinnen (tussen de uP en de rest knop) de sketch in de uP krijg, right?
Je korstluit dan als het ware de USB plug.
Power komt van de ronde 2.1mm plug.

Je kan er ook een bootloader in krijgen, maar waar haal je die bootloader dan vandaan ??

Uit de Arduino fora [bijlage]
Begrijp ik het goed dat de "L" led moet pinken bij indrukken/lossen reset knop?
Wel mijn ledje blijft hardnekkig ON

Euhm L en On branden altijd, alleen als die opstart pinkt L even. Als ik mijn Arduino koud opstart (= spanning er vanaf halen) dan duurt het ongeveer 5 s voor dat het programma er is. Als ik reset indruk en los is het 1s

code:

void setup() {
  // put your setup code here, to run once:
 Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  while (Serial.available() > 0) {
    Serial.write(Serial.read());
  }
}

Uploaden naar je arduino en dan serial monitor openen baudrate op 9600 zetten en alles wat je intypt komt terug.

[Bericht gewijzigd door Damic op zondag 26 juni 2016 17:58:02 (19%)

Ben Belg sowat :D :: plaatjes zijn meestal klikbaar

Damic...

Het hele (en enige) probleem is juist dat het uploaden niet lukt.

Hallo mcs51mc,

Mag ik misschien vragen welke programma je probeert uploaden. Ik heb het even met mijn arduino mega geprobeerd. Wanneer ik de officiële "Blink_test" gebruik, gaat de L maar een korte tijd uit en tevens gaat de TX led even aan en uit.
Als je de voorbeeld code "Blink" gebruikt knippert de led wel de hele tijd.

Maar dat terzijde. Als je naar "bestand" en vervolgens op "Voorkeuren" drukt. Kan je twee vinkjes aanvinken, zie de afbeelding. Dit geeft je wat meer detail wat er mis gaat. Misschien heb je hier wat aan.

Brandon

Guess what ? :) ?

Eindelijk de USBasp programmer ontvangen.
Die is zeker te voet gekomen :(

Bootloader in de Mega
en
LED ging al aan het pinken!

Toch nog even het origineel probleem geprobeerd (Blink sketch uploaden) en geen foutmeldingen meer ontvangen.
Finaal de melding "Done uploading" op scherm en LEDje blijft flink pinken!

Bedankt aan allen en voornamelijk BVZ!!

Niet te ver weglopen hé mannen, ik kan jullie nog gebruiken in de toekomst :)

Never forget the KISS principle: Keep It Stupid Simple!!

Mooi dat het nu werkt.

Altijd fijn als iemand nog even laat weten hoe het afgelopen is. ;-)