Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
De arduino gebruikt de avr-g++ compiler, onderhuids is het gewoon C++ en alle C++ code zou direct moeten werken. Wel is het zo dat de arduino compiler er nog wel een dunne schil over heen legt om het wat makkelijker te maken.

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
Arduinos gebruiken iets wat bijzonder dicht bij C++ ligt.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
@SnowDude/Sissors

Tnx
Maar hoe en met welk materiaal hebben jullie dit geleerd ?
In de bibliotheek hebben ze niet zoveel om even door te kijken of die boeken zijn uit 1986
Wel dit boek maar die gebruikt een Mini-Mega-board (?) als hulpmiddel en ik heb dus een Uno :

Korte bespreking

Microcontrollers vinden breed toepassing in de wereld van de elektronica; professionals en hobbyisten in dit vakgebied kunnen zich met dit studieboek bekwamen in het programmeren van deze processoren. Na een algemene inleiding over de mogelijkheden van microcontrollers en software spitst de cursus zich vervolgens toe op het programmeren van AVR-processoren van Atmel in de 'C', waarbij het Mini-Mega-board als hulpmiddel wordt gebruikt. De lezer wordt goed geoefend door deze kennis toe te passen op vloeibaar-kristaldisplays, seriële data-overdracht, timers, counters en de seriële databus. Voorbeeldprojecten als een radioklok, global positioning system, pc-toetsenbord en afstandsbediening per gsm brengen de materie pas echt tot leven en stellen de cursist in staat om het geleerde daadwerkelijk in de praktijk te brengen. Een interessante aanvulling vanwege de brede toepasbaarheid in dit vakgebied. Met register. - Marc Busio

Afbeeldingslocatie: http://mom.biblion.nl/cgi-bin/frsiimg_nbd.dll/custom?frsid=974059&size=180

Ik heb al gevonden wat een mini-mega-board is maar dat worden dus extra kosten. Ik heb al uno en diverse componenten om wat uit te proberen.
http://www.elektor.nl/pro...d-(050176-72).91424.lynkx

edit: en ik vroeg me ook af of je C++ gewoon kan leren zonder allerlei externe componenten aan je computer te hangen ?

[ Voor 3% gewijzigd door kitao op 20-11-2013 19:01 ]


Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
Een atmel in C programmeren zal waarschijnlijk een stuk lastiger zijn dan een Arduino, en veel meer gericht op directe toegang tot registers.

Hoe bedoel je je edit? Je kan gewoon voor je PC programmeren in C++. Zelf heb ik het geleerd door het te doen. Oké ik heb wel wat vakken gehad op de uni, maar niet bijzonder veel. Ooit met assembly begonnen bij AVRs, wat C geprogrammeerd daarna op wat andere platformen (dan is een beetje achtergrond kennis handig), tegenwoordig programmeer ik bij de mbed omgeving (http://www.mbed.org), volledige C++ ondersteuning, en gewoon makkelijk in gebruik. Dus ik gebruik mijn kennis, kijk hoe andere het doen, en google het als ik het nodig heb.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
Sissors schreef op woensdag 20 november 2013 @ 19:08:
Een atmel in C programmeren zal waarschijnlijk een stuk lastiger zijn dan een Arduino, en veel meer gericht op directe toegang tot registers.

Hoe bedoel je je edit? Je kan gewoon voor je PC programmeren in C++. Zelf heb ik het geleerd door het te doen. Oké ik heb wel wat vakken gehad op de uni, maar niet bijzonder veel. Ooit met assembly begonnen bij AVRs, wat C geprogrammeerd daarna op wat andere platformen (dan is een beetje achtergrond kennis handig), tegenwoordig programmeer ik bij de mbed omgeving (http://www.mbed.org), volledige C++ ondersteuning, en gewoon makkelijk in gebruik. Dus ik gebruik mijn kennis, kijk hoe andere het doen, en google het als ik het nodig heb.
ik weet wel wat je bedoelt hoor met zelf proberen. In vorige posts werd gesproken over een C64. Die heb ik ook gehad, en ooit wat machinetaal in gezet en natuurlijk wat basic. Daarna een Z80 en via parallax wat Pbasic opgedaan met een Pic16F57.
Wikipedia: PBASIC
Nu dus Uno programmeertaal.
Maar het is allemaal los bij elkaar vergaard (gegoogled) en daardoor versnipperd.
Ik zou gewoon een goed boek willen vinden dat er een goede systematische inleiding in geeft en dan liefst zonder dat het nodig is om allerlei schakelingen op te bouwen.
Jij schrijft : Je kan gewoon voor je PC programmeren in C++.
Kun je dat toelichten svp ?

Acties:
  • 0 Henk 'm!

  • WVL_KsZeN
  • Registratie: Oktober 2002
  • Laatst online: 09:00
Je kunt voor zowat elke computer/processor/microcontroller programmeren in C++. Zelfs op mn c64 kan ik in C programmeren (maar dat doe ik niet, want dat is echt fokking langzaam en vreet geheugen).

C++ is gewoon een programmeertaal, de speciale dingen die voor je specifieke systeem gelden staan gewoon in libraries. Ik heb een programma in C++ geschreven dat ik zowel voor Windows (met dev-c++) als voor Arduino kan compileren, afhankelijk van de omgeving (#if defined ARDUINO) worden er andere libraries gelinked en stukje andere code gebruikt.

/me heeft eindelijk ook een icoontje.. woef.. boeien..


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
WVL_KsZeN schreef op woensdag 20 november 2013 @ 19:31:
Je kunt voor zowat elke computer/processor/microcontroller programmeren in C++. Zelfs op mn c64 kan ik in C programmeren (maar dat doe ik niet, want dat is echt fokking langzaam en vreet geheugen).

C++ is gewoon een programmeertaal, de speciale dingen die voor je specifieke systeem gelden staan gewoon in libraries. Ik heb een programma in C++ geschreven dat ik zowel voor Windows (met dev-c++) als voor Arduino kan compileren, afhankelijk van de omgeving (#if defined ARDUINO) worden er andere libraries gelinked en stukje andere code gebruikt.
Jij heb dus werkelijk nog een C64 in huis die het nog doet ? _/-\o_ (grapje)

En bedankt voor je uitleg, ik kan je wel enigzins volgen.
Maar ik zou toch liever willen terugkeren naar de hoofdvraag : wie weet een goed boek of website over C-progammeren ?
Anders dwaalt dit teveel af vh arduino-topic vrees ik.
Cursussen zijn er zat maar dan dok je al gauw honderden euro's. (ben al eerder bij dirksen in studie geweest :/
http://www.dirksen.nl/opl...n-in-c-c-combinatiecursus

edit :

@AMA

(hoi, leuk je weer te zien 8)

google zal best leuke boeken hebben. Maar die moet je dan wel eerst gaan kopen
vandaar mijn eerste vraag, wie kan een boek aanraden uit eigen ervaring ;)
crisis weet je, en die gaat momenteel ook niet aan mij voorbij helaas :/
en echt veel aanleg heb ik er niet voor, mede daarom was ik laatst afgehaakt.

[ Voor 12% gewijzigd door kitao op 20-11-2013 20:26 . Reden: reply op volgende post ]


Acties:
  • 0 Henk 'm!

  • almightyarjen
  • Registratie: Maart 2002
  • Laatst online: 07:45

almightyarjen

When does the hurting stop?

Als je een beetje aanleg hebt is programmeren iets wat je met zelfstudie (icm google) heel goed kan doen. Ik zou eerder mijn geld uitgeven aan een goed boek dan een cursus. Ik weet zo geen goed boek, maar ze moeten er wel zijn. Google weet dat vast wel ;)

Patreon | Main Youtube | Work In Progress Youtube


Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Kijk eens hier voor gratis ebooks (legaal)

http://it-ebooks.info/tag/arduino/

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • ResuCigam
  • Registratie: Maart 2005
  • Laatst online: 08:59

ResuCigam

BOFH

@kitao Ik ben zelf ook net begonnen en ik heb veel aan deze online tutorial gehad wat betreft de basics van C++. In combinatie met de Arduino referentie pagina voor specifieke Arduino functies.

@RobV Leuke link, die kende ik nog niet.

[ Voor 8% gewijzigd door ResuCigam op 20-11-2013 23:51 ]

We do what we must because we can.


  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
@RobV / ResuCigam

Dat bedoel ik !
Tnx.
Vooral die ebooks zien er goed uit, ik heb er al eentje gratis gedownload. d:)b

Ik zal even voorbeeldje geven waar ik moeite mee heb om te begrijpen. In een vorige post had ik het over een looplicht : kitao in "[Discussie] Arduino-topic"
Stukje code daarvan uit chapter 1 :
C:
1
2
3
4
5
6
7
8
9
int del=100; // sets a default delay time, 1000 milliseconds (one second)
void setup()
{
  // initialize the digital pins as outputs:
  for (int i = 2; i<=9 ; i++)
  {
    pinMode(i, OUTPUT);
  } // end of for loop
} // end of setup

Dit kan ik wel lezen en met oefening ook schrijven. Ik snap nog niet waarom regel 1 buiten de setup wordt gezet zoals wel met pin 2 t/m 9 gebeurt.
Schrijf ik bijvoorbeeld onderstaande code (en dit heb ik ook net geprobeerd) dan krijg ik foutmelding :
'del' was not declared in this scope.
C:
1
2
3
4
5
6
7
8
9
void setup()
{  
int del=100; // sets a default delay time, 1000 milliseconds (one second)
  // initialize the digital pins as outputs:
  for (int i = 2; i<=9 ; i++)
  {
    pinMode(i, OUTPUT);
  } // end of for loop
} // end of setup

Zal ongetwijfeld later in die boeken en tutorial verduidelijkt worden maar op dit moment ontgaat mij hiervan de logica. :?

  • _Durandal_
  • Registratie: Oktober 2011
  • Laatst online: 08-09 12:36
Van de Arduino website :
Variable Scope

Another important choice that programmers face is where to declare variables. The specific place that variables are declared influences how various functions in a program will see the variable. This is called variable scope.
Als ik naar de voorbeeldcode kijk op de website waar je naar linkt wordt de variable 'del' gebruikt in de methode 'loop'.

C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
int del=100; // sets a default delay time, 1000 milliseconds (one second)
void setup()
{
  // initialize the digital pins as outputs:
  for (int i = 2; i<=9 ; i++)
  {
    pinMode(i, OUTPUT);
  } // end of for loop
} // end of setup
void loop()
{
  for (int i = 2; i<=9; i++) // blink from LEDs 2 to 9
  {
    digitalWrite(i, HIGH);
    delay(del);
    digitalWrite(i, LOW);
  }
  for (int i = 8; i>=3; i--) // blink from LEDs 8 to 3
  {
    digitalWrite(i, HIGH);
    delay(del);
    digitalWrite(i, LOW);
  }
}


'setup' en 'loop' zijn twee verschillende methodes. Als je de variable 'del' buiten de methodes declareert kunnen beiden methodes ze zien. Als je hem binnen de methode 'setup' declareert dan kan 'setup' hem wel zien maar 'loop' niet.

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
Dat laatste werkt bij mij gewoon hoor?

Of gebruik jij de variabele del ook in de gewone loop, want dat gaat niet werken. ?

Je kan de declaratie in de loop() doen dan werkt hij wel

Het verschil zit in de scope van de variabele. Als je hem declareerd in een routine dan is de variabele alleen binnen die routine beschikbaar.

Als je hen buiten alle routines declareerd is het een zogenaamde global variabele en dan is hij overal beschikbaar.

[ Voor 12% gewijzigd door SnowDude op 21-11-2013 10:55 ]

All electric components run on smoke. If you let the smoke out, they won't work anymore.


  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
SnowDude schreef op donderdag 21 november 2013 @ 10:41:
Dat laatste werkt bij mij gewoon hoor?
Of gebruik jij de variabele del ook in de gewone loop?
Ja, zie post van _Durandal_
Jullie noemen dat beiden een global variable of variable scope
ik kan hier verder naar zoeken, tnx.
'setup' en 'loop' zijn twee verschillende methodes. Als je de variable 'del' buiten de methodes declareert kunnen beiden methodes ze zien. Als je hem binnen de methode 'setup' declareert dan kan 'setup' hem wel zien maar 'loop' niet.
dan is dit dus geen variable toch ? Die staat namelijk wel in de setup.
for (int i = 2; i<=9 ; i++)

edit : @_Durandal_ post hierna
Bedankt, heel goede uitleg.

[ Voor 4% gewijzigd door kitao op 21-11-2013 11:11 . Reden: reactie op volgende post ]


  • _Durandal_
  • Registratie: Oktober 2011
  • Laatst online: 08-09 12:36
kitao schreef op donderdag 21 november 2013 @ 10:56:
[...]


Ja, zie post van _Durandal_
Jullie noemen dat beiden een global variable of variable scope
ik kan hier verder naar zoeken, tnx.

[...]

dan is dit dus geen variable toch ? Die staat namelijk wel in de setup.
for (int i = 2; i<=9 ; i++)
Binnen de initialisatie van de for loop, declareer je de variabele 'i'. Dit is dus wel een variabele, alleen de scope van 'i' is beperkt tot de for loop zelf.

C++:
1
2
3
4
5
6
7
8
9
10
11
12
int del=100; // sets a default delay time, 1000 milliseconds (one second) 

int i = 2;  // Declareer variabele i

void setup() 
{ 
  // initialize the digital pins as outputs: 
  for (; i<=9; i++) // Maak gebruik van i, je hoeft hem niet opnieuw te declareren.
  { 
    pinMode(i, OUTPUT); 
  } // end of for loop 
} // end of setup 


Als je het zo schrijft is de scope weer veel groter en kunnen beiden methodes er gebruikt van maken. Omdat 'i' buiten de methodes gedeclareerd staat en dus iedereen er gebruik van kan maken noemen we het een 'globale variabele'. Wanneer 'i' binnen de methode gedeclareerd staat dan noemen we het een 'lokale variabele'.

Acties:
  • 0 Henk 'm!

  • KorneelB
  • Registratie: Mei 2008
  • Laatst online: 10-08 10:43
heren,

spark heeft op spark.io hun firmware library beschikbaar gesteld.. wie is in staat hier naar te kijken en te kijken of dit geport kan worden naar reeds bestaande arduinos?

60 TB can not be enough


Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
wat wil je poorten? afaik zijn de meeste functies van de spark software afhankelijk van de hardware

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
Deze week arduino-uno IDE weer opgestart na een paar maanden onderbreking.
Kreeg ik melding : "Er is een nieuwe versie van Arduino beschikbaar, wilt u de arduino download pagina bezoeken ?"
Pagina bekeken maar niks gedownload.
Is dat een nieuwe versie software ?
Ik heb nu 1.0.1. geloof ik en daarvoor was er een andere. Als ik van die oudere versie programma's van ging loaden dan liepen die vaak niet goed met hier en daar een bug.
Kan ik dat nu weer verwachten als ik de nieuwste versie erin zet ?

Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
Als je van een versie van voor 1.0 upgrade had je inderdaad een paar kleine compatibiliteits-problemen met een paar libraries.

De huidige officiële versie is 1.0.5 en daar zitten wel wat verbeteringen in.
Als je een mega hebt dan is het handig om de laatste bootloader te flashen want er zijn een paar bugs gefixt Ook zijn er een aantal bugs op gelost in de SPI init, en zijn er Wifi libiraries toegevoegd.

Van 1.0.1 naar 1.0.5 is geen major release upgrade en er zijn voornamelijk kleine bugs mee opgelost, meer libraries mee geleverd en er worden wat nieuwe boards ondersteund. Je zal voor zover ik kan niet niet tegen problemen aanlopen met de upgrade.

Zelf draai ik nu 1.5.4 en ik ben ook hierin nog niet tegen problemen aangelopen.

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 09-09 17:48
SnowDude schreef op vrijdag 22 november 2013 @ 23:00:

Zelf draai ik nu 1.5.4 en ik ben ook hierin nog niet tegen problemen aangelopen.
Is die een stuk hipper, of is het puur de HW-support voor Yun en Due?

Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
2 opmerkingen over die globale 'int del':

- zou je hem binnen loop definieren, dan wordt de variabele elke keer (dat loop draait) aangemaakt op de stack, geinitialiseerd en ook weer verwijderd. We hebben al zo weinig cpu cycles in een arduino, dus less is more.

- ook al wordt de variabele alleen in loop gebruikt, hij blijft altijd dezelfde waarde. Beter is dan om een constante te gebruiken (const) of beter nog #define, dan neemt ie geen RAM meer.

Kortom, globale definities/variabelen zijn voor embedded programming geen taboe.

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

Verwijderd

Na jaren met het idee gespeeld te hebben wat meer de robotica in te willen duiken heb ik eerst maar eens een aanzet gemaakt met KSP in combinatie met kOS. Dat gaat goed en is bijzonder vermakelijk, dus nu wordt het tijd om het maar eens in het echt te gaan voortzetten.

Ik heb hier een oude Duemilanove liggen, maar dat is er eentje die het nodige te verduren heeft gehad en doet af en toe een beetje raar. Prima als ontwikkelbordje en backup, maar misschien is het tijd voor wat nieuws. Ik wilde sowieso ook een lading sensoren en aansturen bestellen, want alleen LEDjes blinken wordt ook rap saai.

Als ik een beetje rondkijk verschillen de prijzen tussen het officiële spul en het eBay/DealExtreme best wat. Wat ik mij vooral afvraag is in hoeverre de betrouwbaarheid, duurzaamheid en nauwkeurigheid van dergelijke imitatiebordjes verschillen met het officiële spul.

Ik neem aan dat de bordjes gewoon doen wat ze moeten doen, maar bij bijvoorbeeld sensoren kan ik me voorstellen dat de goedkope opties minder nauwkeurig zijn dan de duurdere opties. Wat zijn jullie ervaringen daarmee?

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
@SnowDude
Bedankt voor de uitleg versie 1.0.1 en versie 1.0.5.
Tzt kan ik die dus gewoon uploaden.

@RobV
Bedankt voor de toelichting globale 'int del'.
Ik ben zelf nog niet tegen geheugengebrek arduino aangelopen maar ik kan me voorstellen dat dit wel een rol gaat spelen.
Ik heb trouwens dit boek gekozen uit jouw link en ben die aan het doornemen :
Afbeeldingslocatie: http://i.imgur.com/TDg0tdv.jpg
Goede uitleg d:)b

@Camacha,
Ik heb geen uc's bij e-bay gekocht maar wel wat ander spul zoals een plakkaat breadboards naast elkaar. Bij openmaken pakje viel er al een voedingsconnector vanaf. Kan gebeurd zijn tijdens verscheping. Maar toen ik het board ging doorfluiten was er nog iets mis. Na losschroeven bleek er onder het board een hele geleidingsstrip te ontbreken. Dat kan natuurlijk nooit tijdens transport zijn gebeurd. Dat is gewoon een fabricagefout. Voor de rest kan ik het gewoon gebruiken, maar stel, ik zou hem terug willen sturen. Dan heb je volgens mij een hoop gedoe daaraan richting China.

Wat ik wil zeggen eigenlijk, je zal een beetje geluk moeten hebben maar je hoeft er volgens mij ook niet vreemd van op te kijken als het minder stevig is als het spul bij een goede dealer.

Acties:
  • 0 Henk 'm!

  • KorneelB
  • Registratie: Mei 2008
  • Laatst online: 10-08 10:43
SnowDude schreef op vrijdag 22 november 2013 @ 16:31:
wat wil je poorten? afaik zijn de meeste functies van de spark software afhankelijk van de hardware
eigenlijk wil ik simpelweg mijn arduino's aansluiten op de spark cloud.. heb zelf een 10 stuks spark arduino's onderweg, maar die spark cloud, een centrale arduino server , klinkt wel heel erg tof... dat maakt heel mijn huis automatisering wel super makkelijk..

60 TB can not be enough


Acties:
  • 0 Henk 'm!

  • Dacuuu
  • Registratie: Maart 2009
  • Laatst online: 07:11
Wat verbruikt een arduino nano aan stroom?

Ik vind overal wel wat je per poort maximaal mag trekken, maar ik vind nergens info wat de nano verbruikt als je puur alleen de nano aan het netstroom hangt.

http://www.arduino.cc/en/Main/ArduinoBoardNano

Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
Dit is van de atmel zelf:

SpeedVCCtypmax
Active 1 MHz2V0.30.5 mA
Active 4 MHz3V1.72.5 mA
Active 8 MHz5V5.29 mA
Idle 1 MHz2V0.040.15 mA
Idle 4 MHz3V0.30.7 mA
Idle 8 MHz5V1.22.7 mA


De USB chip gebruikt ook 15mA tijdens gebruik en 70 uA in idle

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • Mars Warrior
  • Registratie: Oktober 2003
  • Laatst online: 17-09 18:48

Mars Warrior

Earth, the final frontier

freak1 schreef op zaterdag 23 november 2013 @ 11:11:
[...]
eigenlijk wil ik simpelweg mijn arduino's aansluiten op de spark cloud.. heb zelf een 10 stuks spark arduino's onderweg, maar die spark cloud, een centrale arduino server , klinkt wel heel erg tof... dat maakt heel mijn huis automatisering wel super makkelijk..
Als de API voor de Spark Cloud beschikbaar is, dan lijkt me dit zondermeer mogelijk: het is dan niks anders dan de juiste (REST ??) berichtjes sturen...

Verder hebben ze ook belooft om op je eigen server de Spark Cloud te draaien zodat je alles zelf in de hand hebt: "If you want the simplicity of the Cloud but you want it on your own server, we'll be releasing an open source version of the Cloud designed for quick and easy deployment."

Als laatste is de programmeeromgeving Arduino compatible, dus zonder ook maar iets gezien te hebben zou je dan kunnen verwachten dat de Spark Cloud API/Library dus ook is over te zetten.
Het enige probleem dat je mogelijk mag verwachten is tekort aan RAM/ROM voor de gewone Atmega's en dat je minimaal een 644P/1284P/2560 moet hebben...

[ Voor 28% gewijzigd door Mars Warrior op 25-11-2013 15:57 ]

Material 3 Thema's voor HA | Swiss Army Knife custom card voor HA | AmoebeLabs


Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op zaterdag 23 november 2013 @ 10:15:Als ik een beetje rondkijk verschillen de prijzen tussen het officiële spul en het eBay/DealExtreme best wat. Wat ik mij vooral afvraag is in hoeverre de betrouwbaarheid, duurzaamheid en nauwkeurigheid van dergelijke imitatiebordjes verschillen met het officiële spul.

Ik neem aan dat de bordjes gewoon doen wat ze moeten doen, maar bij bijvoorbeeld sensoren kan ik me voorstellen dat de goedkope opties minder nauwkeurig zijn dan de duurdere opties. Wat zijn jullie ervaringen daarmee?
Zijn er andere mensen met ervaringen met bordjes en sensoren van Deal Extreme en dergelijke websites? :)

Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 09-09 17:48
ik heb alleen maar chinese arduino's. Werken allemaal prima.

Heb weleens een partij ultrabillige witte LED's gekocht op Ebay, maar die bleken ook een zeer korte levensduur te hebben. Heb die nu vervangen door ietsje minder billige (diffuse) LED's en die lijken het tot nu toe beter vol te houden. Volgens mij kun je ditsoort dingen het best een beetje gokken, want als je iets uit een europese shop bestelt is het al gauw 10 keer zo duur, en is het maar de vraag of hun het ook niet gewoon op ebay bij de eerste de beste chinees ingekocht hebben.

als het gaat om gevoelige sensoren e.d. heb ik geen ervaring. Heb wel een paar DS18B20's in mijn elektrodoos maar dat waren free samples van de fabrikant, dus geen namaak.

Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
Mars Warrior schreef op maandag 25 november 2013 @ 15:53:
[...]

Als de API voor de Spark Cloud beschikbaar is, dan lijkt me dit zondermeer mogelijk: het is dan niks anders dan de juiste (REST ??) berichtjes sturen...

Verder hebben ze ook belooft om op je eigen server de Spark Cloud te draaien zodat je alles zelf in de hand hebt: "If you want the simplicity of the Cloud but you want it on your own server, we'll be releasing an open source version of the Cloud designed for quick and easy deployment."

Als laatste is de programmeeromgeving Arduino compatible, dus zonder ook maar iets gezien te hebben zou je dan kunnen verwachten dat de Spark Cloud API/Library dus ook is over te zetten.
Het enige probleem dat je mogelijk mag verwachten is tekort aan RAM/ROM voor de gewone Atmega's en dat je minimaal een 644P/1284P/2560 moet hebben...
De programmeer omgeving is C++ compatible, met ondersteuning voor wat specifieke arduino commando's. De processor is van de Sparks is een ARM en geen Atmega

Je vergeet ook even dat er een wifi interface op moet, en om de arduino te programmeren vanuit de sparc cloud moet er ook nog een stuk spi memory op.

Het zal een stuk makkelijker en goedkoper zijn om direct met Spark Cores te beginnen
Verwijderd schreef op maandag 25 november 2013 @ 16:00:
[...]

Zijn er andere mensen met ervaringen met bordjes en sensoren van Deal Extreme en dergelijke websites? :)
Ik gebruik al tijden de nano's van DX. Het enige nadeel is dat deze standaard geen bootloader hebben. Die moet je dus eerst er op zetten. Dit is makkelijk te doen, met een bestaande arduino, je kan daar de porgrammer sketch in laden en dan via deze de nieuwe bootloader schrijven.

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
SnowDude schreef op maandag 25 november 2013 @ 16:24:

Ik gebruik al tijden de nano's van DX. Het enige nadeel is dat deze standaard geen bootloader hebben. Die moet je dus eerst er op zetten. Dit is makkelijk te doen, met een bestaande arduino, je kan daar de porgrammer sketch in laden en dan via deze de nieuwe bootloader schrijven.
Dat komt mooi uit, ik wou net iets vragen over bootloaders.
Ik heb dus een stand-alone atm328 met kristal, 2 condensators en een switch met weerstand.
Nu dacht ik slim te zijn vandaag en ik haalde uit de uno de chip en zette er de standalone erin.
Sketch Blink opgeladen, kreeg ik deze melding :
avrdude: stk500_getsync(): not in sync: resp=0x00
Als die chips hetzelfde zijn dan zou je ze toch gewoon moeten kunnen uitwisselen en allebei op dezelfde manier moeten kunnen programmeren ? :?

Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
Jij hebt duidelijk nog geen bootloader op de stand alone staan.

Je moet dit even lezen:

http://arduino.cc/en/Tutorial/ArduinoToBreadboard

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
SnowDude schreef op maandag 25 november 2013 @ 16:52:
Jij hebt duidelijk nog geen bootloader op de stand alone staan.

Je moet dit even lezen:

http://arduino.cc/en/Tutorial/ArduinoToBreadboard
Tnx
Als ik me goed herinner heb ik op die manier mijn standalone (SA) al eerder geprogrammeerd. Er staat hoe dan ook al een programma in omdat ik die SA gebruik voor een klokje.
Ik had verwacht dat na 1x bootloaden de SA gewoon uitwisselbaar zou worden.

Acties:
  • 0 Henk 'm!

  • KorneelB
  • Registratie: Mei 2008
  • Laatst online: 10-08 10:43
SnowDude schreef op maandag 25 november 2013 @ 16:24:
[...]

De programmeer omgeving is C++ compatible, met ondersteuning voor wat specifieke arduino commando's. De processor is van de Sparks is een ARM en geen Atmega

Je vergeet ook even dat er een wifi interface op moet, en om de arduino te programmeren vanuit de sparc cloud moet er ook nog een stuk spi memory op.

Het zal een stuk makkelijker en goedkoper zijn om direct met Spark Cores te beginnen
naja ik heb dus een berg mega's met ethernet aansluiting inclusief PoE.. die wil ik graag aansluiten op de spark cloud..
heb je interesse daaraan mee te werken?

60 TB can not be enough


Acties:
  • 0 Henk 'm!

  • ResuCigam
  • Registratie: Maart 2005
  • Laatst online: 08:59

ResuCigam

BOFH

SnowDude schreef op maandag 25 november 2013 @ 16:52:
Jij hebt duidelijk nog geen bootloader op de stand alone staan.

Je moet dit even lezen:

http://arduino.cc/en/Tutorial/ArduinoToBreadboard
Vraagje: Ik kom bij jouw link het volgende tegen:
Note that these techniques only work with the Arduino Duemilanove w/ an ATmega328, not the Arduino Uno (or older Arduino boards w/ an ATmega168).

Waarom zou dit niet werken met een Uno?

We do what we must because we can.


Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 09-09 17:48
kitao schreef op maandag 25 november 2013 @ 17:01:
[...]


Tnx
Als ik me goed herinner heb ik op die manier mijn standalone (SA) al eerder geprogrammeerd. Er staat hoe dan ook al een programma in omdat ik die SA gebruik voor een klokje.
Ik had verwacht dat na 1x bootloaden de SA gewoon uitwisselbaar zou worden.
Je moet wel de goeie bootloader voor de goeie arduino erop hebben staan. Als je bijv. de bootloader van de Duemilanove erop hebt staan gaat hij niet werken op een Uno-bord. Ook moet het kristal natuurlijk overeenkomen.

Acties:
  • 0 Henk 'm!

Verwijderd

Begrijp ik het goed dat wanneer je een Arduino zou hebben die je maar één keer wilt flashen (denk aan een embeded bordje o.i.d.) je geen bootloader nodig hebt? Als je regelmatig van programma wilt wisselen is het wat meer gedoe en dus wel handig, omdat je anders steeds met een andere Arduino aan de slag moet. Zoiets?

[ Voor 19% gewijzigd door Verwijderd op 25-11-2013 17:11 ]


Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 09-09 17:48
Verwijderd schreef op maandag 25 november 2013 @ 17:07:
Begrijp ik het goed dat wanneer je een Arduino zou hebben die je maar één keer wilt flashen (denk aan een embeded bordje o.i.d.) je geen bootloader nodig hebt? Als je regelmatig van programma wilt wisselen is het wat meer gedoe en dus wel handig, omdat je anders steeds met een andere Arduino aan de slag moet. Zoiets?

Hoe werkt dat fysiek, met de ene Arduino de andere flashen?
Je hebt nooit een bootloader nodig als je een ICSP gebruikt. Dan kun je je code compileren naar native Atmega-code en direct uploaden, zonder tussenkomst van enige arduino software.

Als je de ene arduino gebruikt om de andere te programmeren, dan moet je eerst op die eerste arduino een softwarematige ICSP laden (die zit standaard als voorbeeldscript bij de Arduino IDE). Je gebruikt dan dus gewoon de eerste arduino als ICSP.

-edit-
http://arduino.cc/en/Hacking/Bootloader hier meer info over de arduino bootloader.
Overigens is er niet echt een reden om zonder de bootloader te willen werken of de bootloader te verwijderen. Dat heeft alleen nut als je echt die laatste KB's geheugen nodig hebt, of gefrusteerd raakt van de 3 seconden opstarttijd.

[ Voor 17% gewijzigd door mcDavid op 25-11-2013 17:18 ]


Acties:
  • 0 Henk 'm!

Verwijderd

mcDavid schreef op maandag 25 november 2013 @ 17:12:
Je hebt nooit een bootloader nodig als je een ICSP gebruikt. Dan kun je je code compileren naar native Atmega-code en direct uploaden, zonder tussenkomst van enige arduino software.
Heb je het nu over de Arduino via USB programmeren of juist over via de ene Arduino een andere Arduino programmeren?

Het wordt me er niet duidelijker op wanneer je nu een bootloader nodig hebt en wanneer niet (en wat dat ding dus doet) :)

Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
De belangrijkste functie van de bootloader is dat je de Arduino kan programmeren via de serial (USB) interface

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
@mcDavid
Tot nu toe heb ik alleen maar 1 uno en 1 SA dus hoe zou er iets anders op kunnen staan ?
Maar goed, ik ben gisteren flink met soldeerbout en verkeerde aansluitingen tekeer gegaan dus wie weet is er wat geknapt. Ik ben nog aan het testen.

@Camacha,
Ik heb een linkje voor je.
kitao in "[Discussie] Arduino-topic"
Je kunt ook verder zoeken op bootloaden Arduino, bare bone arduino, stand-alone arduino, break-outboard etc.
Komt er op neer dat er verschillende methodes zijn. Ik heb de goedkooste genomen zonder usb of breakout.

Acties:
  • 0 Henk 'm!

Verwijderd

SnowDude schreef op maandag 25 november 2013 @ 17:17:
De belangrijkste functie van de bootloader is dat je de Arduino kan programmeren via de serial (USB) interface
Ja, dan snap ik het toch en is het volgens mij wat ik hierboven zeg; wil je gemakkelijk kunnen herprogrammeren via USB heb je een bootloader nodig, wil je bijvoorbeeld maar één keer programmeren omdat je hem voor een embedded toepassing gebruikt kan je dat Arduino naar Arduino doen en heb je geen bootloader nodig.

Dit gaat allebei even uit van 'gewone' bordjes die al in elkaar zitten.

Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
kitao,

gewoon de SA via spi aansluiten aan de uno, zoals in die link die ik eerde postte.

Dan de programmer sketch in de UNO zetten, en daarna onder Tools de juiste programmer kiezen.

Dan heb je twee mogelijkheden:

1: Je zet de bootloader op de SA
2: Je opent een sketch en die schrijf je direct naar de SA

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 09-09 17:48
Verwijderd schreef op maandag 25 november 2013 @ 17:16:
[...]

Heb je het nu over de Arduino via USB programmeren of juist over via de ene Arduino een andere Arduino programmeren?

Het wordt me er niet duidelijker op wanneer je nu een bootloader nodig hebt en wanneer niet (en wat dat ding dus doet) :)
Over het programmeren in zijn algemeen.

Het hart van de Arduino is de Atmega328, dat had je waarschijnlijk al begrepen. Die chip is natuurlijk gewoon te programmeren, ook als je hem voor iets niet-arduino gerelateerds gebruikt. Je hebt dan alleen een extern stukje hardware (een "in-cicuit serial programmer", ICSP) nodig om de code erop te krijgen.

Als je een Arduino koopt, heeft iemand anders al (met zo'n ICSP) de arduino-bootloader op de chip gezet. De arduino-bootloader is een programmatje dat de Atmega in staat stelt zichzelf te programmeren, zonder tussenkomst van een ICSP. Dat maakt het wel lekker makkelijk voor het hobby-gebruik waar de Arduino voor bedoeld is.

Een ICSP heb je in verschillende vormen. Je kunt ze zo kant-en-klaar kopen, maar je kunt ook een arduino programmeren als ICSP, en dat is dus wat je doet als je "de ene arduino met de andere programmeert".

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
SnowDude schreef op maandag 25 november 2013 @ 17:25:

Dan heb je twee mogelijkheden:

1: Je zet de bootloader op de SA
2: Je opent een sketch en die schrijf je direct naar de SA
Aha,
Ik zou die SA dus geprogrammeerd kunnen hebben en dat er desondanks toch nog geen bootloader op staat ?
Dat verklaart het dan.

Acties:
  • 0 Henk 'm!

Verwijderd

Dat maakt het samen met het bericht van SnowDude een stuk duidelijk :) Bedankt!

[ Voor 68% gewijzigd door Verwijderd op 25-11-2013 17:37 ]


Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 09-09 17:48
kitao schreef op maandag 25 november 2013 @ 17:29:
[...]


Aha,
Ik zou die SA dus geprogrammeerd kunnen hebben en dat er desondanks toch nog geen bootloader op staat ?
Dat verklaart het dan.
Dat kan en dat is ook het meest waarschijnlijke ja.

Als je een standalone chip hebt, heeft het niet zoveel zin om daar een Arduino Bootloader op te zetten, aangezien die bootloader alleen werkt in samenwerking met de USB/Serial converter op de Arduino. Een Arduino bootloader op een ATMega chip zetten heeft dus alleen zin als je van plan bent die ATMega daarna ook fysiek op een Arduino te zetten.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
Het zit zo mcDavid,
Ik heb een SA op een voetje op een zelfgemaakt printje staan. Daar is iets mis mee, dus ik wou de SA opnieuw programma in zetten. Aangezien ik geen extra cond. en kristal in huis heb en de oorspronkelijke al vast gesoldeerd zijn wou ik eigenlijk mijn uno-chip verwijderen, de SA erop zetten en die dan gewoon met de IDE opnieuw programmeren.
Dat gaat dus niet want er blijkt geen bootloader op te zitten.
Kortom, ik moet even geduld hebben totdat ik wat onderdelen in huis heb.
Maar bedankt voor de uitleg, en Snow natuurlijk ook. :)

Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 09-09 17:48
Misschien kun je 'm programmeren terwijl hij op de print zit?

Of misschien heb je nog een 3e Arduino (in welke verschijningsvorm dan ook)? Die je als ICSP zou kunnen gebruiken?

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
mcDavid schreef op maandag 25 november 2013 @ 18:27:
Misschien kun je 'm programmeren terwijl hij op de print zit?
yep, dat is ook een idee. Morgen wat extra aansluitingen solderen.

Acties:
  • 0 Henk 'm!

  • Promy
  • Registratie: Oktober 2002
  • Laatst online: 16-09 22:14
Kan er me iemand zeggen of een arduino nano (atmega328 @16MHz) voldoende krachtig is om

- continu een analoge poort in de gaten te houden en het signaal (bittrain) op te nemen (van de domotica)
- de I2C bus in de gaten te houden als slave
- op vraag van de I2C bus bittrains op de analoge bus te zetten

dit in combinatie met de zaken van openenergymonitor: http://openenergymonitor.org/
- continu 4 analoge poorten uitlezen en berekeningen hierop uitvoeren om verbruik te berekenen

Kan 1 arduino nano dit aan? of splits ik het beter op met een dedicated per onderdeel

Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 09-09 17:48
Ligt aan de berekeningen, maar waarschijnlijk wel ja. Kom je vanzelf achter als je het probeert.

Een Nano is iig niet minder krachtig dan een fullsize Arduino ofzo.

Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
[al beantwoord]

[ Voor 94% gewijzigd door RobV op 25-11-2013 19:27 ]

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
kitao schreef op maandag 25 november 2013 @ 18:17:
Het zit zo mcDavid,
Ik heb een SA op een voetje op een zelfgemaakt printje staan. Daar is iets mis mee, dus ik wou de SA opnieuw programma in zetten. Aangezien ik geen extra cond. en kristal in huis heb en de oorspronkelijke al vast gesoldeerd zijn wou ik eigenlijk mijn uno-chip verwijderen, de SA erop zetten en die dan gewoon met de IDE opnieuw programmeren.
Dat gaat dus niet want er blijkt geen bootloader op te zitten.
Kortom, ik moet even geduld hebben totdat ik wat onderdelen in huis heb.
Maar bedankt voor de uitleg, en Snow natuurlijk ook. :)
zie de link die ik eerder poste, kopje "Minimal Circuit (Eliminating the External Clock)"

Afbeeldingslocatie: http://arduino.cc/en/uploads/Tutorial/SimpleBreadboardAVR.png :)
Promy schreef op maandag 25 november 2013 @ 19:13:
Kan er me iemand zeggen of een arduino nano (atmega328 @16MHz) voldoende krachtig is om

- continu een analoge poort in de gaten te houden en het signaal (bittrain) op te nemen (van de domotica)
- de I2C bus in de gaten te houden als slave
- op vraag van de I2C bus bittrains op de analoge bus te zetten

dit in combinatie met de zaken van openenergymonitor: http://openenergymonitor.org/
- continu 4 analoge poorten uitlezen en berekeningen hierop uitvoeren om verbruik te berekenen

Kan 1 arduino nano dit aan? of splits ik het beter op met een dedicated per onderdeel
Waarom lees je de bittrain uit met de analoge bus? Dat kan makkelijker met een digitale poort, en eventueel met een interrupt.

Verder zou ik niet zien waarom dit niet zou kunnen, 16MHz is niet bepaald weinig he, mijn eerste PC was maar 4MHz :+ De beperkende factor is eerder het beschikbare geheugen. Maar zolang je geen TCP ip stacks gaat laden en geen grafisch display aanstuurt dan is het echt ruim voldoende.

Ik neem aan dat alle gevens via de i2c bus wil versturen?

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • Promy
  • Registratie: Oktober 2002
  • Laatst online: 16-09 22:14
SnowDude schreef op maandag 25 november 2013 @ 19:40:
[...]

zie de link die ik eerder poste, kopje "Minimal Circuit (Eliminating the External Clock)"

[afbeelding] :)

[...]

Waarom lees je de bittrain uit met de analoge bus? Dat kan makkelijker met een digitale poort, en eventueel met een interrupt.

Verder zou ik niet zien waarom dit niet zou kunnen, 16MHz is niet bepaald weinig he, mijn eerste PC was maar 4MHz :+ De beperkende factor is eerder het beschikbare geheugen. Maar zolang je geen TCP ip stacks gaat laden en geen grafisch display aanstuurt dan is het echt ruim voldoende.

Ik neem aan dat alle gevens via de i2c bus wil versturen?
foutje: ik bedoelde natuurlijk een digitale poort voor de bittrain 8)7 en er hangt inderdaad een interrupt aan.
Ik wil inderdaad van alles de laatste waarde bewaren en versturen via de I2C bus en geen verder grafische zaken of tcp/IP

Ga ik dus ff proberen als de laatste onderdelen (9V ac/ac adapter voor de voltagemeting) binnen zijn

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
ResuCigam schreef op maandag 25 november 2013 @ 17:05:
[...]
Vraagje: Ik kom bij jouw link het volgende tegen:
Note that these techniques only work with the Arduino Duemilanove w/ an ATmega328, not the Arduino Uno (or older Arduino boards w/ an ATmega168).


Waarom zou dit niet werken met een Uno?
Ben net 2 uur bezig geweest maar het werkt dus niet. (bij mij dan)
Eerste uur was ik al kwijt om in het menu Extra=> Board het veldje "ATmega328 on a breadboard (8 MHz internal clock" tevoorschijn te toveren en hoe dat gelukt is kan ik niet meer navertellen.
Maar goed, die staat er dus in, alles opgebouwd volgens tekening, maar helaas, nada resultaat. :|
(ps, ik heb trouwens een uno met atm328, versie 1.0.1)

Volgende stap gaat dan worden om het met kristal te proberen maar dan moet ik even mijn print aanpassen.

edit: print aangepast
werkt nu maar dat is niet gekomen door de arduino-site te volgen.
Ik heb deze site gevolgd : http://blog.biophysengr.n...es-to-atmega386p-pre.html
zie voor meer bijzonderheden : kitao in "[Discussie] Arduino-topic"

waar precies het verschil in zit weet ik niet maar wie dat wil en kan uitleggen is welkom. 8)

[ Voor 20% gewijzigd door kitao op 26-11-2013 08:01 . Reden: toevoeging ]


Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
kitao schreef op dinsdag 26 november 2013 @ 06:29:
[...]


Ben net 2 uur bezig geweest maar het werkt dus niet. (bij mij dan)
Eerste uur was ik al kwijt om in het menu Extra=> Board het veldje "ATmega328 on a breadboard (8 MHz internal clock" tevoorschijn te toveren en hoe dat gelukt is kan ik niet meer navertellen.
Maar goed, die staat er dus in, alles opgebouwd volgens tekening, maar helaas, nada resultaat. :|
(ps, ik heb trouwens een uno met atm328, versie 1.0.1)
Ik wel ;)
Je moet je boards.txt openen en dan deze data er onder plakken: http://arduino.cc/en/uploads/Tutorial/Breadboard.zip

En dan de software even opnieuw starten.
Volgende stap gaat dan worden om het met kristal te proberen maar dan moet ik even mijn print aanpassen.

edit: print aangepast
werkt nu maar dat is niet gekomen door de arduino-site te volgen.
Ik heb deze site gevolgd : http://blog.biophysengr.n...es-to-atmega386p-pre.html
zie voor meer bijzonderheden : kitao in "[Discussie] Arduino-topic"

waar precies het verschil in zit weet ik niet maar wie dat wil en kan uitleggen is welkom. 8)
Ik ook niet want voor zover ik zie heb je gewoon het zelfde schema gebruikt als bij "Burning the Bootloader" op de Arduino site.

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
SnowDude schreef op dinsdag 26 november 2013 @ 08:59:

Ik ook niet want voor zover ik zie heb je gewoon het zelfde schema gebruikt als bij "Burning the Bootloader" op de Arduino site.
Ik heb het gevonden. Ik wou net m'n post editten toen ik jouw reactie zag.
Wat ik fout deed was om niet eerst uit het menu 'Bestand => Voorbeelden => ArduinoISP" op te laden.
Bij de Arduino-site uitleg is me dit ontgaan (op dat moment zei me dat ook niks) en op die andere site werd het met plaatjes uitgelegd.
Zonet geprobeerd de StandAlone (SA) te bootloaden volgens de Arduino-site instructies en met de externe kristalconfiguratie en nu lukte het wel.

Ook lukt het nu om de 'boardchip' rechtstreeks te vervangen met de SA-chip en die op die manier te programmeren. (bijv. met blink)

Tja, kwestie van goed lezen maar uitleg had wel iets uitgebreider mogen zijn.
Bedankt voor je hulp SnowDude.
Over dat stukje zip-file kom ik mss later op terug.

Acties:
  • 0 Henk 'm!

  • Piepersnijder
  • Registratie: December 2009
  • Niet online
SnowDude schreef op vrijdag 22 november 2013 @ 23:00:

De huidige officiële versie is 1.0.5 en daar zitten wel wat verbeteringen in.
Als je een mega hebt dan is het handig om de laatste bootloader te flashen want er zijn een paar bugs gefixt Ook zijn er een aantal bugs op gelost in de SPI init, en zijn er Wifi libiraries toegevoegd.
Welke bugs zijn er gefixt?
Ik gebruik een mega in combinate met een ethernetshield. Ik heb wat problemen met het lezen van een SD card. Hebben deze bugs hier mee te maken?

Hoe kan ik een bootloader flashen?

Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
De bootloader heeft geen invloed op de communicatie met de SD card. En dat was opgelost in versie 1.0.2

Wat voor problemen heb je eigenlijk?

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
Is dat niet net in de voorgaande posts naar voren gekomen ?
Tenzij je iets anders bedoelt natuurlijk :)

Ik heb dit opgebouwd, een standalone atm328 op uno-bordje gezet, een rtc en een display met ingebouwde max7221.
Dit moet dus op print komen.
Afbeeldingslocatie: http://s24.postimg.org/niamncj3l/klok_uno_003.jpg
klik om te vergroten
Nu heb ik daar een programma voor :
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
// Simple clock using DS1307 RTC chip, Arduino and 
// MAX7219 LED display driver 
// more information at http://wp.me/pQmjR-BK 
#include "Wire.h" 
#define DS1307_I2C_ADDRESS 0x68 
#include "LedControl.h" // need the library 
byte second, minute, hour, dayOfWeek, dayOfMonth, month, year; 
float t=0; 
int a,b; 
LedControl lc=LedControl(12,11,10,1); // lc is our object 
// pin 12 is connected to the MAX7219 pin 1 
// pin 11 is connected to the CLK pin 13 
// pin 10 is connected to LOAD pin 12 
// 1 as we are only using 1 MAX7219 
// Convert normal decimal numbers to binary coded decimal 
byte decToBcd(byte val) 
{ 
return ( (val/10*16) + (val%10) ); 
} 
// Convert binary coded decimal to normal decimal numbers 
byte bcdToDec(byte val) 
{ 
return ( (val/16*10) + (val%16) ); 
} 
// 1) Sets the date and time on the ds1307 
// 2) Starts the clock 
// 3) Sets hour mode to 24 hour clock 
// Assumes you're passing in valid numbers 
void setDateDs1307(byte second, // 0-59 
byte minute, // 0-59 
byte hour, // 1-23 
byte dayOfWeek, // 1-7 
byte dayOfMonth, // 1-28/29/30/31 
byte month, // 1-12 
byte year) // 0-99 
{ 
Wire.beginTransmission(DS1307_I2C_ADDRESS); 
Wire.write(0); 
Wire.write(decToBcd(second)); // 0 to bit 7 starts the clock 
Wire.write(decToBcd(minute)); 
Wire.write(decToBcd(hour)); 
Wire.write(decToBcd(dayOfWeek)); 
Wire.write(decToBcd(dayOfMonth)); 
Wire.write(decToBcd(month)); 
Wire.write(decToBcd(year)); 
Wire.write(0x10); // sends 0x10 (hex) 00010000 (binary) to control register - turns on square wave 
Wire.endTransmission(); 
} 
// Gets the date and time from the ds1307 
void getDateDs1307(byte *second, 
byte *minute, 
byte *hour, 
byte *dayOfWeek, 
byte *dayOfMonth, 
byte *month, 
byte *year) 
{ 

// Reset the register pointer 
Wire.beginTransmission(DS1307_I2C_ADDRESS); 
Wire.write(0); 
Wire.endTransmission(); 
Wire.requestFrom(DS1307_I2C_ADDRESS, 7); 
// A few of these need masks because certain bits are control bits 
*second = bcdToDec(Wire.read() & 0x7f); 
*minute = bcdToDec(Wire.read()); 
*hour = bcdToDec(Wire.read() & 0x3f); // Need to change this if 12 hour am/pm 
*dayOfWeek = bcdToDec(Wire.read()); 
*dayOfMonth = bcdToDec(Wire.read()); 
*month = bcdToDec(Wire.read()); 
*year = bcdToDec(Wire.read()); 
} 
void setup() 
{ 
// the zero refers to the MAX7219 number, it is zero for 1 chip 
lc.shutdown(0,false);// turn off power saving, enables display 
lc.setIntensity(0,8);// sets brightness (0~15 possible values) 
lc.clearDisplay(0);// clear screen 
byte second, minute, hour, dayOfWeek, dayOfMonth, month, year; 
Wire.begin(); 
// Change these values to what you want to set your clock to. 
// You probably only want to set your clock once and then remove 
// the setDateDs1307 call. 
second = 0; 
minute = 12; 
hour = 17; 
dayOfWeek = 3; 
dayOfMonth = 26; 
month = 11; 
year = 13; 
setDateDs1307(second, minute, hour, dayOfWeek, dayOfMonth, month, year); 
} 
void loop() 
{ 
lc.setChar(0,2,'-',false); 
lc.setChar(0,5,'-',false); 
getDateDs1307(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year); 
if (hour<10) 
{ 
lc.setDigit(0,7,0,false); 
lc.setDigit(0,6,hour,false); 
} else if (hour>=10) 
{ 
t=hour/10; 
a=int(t); 
lc.setDigit(0,7,a,false); 
t=hour%10; 
lc.setDigit(0,6,t,false); 
} 
if (minute<10) 
{ 
lc.setDigit(0,4,0,false); 
lc.setDigit(0,3,minute,false); 
} else if (minute>=10) 
{ 
t=minute/10; 
a=int(t); 
lc.setDigit(0,4,a,false); 
t=minute%10; 
lc.setDigit(0,3,t,false); 
} 
if (second<10) 
{ 
lc.setDigit(0,1,0,false); 
lc.setDigit(0,0,second,false); 
} else if (second>=10) 
{ 
t=second/10; 
a=int(t); 
lc.setDigit(0,1,a,false); 
t=second%10; 
lc.setDigit(0,0,t,false); 
} 
}

Als ik dit upload dan pakt die natuurlijk steeds de tijd die in het programma staat ingevuld dus dat schiet niet op.
Nu staat er in regel 81 t/m 83 dat ik de setDateDs1307 call moet verwijderen dan gebeurt dat niet.
Ik heb regel 29 tot tekst gemaakt met // en daarna 29 t/m 36 maar ik blijf foutmeldingen krijgen.
Kan iemand even aanduiden hoe ik die setdate moet verwijderen svp ?
Ik ben nog bezig C te leren dus ik kom hier even niet uit.
Tnx

Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
af blijven van 29 t/m 36 je moet alleen voor 91 een //

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • Piepersnijder
  • Registratie: December 2009
  • Niet online
Als ik een ethernetshield op een Uno plaats, kan ik de sd card benaderen. Daar had ik een webpagina op staan. Als ik de ethernetshield op een Mega plaats, is de sd card niet te benaderen.

Dit heb ik nu opgelost door de webpagina in de flash memory te zetten met PROGMEM maar dat zou niet nodig moeten zijn.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
SnowDude schreef op dinsdag 26 november 2013 @ 19:11:
je moet alleen voor 91 een // zetten
ik geloof je hoor
ik zeg erbij dat de gebruikte componenten met mijn gestuntel de afgelopen dagen flink te lijden hebben gehad.
Met het oorspronkelijke programma loopt de klok een tijd goed, maar dan ineens na een uur of paar uur is alles weg. Zo heb ik nu een paar keer geprobeerd op te laden met regel 91 verwijderd maar dan doet die dus niks of heel raar. Gereset, stroom eraf, geduldig gewacht maar geen klok.
Geeft niet, ik heb er genoeg van geleerd, ik ga weer eens verder met wat anders.
Tnx.

EDIT

zonet alle arduino-ide's afgesloten en nogmaals geprobeerd.
nu pakt die wel ! :D

[ Voor 7% gewijzigd door kitao op 26-11-2013 20:30 ]


Acties:
  • 0 Henk 'm!

  • Raven
  • Registratie: November 2004
  • Niet online
Piepersnijder schreef op dinsdag 26 november 2013 @ 19:55:
Als ik een ethernetshield op een Uno plaats, kan ik de sd card benaderen. Daar had ik een webpagina op staan. Als ik de ethernetshield op een Mega plaats, is de sd card niet te benaderen.

Dit heb ik nu opgelost door de webpagina in de flash memory te zetten met PROGMEM maar dat zou niet nodig moeten zijn.
Misschien http://forum.arduino.cc/index.php/topic,146187.0.html ? Daar is ook iemand waarbij het op een Arduino wel werkt en ander model Arduino niet.

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


Acties:
  • 0 Henk 'm!

  • Piepersnijder
  • Registratie: December 2009
  • Niet online
Bedankt voor je reactie.
Inderdaad, hetzelfde probleem.
Ik zal eens proberen of de oplossing die genoemd is inderdaad werkt.

Acties:
  • 0 Henk 'm!

  • RAdri
  • Registratie: Oktober 2012
  • Laatst online: 15-09 22:00
verschil SD kaart benaderen Uno - Mega
Het is nodig rekening te houden met een verschil in de pin nummering
Zie hier voor de pagina van de SD lib:
http://arduino.cc/en/Reference/SD

quote (arduino website):
"The communication between the microcontroller and the SD card uses SPI, which takes place on digital pins 11, 12, and 13 (on most Arduino boards) or 50, 51, and 52 (Arduino Mega). Additionally, another pin must be used to select the SD card. This can be the hardware SS pin - pin 10 (on most Arduino boards) or pin 53 (on the Mega) - or another pin specified in the call to SD.begin(). Note that even if you don't use the hardware SS pin, it must be left as an output or the SD library won't work. "

Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
Zo gebruik ik het op mijn Arduino Mega met ethernet shield.

C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
//SD file listing for Arduino Mega with Ethernet Shield

#include <SD.h>

File root;

void setup()
{
  // Open serial communications and wait for port to open:
  Serial.begin(38400);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  Serial.print("Initializing SD card...");
  // On the Ethernet Shield, CS is pin 4. It's set as an output by default.
  // Note that even if it's not used as the CS pin, the hardware SS pin 
  // (10 on most Arduino boards, 53 on the Mega) must be left as an output 
  // or the SD library functions will not work. 
  pinMode(53, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(10, OUTPUT);
  digitalWrite(10,HIGH);
  
  if (!SD.begin(4)) {
    Serial.println("initialization failed!");
    return;
  }
  Serial.println("initialization done.");

  root = SD.open("/");
  
  printDirectory(root, 0);
 
  Serial.println("done!");
}

void loop()
{
  // nothing happens after setup finishes.
}

void printDirectory(File dir, int numTabs) {
   while(true) {
     
     File entry =  dir.openNextFile();
     if (! entry) {
       // no more files
       //Serial.println("**nomorefiles**");
       break;
     }
     for (uint8_t i=0; i<numTabs; i++) {
       Serial.print('\t');
     }
     Serial.print(entry.name());
     if (entry.isDirectory()) {
       Serial.println("/");
       printDirectory(entry, numTabs+1);
     } else {
       // files have sizes, directories do not
       Serial.print("\t\t");
       Serial.println(entry.size(), DEC);
     }
     entry.close();
   }
}

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • RAdri
  • Registratie: Oktober 2012
  • Laatst online: 15-09 22:00
SnowDude heeft gelijk _/-\o_ , waarde pin 53 blijkbaar niet belangrijk vermits ze toch niet verbonden is, zie volgende post:

pinMode(53, OUTPUT); // set the SS pin as an output (necessary!)
// digitalWrite(53, HIGH); // but turn off the W5100 chip!

Pin 10 is niet nodig voor de Mega dus:

// pinMode(10, OUTPUT); // set the SS pin as an output (necessary!)
// digitalWrite(10, HIGH); // but turn off the W5100 chip!

Zelf zet ik de 4 lijnen gewoon in de code en kan ik de lijnen welke niet nodig zijn uitsluiten met //

http://arduino.cc/forum/index.php/topic,86837.0.html

[ Voor 14% gewijzigd door RAdri op 28-11-2013 13:00 ]


Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
RAdri schreef op woensdag 27 november 2013 @ 13:59:

Het is ook nodig pen 53 hoog te houden:
pinMode(53, OUTPUT); // set the SS pin as an output (necessary!)
digitalWrite(53, HIGH); // but turn off the W5100 chip!
Pin 10 is niet nodig voor de Mega dus:

// pinMode(10, OUTPUT); // set the SS pin as an output (necessary!)
// digitalWrite(10, HIGH); // but turn off the W5100 chip!
Pin 53 (SS) is op de mega niet door gelust naar de ICSP en komt dus niet uit op de ethernet shield (kijk maar naar de schema's van de Mega en ethernet shield) Dus ja hij moet als uitgang staan omdat anders de SPI library niet goed werkt, maar de waarde van de pin maakt niets uit

Pin 4 is de chip-select voor de SD card, en pin 10 is de chip-select voor ethernet chip. Als je beide interfaces gebruikt is het verstandig om handmatig er voor te zorgen dat tijdens SD data verkeer pin 4 laag is en pin 10 hoog, en bij netwerk verkeer precies anders om.

Ik moet toe geven het is een beetje brak gedocumenteerd en dat veroorzaakt ook alle problemen met de SD kaart op een mega. Vooral omdat de SS pin niet geconnect is naar de ethernet shield

[ Voor 8% gewijzigd door SnowDude op 27-11-2013 14:33 ]

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • Piepersnijder
  • Registratie: December 2009
  • Niet online
SnowDude schreef op woensdag 27 november 2013 @ 14:32:
[...]

Pin 4 is de chip-select voor de SD card, en pin 10 is de chip-select voor ethernet chip. Als je beide interfaces gebruikt is het verstandig om handmatig er voor te zorgen dat tijdens SD data verkeer pin 4 laag is en pin 10 hoog, en bij netwerk verkeer precies anders om.
Daar zit waarschijnlijk het probleem. Als je een webpagina opent van de SD en deze verstuurd gebruik je zowel ethernet als de SD interface tegelijkertijd.

Ik heb nu de webpagina in het flash geheugen gezet met PROGMEM en daarmee voorkom je deze problemen. Volgens mij werkt dit nog sneller ook.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
@SnowDude
Nog even over die klok :
Afbeeldingslocatie: http://s12.postimg.org/vhb88a0l5/klok_uno_003.jpg
(klik)
Die tikt nu lekker weg maar moet helaas soms gereset worden. Regel 91 verwijderen werkt soms, maar niet altijd.
Ik had al een standalone-print gesoldeerd :
Afbeeldingslocatie: http://s29.postimg.org/7yp0hkieb/printclock_004.jpg
(klik)
Die heb ik nu zo gemaakt dat ik die indien nodig opnieuw kan programmeren. Ik zet de tijd in het vorige getoonde programma gewoon op 00:00:00.
Dan kan ik altijd nog rond middernacht de boel resetten en flashen als het in een kastje zit.
Bedankt voor je hulp en anderen zoals mcDavid ook natuurlijk. :)

Ik vraag me natuurlijk wel af hoe het komt dat die klok niet gewoon eeuwig blijft doorlopen.
Ik bedoel, als die 3 uur tikt waarom dan geen week, of een jaar ?

[ Voor 9% gewijzigd door kitao op 27-11-2013 19:58 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Zijn er misschien variabelen die 'vollopen'?

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
Verwijderd schreef op woensdag 27 november 2013 @ 20:10:
Zijn er misschien variabelen die 'vollopen'?
ik weet niet, klokje loopt nu nog steeds

misschien los kontakje of stoorantennewerking met die draadjes.
is ook chinees displaytje
vorige keer zag ik hem lopen van 10 tot 2 snachts maar volgende dag tikte enkel de laatste secondewijzer nog.
maar kan ook best aan programma liggen

(klok zat/zit aangesloten op usb van lap, die gaat dan snachts in slaapstand)

[ Voor 12% gewijzigd door kitao op 27-11-2013 20:55 ]


Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
Wat ik altijd in zo'n geval doe is de tijd (en eventueel andere debug data) ook elke seconde naar de serial sturen, en dan je PC aan laten met het serial venster open. Dan kan je altijd terug kijken wanneer hij is vast gelopen. Het zou ook kunnen zijn dat het display vast loopt maar dat de arduino zelf wel doorloopt

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
Zover reikt mijn kennis nog niet SD. Momenteel weet in bijv. nog niet eens hoe ik mijn lap uit de slaapstand moet houden om maar wat te noemen.
Misschien valt het mee, klok tikt nog, zit andere rtc op en goede bekabeling. Morgenochtend hoop ik nog steeds de juiste tijd te zien. ;)

Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
RTC'tje op batterijtje aansluiten? Zo'n CR2032 houdt het wel 9 jaar vol om de klok op tijd te houden.

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 09-09 17:48
overigens, leuk voor de mensen die een arduino willen embedden: Ebay wordt de laatste tijd overspoeld door moeilijk goedkope bordjes die verkocht worden onder namen als "Arduino pro micro". Voor minder dan 6 dollar een Atmega32u4 arduino met grofweg de formfactor van een pro mini.

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
kitao schreef op woensdag 27 november 2013 @ 22:37:
Zover reikt mijn kennis nog niet SD. Momenteel weet in bijv. nog niet eens hoe ik mijn lap uit de slaapstand moet houden om maar wat te noemen.
Misschien valt het mee, klok tikt nog, zit andere rtc op en goede bekabeling. Morgenochtend hoop ik nog steeds de juiste tijd te zien. ;)
Als ik je nog een tip mag geven, ontwikkel alles met een standaard arduino en een breadboard, en pas als dat bug vrij werkt moet je echt gaan solderen, het bespaart je echt een hele boel frustratie (en ik spreek helaas uit ervaring :+ )

All electric components run on smoke. If you let the smoke out, they won't work anymore.


  • C.44
  • Registratie: Juni 2001
  • Laatst online: 05-08-2020

C.44

TurboCharged Supra Driver

Hallo mensen, ik proggel al een aantal jaren in PHP, JS e.d. en ik ben nu een al een tijdje met een Arduino bezig maar op dit moment loop ik tegen een probleem aan met arrays.

Ik wil een proof-of-concept library maken voor software button debouncing (ja ik weet dat er waarschijnlijk al iets dergelijks bestaat, ben het zelf ook al tegen gekomen denk ik) en op dit moment loop ik muurvast bij 't gebruik van arrays.

Ik ben gewend een associative array te gebruiken op deze manier (php style):
code:
1
2
$auto['fiat']['snelheid'] = 50;
$auto['fiat']['type'] = 'sedan';[hr][hr]

of
code:
1
$auto['fiat'] = array{ 'snelheid' => 50, 'type' => 'sedan'};


Maar wat ik ook probeer ik krijg in de Arduino IDE niets dan errors over ongeoorloofde conversies en dergelijke. Hoe zou ik een dergelijk array in de Arduino IDE moeten aanmaken?

Ik zie op arduino.cc wel een tutorial maar die maakt slechts gebruik van nummers, bijvoorbeeld:
code:
1
int auto[3] = {2, 4, 5};


Wat ik ervan begrepen heb is de '3' in dat geval de omvang / size van 't array... rekt dat dan automagisch op of kun je er gewoon niet meer in duwen dan dat 't array groot is nadat 't array geïnitialiseerd is? En hoe kan ik dan vervolgens een array met auto's maken die elk weer een array zijn met hun eigenschappen (zoals type, snelheid etc.)

Toyota Supra 3.0i Turbo Targa in Panther Black Mica - 300D || 30D || 10-20 || 50mm 1.8 mk1 || 18-55 || 17-85 || 75-300 || Giottos || Manfrotto || Cullmann || Kenko || Hoya


  • mcDavid
  • Registratie: April 2008
  • Laatst online: 09-09 17:48
associative arrays bestaan niet. Multi-dimensionale arrays ook niet, dan wordt het een matrix. Ook kun je geen verschillende datatypes gebruiken in een array. Wat jij wilt kan gewoon niet.
Ik zie ook niet echt in hoe je dat nodig gaat hebben in een arduino-programma.

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Beste C.44, ik denk dat je de mogelijkheden van C een beetje overschat. Een array is gewoon een array, en geen object dat je zomaar een beetje kunt oprekken. Ga je buiten de grenzen van je array, krijg je gewoon memory corruption en heule vage bugs. Niks message box of core dump.

Bekijk eens de specs van C/C++. PHP of JS op een micro kost gewoon teveel memory en cpu. Deze jongens zijn een stuk meer lowlevel. Maar onderschat niet hoe snel een sketch draaien kan zonder overhead van een OS.

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


  • Sissors
  • Registratie: Mei 2005
  • Niet online
C.44 schreef op donderdag 28 november 2013 @ 15:08:
Wat ik ervan begrepen heb is de '3' in dat geval de omvang / size van 't array... rekt dat dan automagisch op of kun je er gewoon niet meer in duwen dan dat 't array groot is nadat 't array geïnitialiseerd is? En hoe kan ik dan vervolgens een array met auto's maken die elk weer een array zijn met hun eigenschappen (zoals type, snelheid etc.)
Als je buiten het formaat van het array schrijft, schrijf je gewoon in een geheugenlocatie die ergens anders voor wordt gebruikt. Wat dus een heel slecht idee is ;)

Voor je eis: Maak een class of structure voor een auto, met bepaalde eigenschappen. Maak vervolgens een array hiervan aan.

Acties:
  • 0 Henk 'm!

  • Dacuuu
  • Registratie: Maart 2009
  • Laatst online: 07:11
Heb hier een stukje code waar 'millis' in voorkomt. Op de arduino nano geladen werkt dit perfect (stroom via mini usb aan de pc). Maar voed ik de arduin nano via de VIN poort. Dan flipt de hele schakeling. Sluit ik daarna weer aan via usb, niks aan het handje en werkt alles vlekkeloos. Zou iemand weten hoe dit kan?

Acties:
  • 0 Henk 'm!

  • Raven
  • Registratie: November 2004
  • Niet online
Definieer "flipt"? ;)

En is er verschil in voeding? USB is 5v, maar wat hangt er aan Vin?

Misschien heeft het met dit te maken:
http://www.arduino.cc/en/Main/ArduinoBoardNano
The FTDI FT232RL chip on the Nano is only powered if the board is being powered over USB. As a result, when running on external (non-USB) power, the 3.3V output (which is supplied by the FTDI chip) is not available and the RX and TX LEDs will flicker if digital pins 0 or 1 are high.

[ Voor 143% gewijzigd door Raven op 05-12-2013 18:41 ]

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


Acties:
  • 0 Henk 'm!

  • Dacuuu
  • Registratie: Maart 2009
  • Laatst online: 07:11
Raven schreef op donderdag 05 december 2013 @ 18:38:
Definieer "flipt"? ;)

En is er verschil in voeding? USB is 5v, maar wat hangt er aan Vin?
Sorry, Ik zet een led aan/uit via een druk knop die ik 700 ms in moet houden om de led high/low te zetten (vandaar de millis functie). Maar via de VIN gevoed gaat het ledje soms zelf aan/uit of reageert de led langzaam op de druk knop.

Acties:
  • 0 Henk 'm!

  • Raven
  • Registratie: November 2004
  • Niet online
Gebruik je de 3.3v toevallig? Zie edit vorige bericht.

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


Acties:
  • 0 Henk 'm!

  • Dacuuu
  • Registratie: Maart 2009
  • Laatst online: 07:11
Raven schreef op donderdag 05 december 2013 @ 18:45:
Gebruik je de 3.3v toevallig? Zie edit vorige bericht.
Heb het volgende aangesloten.

een 3 draads schaklaar (5v, gnd, en een draad naar digitax(x) om te schakelen)
en een 2 draads schakelaar (digital(x) en gnd)

De 3 draads schakelaar doet het perfect, schiet me nu te binnen dat ik dan een fout heb gemaakt met de 2 draads schakelaar? Aangezien ik die niet aangesloten heb op 5v. Maar deze opstelling werkt gevoed via de usb wel goed.

Edit: Bedankt Raven, het stukje txt over de 3.3v had ik wel gelezen. Maar omdat ik de schakelaar alleen op een digital input had staan icm ground ging gaat die dus op 3,3v. Nu de ground via een weerstand aan de digital input zitten. en de 2e draad aan 5v. Code iets aangepast en nu werkt het perfect. _/-\o_

[ Voor 116% gewijzigd door Dacuuu op 05-12-2013 19:21 ]


Acties:
  • 0 Henk 'm!

  • Powerblast
  • Registratie: Augustus 2011
  • Laatst online: 17-09 21:08
Hoi iedereen,

Na al een tijdje meegelezen te hebben wil ik toch eens een aantal vragen stellen.

Heb al een tijdje interesse in de meer technische kant van elektronica dus zeg maar hardware :). Ben zelf van beroep programmeur en dus vooral met software bezig. Heb wel altijd interesse gehad in robotica en mij altijd afgevraagd hoe die snufjes in praktijk echt werken :). Nu kwam ik dus dit topic tegen in een random doorklikken van links :).

Ik had eerlijk gezegd nog nooit van de arduino gehoord, bijvoorbeeld wel van raspberry pi, maar dat lijkt me meer toegespitst op het opbouwen van een mediacenter dan echt tot het experimenteren met elektronica.

Is een arduino een beetje doenbaar voor een leek op vlak van elektronica? Ik heb zoals gezegd wel ervaring met programmatie, maar op vlak van elektronica ken ik echt twee keer niks. Ben wel bereid om het één en ander uit te zoeken, maar het moet natuurlijk een niet onmogelijke opdracht zijn :).Als ik hier de discussies volg op het forum moet ik toch bij elke post wel het één en ander opzoeken om mee te zijn met wat er bedoelt wordt als het puur over de onderdelen gaat :). De code is op zich geen probleem.

Persoonlijk dacht ik daarom aan één van die arduino starter kits aan te schaffen. Lijken mij zo wat "het handje vast te houden" wat voor mij persoonlijk misschien wel de beste zaak is :). Daar zit zo te zien een arduino uno bij en wat basis spul. Is dat een beetje een goed begin?

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
@PB
Persoonlijk denk ik dat het makkelijker is om van programmeur tot elektronica over te stappen als andersom. Als ik naar mezelf kijk dan begon ik met een lampje, een weerstand en een batterij. Daarna de 7400-serie zoals and,nor-exor en shiftregisters. Toen die stof was uitgewerkt (min of meer dan want daar zit veel aan vast) kreeg ik te maken met mC's. Codes schrijven was echter niet mijn ding dus al paar keer afgehaakt.
(er is maar zoveel wat je van internet kan lenen)
Dus als jij wel 'feeling' hebt voor coderingen dan kan het bijna niet anders of je gaat als gloeiend mes door pakje boter.
Neem gerust een arduino-kitje, kan nooit kwaad. :)

Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Arduino kitje zeker doen. Kijk ook effe op internet voor een paar goede boeken: http://it-ebooks.info/tag/arduino/

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • Icekiller2k6
  • Registratie: Februari 2005
  • Laatst online: 17-09 20:02
@powerblast,

de IDE van arduino en libraries die het tot je beschikking stelt maken het zeer eenvoudig. Het grootste probleem wat ik ervaar is dat ik soms heb van waarom werkt dit niet en dat ik me dan toespits op de software terwijl het dan vaak iets hardwarematig is dat niet koosjer is.

Dat is wel een pitfall. Ook als je gewoon zijt van unlimited memory moet je oppassen met atmega's.

MT Venus E 5KW (V151) P1 HomeWizard | Hackerspace Brixel te Hasselt (BE) - http://www.brixel.be | 9800X3D, 96GB DDR5 6000MHZ, NVIDIA GEFORCE 4090, ASRock X670E Steel Legend, Seasonic GX1000


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
RobV schreef op vrijdag 06 december 2013 @ 22:19:
Arduino kitje zeker doen. Kijk ook effe op internet voor een paar goede boeken: http://it-ebooks.info/tag/arduino/
Goeie tip dit.
Deze lijkt me wel aardig voor Powerblast :
Afbeeldingslocatie: http://it-ebooks.info/images/ebooks/6/learn_electronics_with_arduino.jpg
Zelf ben ik hiermee bezig (dankzij jou):
Afbeeldingslocatie: http://it-ebooks.info/images/ebooks/6/beginning_c_for_arduino.jpg
Iedere dag een stukje om toch maar wat programmeren bij te leren.
Vandaag was ik bij pag. 71, een oefeningetje voor Kop of Munt.

Nou sloot ik per ongeluk voeding rechtstreeks op ground aan (via breadboard)
Ik hoorde dat geluidje alsof je de usb eruittrekt.
Ik zag ook dat de uno geen lampjes meer aan had.

USB maar eruit gehaald(=voeding eraf)
Oorzaak verholpen en alles werkt nog steeds prima.

Nu vraag ik me af, schakelt de Uno zichzelf uit bij kortsluiting op Vcc-GND ? :?

edit: reactie op sissors volgende post
Ok, bedankt. Maakt veel duidelijk.

[ Voor 3% gewijzigd door kitao op 07-12-2013 10:02 . Reden: reactie op volgende post ]


Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
Effectief: ja.

Maar het heeft niks met de Uno te maken. Als jij voeding aan ground kortsluit, is er dus geen voeding meer. Dus staat de Uno dan uit.

Ik weet niet of er aan de kant van de Uno nog beveiliging op zit, maar sowieso zal jouw USB poort beveiligd zijn dat hij niet heel veel meer dan 500mA kan leveren.

Acties:
  • 0 Henk 'm!

  • Powerblast
  • Registratie: Augustus 2011
  • Laatst online: 17-09 21:08
Al heel wat handige tips, bedankt iedereen :). Ik ga me alvast eens verdiepen in het boek "Learn electronics with arduino". Lijkt me idd wel een goede plaats om te starten. Hopelijk volgende week dan overgaan tot de aankoop van een starters kitje :).

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
Heb je al wat op het oog qua kitje ? Er zit nogal wat prijsverschil in.
Met dit boek - ik heb dan de losse delen - ben ik ooit eens mee begonnen.
Er is ook een deel 4, die heb ik dan niet.
Verkrijgbaar via bieb of bolcom

Hopelijk iets recentere druk als de mijne waar ze nog spijkers in plankjes slaan om verbindingen te kunnen maken. Toen moesten ze waarschijnlijk een breadboard nog gaan uitvinden.

Afbeeldingslocatie: http://www.elektor.nl/Uploads/Images/Product/bnl10285.gif
http://www.elektor.nl/pro...oeilijk-1-2-3.11982.lynkx

Acties:
  • 0 Henk 'm!

  • Powerblast
  • Registratie: Augustus 2011
  • Laatst online: 17-09 21:08
Goh, ik denk dat het waarschijnlijk deze wordt: http://arduino.cc/en/Main/ArduinoStarterKit

Lijkt me compleet om mee te beginnen en geen gepruts met nog extra zaken aankopen. Kan ik gewoon lekker van start gaan :). En sponsor er ook rechtstreeks de makers een beetje me :).

Ga nu eens rondkijken voor een goed boek. De hier al genoemde exemplaren lijken allemaal al de moeite waard :), ff zien welke mij het gemakkelijkste lijkt om van start mee te gaan.

Ben vandaag maar al eens aan het inlezen geslagen over transistors, leds, capacitors... Een aantal klinken nog vrij bekend uit de goeie oude "technische opleiding" van 10 jaar terug :), maar andere zijn dan voor mij weer compleet nieuw. Stroomschema's zien er nog bekend uit, maar zeggen mij totaal niks meer. Dat zal weer ff wennen worden :).

[ Voor 27% gewijzigd door Powerblast op 07-12-2013 21:17 ]


Acties:
  • 0 Henk 'm!

  • ResuCigam
  • Registratie: Maart 2005
  • Laatst online: 08:59

ResuCigam

BOFH

Ik heb zelf die kit gehaald en ik ben er zeer tevreden mee. Ik ben nu alweer een paar weken bezig met de basics rond electronica en porgrammeren en heb er op die manier een leuke hobby bij :)

We do what we must because we can.


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
Ziet er idd wel goed uit, display erbij, breadboardje, servo etc.
Om een aanvang ermee te maken kun je imo beter eerst een kitje kopen. Als je die eenmaal hebt doorgenomen dan kun je altijd nog (goedkopere) losse spullen erbij nemen. Je kan tenminste in één keer doorgaan en je hoeft niet te stoppen omdat je onderdeeltje x niet in huis hebt.

100 euro is toch aardig wat maar bij deze firma heb ik wel goede ervaringen :
http://www.antratek.nl/the-arduino-starter-kit
Ze hebben mij tenminste nog geen waardeloos spul geleverd.

Die boeken hierboven 'exp. met elektronica' komt trouwens geenof amper een mC in voor. Geeft wel een aardige inleiding in de elektronicacomponenten maar ja, met internet erbij kun je dat tegenwoordig overal vinden.
Lijkt me goede keus Powerblast, en ResuCigam had er al goede ervaring mee dus veel plezier ermee ! :)

Als je geduld hebt (levering kan soms duren) dan koop je hem bijvoorbeeld hier voor $46,50
Free shiping
http://www.ebay.com/itm/S...ain_0&hash=item4d0c93a5d4

Afbeeldingslocatie: http://i.imgur.com/Fbs4uIjl.jpg

Hoe het met garantie zit enzo, kan wel eens tegenvallen.

Je kunt ook hier kijken, is nederlandse (web)winkel
euro 42,50 incl boek + verz.kosten en direkte levering
http://www.hackerstore.nl/Artikel/64

[ Voor 23% gewijzigd door kitao op 08-12-2013 01:32 . Reden: toevoeging ]


Acties:
  • 0 Henk 'm!

  • Powerblast
  • Registratie: Augustus 2011
  • Laatst online: 17-09 21:08
kitao schreef op zaterdag 07 december 2013 @ 23:36:

100 euro is toch aardig wat maar bij deze firma heb ik wel goede ervaringen :
http://www.antratek.nl/the-arduino-starter-kit
Ze hebben mij tenminste nog geen waardeloos spul geleverd.
Die Antratek ziet er wel interessant uit. Ben ik misschien vergeten vermelden maar ik woon in België :). Maar ze hebben zo te zien ook ene belgische webshop. De prijzen lijken mij wel netjes en het bespaard mij een nodeloze verplaatsing want hier in de buurt een fysieke winkel vinden die zoiets kan leveren, tja bijna onbegonnen werk. Bedankt voor de tip ;).

Het wordt dus de Arduino Starter kit. Deze week maar eens bestellen, heb de komende weken toch wat verlof gepland staan dus dat komt mooi uit, heb ik ineens wat om mijn avonduurtjes mee op te vullen :). Nu verder me de lectuur uit te spitten :).

Wat ik me zo snel wel even afvroeg is hoe het zit met de "veiligheid op overbelasting" laat ik maar zeggen van zo een Arduino bordje? Zover ik lees kan je het ofwel voeden door de USB connectie, ofwel door een aparte voeding via die ingang. "Blaas" je zoiets snel op (moest ik al eens wat verkeerd doen door bijvoorbeeld kortsluiting of iets dergelijks? :) Of valt het mee met de foutgevoeligheid van het ding.

Ik kan me namelijk wel voorstellen dat ik in het begin wel al eens wat kabeltjes verkeerd ga aansluiten zonder ik het doorheb.

[ Voor 5% gewijzigd door Powerblast op 08-12-2013 14:01 ]

Pagina: 1 ... 32 ... 96 Laatste