Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Kan wel maar moet je iets van pijpje maken, ze kunnen niet horizontaal bevestig worden. Als je drie pijpjes maakt en sensoren in afsluitdop maakt onderin kan het wel.

Sensor kan je bijvoorbeeld bevestigen in de bovenkant van een tank of zo, bovenste gedeelte met draden zit dan aan de buitenkant, de vlotter aan de binnenkant. Bovenste gedeelte is volgens mijn ook niet waterdicht.

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
mad_max234 schreef op woensdag 19 maart 2014 @ 17:36:
Bovenste gedeelte is volgens mijn ook niet waterdicht.
Oh,
een watersensor die niet waterdicht is, dat schiet lekker op.
Zo zie je maar, zit altijd addertje onder het gras met dat goedkope spul.

[ Voor 34% gewijzigd door kitao op 19-03-2014 17:51 ]


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Is een vlotter, zit niet voor niks bevestiging op aan de bovenkant, heb ze in vele soorten en maten.

Er is geen adder, is gewoon hoe ze altijd gemaakt worden, alle merken maken ze zo, is gewoon dit type vlotter. Of nu eentje koop van 20 euro of 1 euro, dit type is altijd zo. :)

Kijk zo zien ze er allemaal uit, je hoort ze ergens in te draaien en dan met moer sluit je ze af, zit vlotter binnen in en aansluitingen aan de buitenkant zit meestal een O ring tussen, netjes afgesloten dus. ;)

http://www.conrad.nl/medi...971_BB_00_FB.EPS_1000.jpg

[ Voor 9% gewijzigd door mad_max234 op 19-03-2014 17:57 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

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

C.44

TurboCharged Supra Driver

Die was ik inderdaad ook al tegen gekomen. Alleen moet je dan wel aanpassingen gaan maken aan de tank en al zou ik daar plek voor hebben dan zou dat nog betekenen dat de tank direct niet meer uitneembaar is. Zelf had ik al gedacht aan e-tape, da's gewoon een strip die je in de tank plakt en vervolgens z'n weerstand aanpast al naar gelang het vloeistof niveau. Maar ook dat had betekend dat ik een kabel aan de tank zelf had moeten maken.

Daarnaast wil ik eigenlijk zo weinig mogelijk spul in m'n drinkwatertank hebben zitten wat er niet in thuis hoort :z

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


Acties:
  • 0 Henk 'm!

Verwijderd

C.44 schreef op woensdag 19 maart 2014 @ 18:09:
Die was ik inderdaad ook al tegen gekomen. Alleen moet je dan wel aanpassingen gaan maken aan de tank en al zou ik daar plek voor hebben dan zou dat nog betekenen dat de tank direct niet meer uitneembaar is. Zelf had ik al gedacht aan e-tape, da's gewoon een strip die je in de tank plakt en vervolgens z'n weerstand aanpast al naar gelang het vloeistof niveau. Maar ook dat had betekend dat ik een kabel aan de tank zelf had moeten maken.

Daarnaast wil ik eigenlijk zo weinig mogelijk spul in m'n drinkwatertank hebben zitten wat er niet in thuis hoort :z
wellicht kan je wat ultrasoon doen O-)

- http://www.instructables....quid-level-meter-with-in/

[ Voor 5% gewijzigd door Verwijderd op 19-03-2014 18:22 ]


Acties:
  • 0 Henk 'm!

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

C.44

TurboCharged Supra Driver

Verwijderd schreef op woensdag 19 maart 2014 @ 18:10:
[...]


wellicht kan je wat ultrasoon doen O-)
Ultrasoon sensor is meebesteld vanuit Hong Kong ;) Maar in eerste instantie ga ik toch echt die FSR402 proberen :P

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


Acties:
  • 0 Henk 'm!

  • ResuCigam
  • Registratie: Maart 2005
  • Laatst online: 15:51

ResuCigam

BOFH

Wow wat een drukte hier, ik moest flink wat lezen vandaag (leuk!).
kitao schreef op woensdag 19 maart 2014 @ 13:39:
Verder wou ik dat ik jouw geduld had om een component op tafel te leggen en dan zo van : 'zie die maar aan de praat te krijgen zonder voorbeelden met enkel een datasheet'. Hoezo, de lat voor jezelf hoog leggen ?! :D
Ik zie dat zelf echt anders: Ik doe juist heel rustig aan. Natuurlijk ben ik de eerste maanden ook voornamelijk bezig geweest met het na bouwen van schema's uit boeken of online bronnen. Maar ik kwam al snel achter twee dingen: Ten eerste dat het programmeren veel belangrijker is om het maximale uit je microcontroller te halen dan het bouwen van complexe schema's. En ten tweede dat bijvoorbeeld het gebruik van print.LCD() mij ontzettend weinig leerde wat er nu echt gebeurd.
Voordeel is dan wel dat je het never nooit meer vergeet, maar misschien zou ik ook mezelf afvragen of ik niet 2x het wiel aan het uitvinden ben. Dat laatste is niet negatief bedoeld, als jouw nadruk ligt op programmeren leren dan is dit zeker een goede oefening lijkt mij.
Ik ben niet bang het wiel opnieuw uit te vinden, eerder dat het me niet lukt ;) En ik heb niks tegen het gebruik van bestaande schema's en software. Maar tot een paar maanden terug wist ik zo goed als niks van elektronica componenten of programmeren. Ik geloof dat leren programmeren net zoals het leren van een vreemde taal is, de basics zijn heel belangrijk. Om even in de taal analogie te blijven: Al leer je 5000 woorden Spaans, zolang je het vervoegen van de werkwoorden niet snapt zul je altijd blijven stuntelen om jezelf goed uit te drukken.
Over pointers, hfdst8 in het boek 'Beginning C for Arduino' gaat erover.
Heb dat boek met aandacht helemaal doorgelezen maar vond het nog te moeilijk. Ben nu met 4 andere bezig.
Ik ben (onder andere) ook in dat boek bezig, ik ben alleen nog niet zover ;) Ik lees het boek dan ook niet, ik (be)studeer het. En dat gaat langzaam maar ik snap alles wat ik gedaan heb tot nu toe. Ik schrijf ook veel kleine onzin programma's om dingen te proberen. En zo ook voor de componenten. Wat ik allemaal niet heb gelezen de afgelopen maanden om iets van de werking van LEDs, transistors of condensators te begrijpen. Daarmee vergeleken zijn IC's bijna simpel om mee te werken.
mad_max234 schreef op woensdag 19 maart 2014 @ 13:54:
It-books.info is illegale site overigens, servers zijn in Rusland gevestigd en bevatten auteursbeschermdmateriaal die ze illegaal aanbieden. Kom er ook wel eens hoor, maar is niet zo legaal.
Dat wist ik niet, dan stop ik met het spammen van die link op forums.
mad_max234 schreef op woensdag 19 maart 2014 @ 15:35:
Verplicht leesvoer als je met opamps gaat werken, en die komen in veel circuits voor dus eigenlijk basiskennis.
http://www.ti.com/lit/an/sboa092a/sboa092a.pdf
Lol nou ik heb het in mijn archiefje gezet maar hier snap ik helemaaaaaal niks van :) Dus hopenlijk heb ik voorlopig nog geen opamps nodig.
Je moet eigenlijk altijd voordat je iets koop de datasheets te lezen, anders weet je niet eens wat je koopt.
Dat heb ik wel geleerd na de zoveelste 'sinking' in plaats van 'sourcing' miskoop. Ik lees trouwens meestal maar 2 pagina's van de datasheet: De specificaties (Volt\Ampere\etc) en de pin layout.

We do what we must because we can.


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
ResuCigam schreef op woensdag 19 maart 2014 @ 20:00:
Natuurlijk ben ik de eerste maanden ook voornamelijk bezig geweest met het na bouwen van schema's uit boeken of online bronnen. Maar ik kwam al snel achter twee dingen: Ten eerste dat het programmeren veel belangrijker is om het maximale uit je microcontroller te halen dan het bouwen van complexe schema's.
Mee eens, een uC zonder programma doet niet veel.
En ten tweede dat bijvoorbeeld het gebruik van print.LCD() mij ontzettend weinig leerde wat er nu echt gebeurd. [.......]
Ik geloof dat leren programmeren net zoals het leren van een vreemde taal is, de basics zijn heel belangrijk. Om even in de taal analogie te blijven: Al leer je 5000 woorden Spaans, zolang je het vervoegen van de werkwoorden niet snapt zul je altijd blijven stuntelen om jezelf goed uit te drukken.
Print.lcd() maakt wel deel uit van de taal die je aan het leren bent. Ook al ken je C vloeiend uit je hoofd dan hoeft dat (volgens mij) nog niet te betekenen dat iemand dan automatisch gelijk weet wat er in de uC gebeurt. Uiteindelijk komt het neer op een hoop geschuif met registers, flags, pointers, etc. Ik weet nog dat ik het ervaren heb als erg droge stof, maar dit verschilt per persoon natuurlijk. Om erachter te komen wat er gebeurt als de micro een opdracht krijgt zoals delay of pinmode dan kom je op een heel ander terrein. En om dat uit te zoeken kan zoiets als bijvoorbeeld deze 2 misschien van pas komen :
http://www.dirksen.nl/opl...trollers-combinatiecursus
http://www.mikroe.com/cha...tion-to-microcontrollers/

Ps, ik respecteer het hoor dat jij zo diep op de materie ingaat, is geenzins mijn bedoeling om dat te bagatalliseren of om dat tegen te spreken.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Verwijderd schreef op zondag 16 maart 2014 @ 14:34:
dat is dit eenvoudige breakoutbordje.
( in NL ook te koop)

het aardige is dat er zowel een digitale 1 / 0 uitgang op zit, waarvan je de gevoeligheid in kan stellen, alsmede een analoge uitgang.
je kan dus bij een bepaald geluidsniveau (uitgang wordt 1) een interrupt aan je arduino aanbieden, waarop een interrupt routine gestart wordt die de feitenlijke analoge meting gaat doen
Ik heb de nederlandse uitvoering getest. Volgens mij is die kaduuk.
Dit programma erin gezet :
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
const int ledPin =  13;       // LED-pen
const int thresholdvalue=85; // Geluidssterkte (threshold) waarbij de LED gaat branden
void setup() {
  pinMode(ledPin, OUTPUT); 
  Serial.begin(9600);
}
void loop() {
  int sensorValue = analogRead(A0); // Analoge poort 0 (voorbeeld)
  Serial.println(sensorValue);
  if(sensorValue>thresholdvalue)
    digitalWrite(ledPin,HIGH);
  delay(200);
  digitalWrite(ledPin,LOW);
}

Zonder actie krijg ik 73 op de ser.mon. Blaas ik hard in de microfoon dan komt er hooguit 110 in beeld.
Aangesloten op scoop met rood op D0 en blauw op A0 van de module
Afbeeldingslocatie: http://s14.postimg.org/dll0opvlp/Microphone.jpg
Als ik in de microfoon blaas verspringt rood netjes, blauw beweegt amper.
Draaien aan de pot maakt voor blauw geen verschil.
Enig idee ? Alvast bedankt.
Ps, inmiddels al een andere besteld uit Azie, kijken of dat verschil oplevert.

Acties:
  • 0 Henk 'm!

Verwijderd

mogguh.. eerst koffie 8)

even wat theorie
- https://www.inkling.com/r...-2nd/chapter-6/recipe-6-7

Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Mogguh borroz.

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


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Mogge iedereen.
Dat programma in jouw link had ik al geprobeerd, dat artikel was juist de reden om de uFoon uit te proberen. :)
Zelfde resultaat overigens, Uno-A0 blijft erg laag. Ziet ernaar uit dat de versterker in de module weigert. Aan andere kant, ik zie helemaal geen beschadiging aan de module en heb niets verkeerd om aangesloten.
4 euro weggegooid :|

Acties:
  • 0 Henk 'm!

Verwijderd

die arduino ligt er vanavond ook nog.. dat zonnetje niet.. later :)

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Gelijk heb je, vandaag is het pet.
Inmiddels ander projectje gevonden: programma opladen in andere (avr) ic's en iets over Studio6.
Beetje rondgekeken naar programmers maar of ze zijn duur of Atm328 staat er niet bij of het werkt niet op Win7, etc. Dus ik wil eigenlijk de uno als programmer gaan gebruiken. Dit al eerder gedaan van uno naar breadbord maar ik wil eigenlijk gebruik gaan maken van een meer permanente opstelling voor de ontvanger en dan de ISCP ICSP van de uno gaan gebruiken met een idc-connector en de ontvanger in een zif-socket zetten en had eigenlijk verwacht dat zo'n printje wel kant en klaar te verkrijgen is maar ben die nog niet tegengekomen. (tip welkom)
Lijkt op een gaatje in de markt of ik weet de juiste zoekterm niet :/

Laatste keer verwisselde ik gewoon de chip op de uno met de te programmeren chip maar dat is niet ideaal.
(Overigens laat ik het bootloadgedeelte buiten beschouwing, ik koop die gewoon waar dat al op staat)
Al zoekende kwam ik een handig plaatje tegen, lijkt me wel leuk om die te delen. Is klikbaar
Afbeeldingslocatie: http://s4.postimg.org/fvzezcs7t/ARDUINO_V2.jpg

edit/ weet iemand trouwens wat het nut is van de pinnen boven Aref ?
Lijkt er op eerste gezicht op dat die gewoon dubbel zijn uitgevoerd maar dat ze niet los van elkaar toegepast kunnen worden om bijv een apparaatje op A4 en A5 aan te sluiten en een ander apparaatje tegelijkertijd en onafhankelijk op de pinnen boven Aref aansluiten.

[ Voor 15% gewijzigd door kitao op 21-03-2014 14:24 . Reden: typo ]


Acties:
  • 0 Henk 'm!

Verwijderd

Afbeeldingslocatie: http://www.eoo-bv.nl/images/uploads/LM10V332.jpg

iemand een idee wat ervoor komt kijken om zo'n soort Color LCD Module 10" 640x480 scherm aan een arduino te hangen :?

Acties:
  • 0 Henk 'm!

Verwijderd

kitao schreef op vrijdag 21 maart 2014 @ 12:29:

weet iemand trouwens wat het nut is van de pinnen boven Aref ?
dat is de referentie spanning voor de ingebouwde AD converter
- http://arduino.cc/en/Refe...rence?from=Reference.AREF


oeps.. niet helemaal goed gelezen 8)

[ Voor 7% gewijzigd door Verwijderd op 21-03-2014 14:45 ]


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
@kitao
USBasp
http://www.fischl.de/usbasp/

http://www.samenkopen.net/action_product/548402/865419

Ik heb zelf een usbtiny en MKII clone gemaakt, die gebruik ik al jaren.

Ondersteuning van verschillende AVR word niet bepaald door de programmer(in dit geval tenminste) maar door avrdude bijvoorbeeld, en het is kinderlijk eenvoudig om ontbrekende avr toe te voegen.

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Maakt niet uit Borroz
Volgens mij is het net als met Gnd, paar keer dubbel
Ik heb er nog niet eens zelf naar gezocht overigens, maar weet wel dat ik die 2 pennetjes boven Aref nog nergens in een schema gebruikt heb zien worden. Beetje overbodig volgens mij.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
mad_max234 schreef op vrijdag 21 maart 2014 @ 14:49:
@kitao
USBasp
http://www.fischl.de/usbasp/

http://www.samenkopen.net/action_product/548402/865419

Ik heb zelf een usbtiny en MKII clone gemaakt, die gebruik ik al jaren.

Ondersteuning van verschillende AVR word niet bepaald door de programmer(in dit geval tenminste) maar door avrdude bijvoorbeeld, en het is kinderlijk eenvoudig om ontbrekende avr toe te voegen.
Ok, dit gaat over de programmer en als ik kijk op samenkopen.nl dan zie ik hetzelfde als wat ik op ebay tegenkwam:
List of supported devices:
ATMEGA324 (V), ATMEGA325 (V) ATMEGA3250 (V), ATMEGA329 (V)

Geen 328P helaas.
En hoewel eenvoudig voor jou, is dit nieuw voor mij om er dan even een extra chip in avr-dude ertussen te plaatsen om onder het rijtje 'supported devices' te kunnen vallen.
Bovendien, zover ik heb begrepen, is de uno zelf al geschikt om een andere 328 te programmeren.
En daar zoek ik nu naar, een 'elegante' schakeling daarvoor.
Gisteren kwam ik dit tegen :
Afbeeldingslocatie: http://4.bp.blogspot.com/-ahTeMsYXTSY/UCazZxPx2pI/AAAAAAAAKso/kQTxiZw1Wxc/s320/ProgrammingPCB2.jpg
http://gadjetsblog.blogsp...gramming-adapter-pcb.html
Maar dat was de enige en zo te zien heeft die z'n printje zelf getekend en laten maken.
Op een gaatjesprint zal mij dit ook wel lukken maar ik heb nog maar weinig gekeken naar eagle o.i.d om een pcb te laten maken.
Voor de duidelijkheid, de programmer valt nu buiten mijn interesse, ik had graag gezien of er een zip-socket uitvoering was op een pcb waar de ontvangende 328 makkelijk met een idc-connector geprogrammeerd kan worden.
Dus zeg maar dit :
Afbeeldingslocatie: http://arduino.cc/en/uploads/Tutorial/BreadboardAVR.png
EDIT, VERKEERDE AFBEELDING, DIT IS VOOR DE BOOTLOADER
Ik bedoelde deze
Afbeeldingslocatie: http://arduino.cc/en/uploads/Tutorial/ArduinoUSBSerial.png
maar dan bovenstaande breadboardschakeling op pcb met een zif en zodanig dat ik de uno atm328 niet hoef los te peuteren.
En niet met losse draadjes maar met een idc via de ICSP op de uno.

edit/ een klein breadboardje zou ik hier voor kunnen opofferen om die schakeling te maken maar ik vermoed dat zo'n zif net als een standaard ic-voetje daar slecht op blijft zitten ?

[ Voor 8% gewijzigd door kitao op 21-03-2014 15:29 ]


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Atmega328p word gewoon ondersteunt, lees je wel wat ik schrijf? :) :P

Staat ook op samenkopen vermeld dat alle avr ondersteunt worden, daar staat een hele lijst met aan einde etc, oftewel alle andere AVR ook die niet in lijstje genoemd worden.

Je moet kijken bij avrdude, daar staat dus gewoon m328p bij, dat is dus de atmega328p. En USBasp word ondersteund door avrdude. Uit de link in mijn vorige post: "AVRDUDE supports USBasp since version 5.2."
http://www.nongnu.org/avrdude/user-manual/avrdude_4.html

En dan nog al zou de 328p niet erbij staan maar de 88 of 168 wel, dan kan je gewoon in config file van avrdude de 168 kopiëren en signatuur invullen van de 328p en dan zal die gewoon de 328p kunnen programmeren.

Programmer is alleen een hardware doorgeefluik, pc software zoals avrdude zorgen voor dat hex op juiste manier in het geheugen komt van de desbetreffende avr, niet de programmer, dat is maar dom stukje hardware die avrdude nodig heeft.

Zal nog even kort samenvatten: USBasp ondersteunt alle AVR met ISP, ligt niet bij de programmer of avr word ondersteunt maar aan de software zoals avrdude. :)

Edit/
Je kan kopiëren en plakken? Dan kan je ook extra avr toevoegen, is niet meer dan wat regels kopiëren en twee cijfers aanpassen van de zes cijfers die signatuur vormen van de avr. Maar dat is echt niet nodig voor de gangbare 328p, die zit al jaren in avrdude. ;)

[ Voor 16% gewijzigd door mad_max234 op 21-03-2014 15:37 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
@Max
Ik wou gewoon even zeker weten, en dit gaat dan over de programmer waar ik inmiddels geen interesse meer in heb omdat ik daar de uno voor wil gebruiken

Dit kwam ik steeds tegen op ebay en ook op jouw samenkopen-link:
51 series
AT89S51 AT89S52
AVR series
AT90can128 AT90can32 AT90can64 AT90pwm2 AT90pwm3 AT90s1200 AT90s2313 AT90s2323 AT90s2343 AT90s4414 AT90S8515 AT90S8535 AT90usb1286 AT90usb1287
Atmega103 Atmega128 Atmega1280 Atmega1281 Atmega16 Atmega161 Atmega162 Atmega163 Atmega164 Atmega165 Atmega168 Atmega169 Atmega2560 Atmega2561 Atmega32 Atmega323 Atmega324 Atmega325 Atmega3250 Atmega3259 Atmega329 Atmega3290 Atmega406 Atmega48 Atmega64 Atmega640 Atmega644 Atmega645 Atmega6450 Atmega649 Atmega6490 Atmega8 Atmega8515 Atmega8535 Atmega88
Attiny11 Attiny12 Attiny13 Attiny15 Attiny22 Attiny2313 Attiny24
Attiny25 Attiny26 Attiny261 Attiny28 Attiny44 Attiny45 Attiny46
Attiny461 Attiny84 Attiny85 Attiny861
http://www.ebay.com/itm/1...geName=STRK%3AMEBIDX%3AIT

Ik zie geen 328 dus dan bestel ik zoiets niet
Altijd makkelijk lullen als iemand enorme budgetten heeft om er maar lukraak op los te kopen

[ Voor 2% gewijzigd door kitao op 21-03-2014 15:47 . Reden: stukje zin vergeten ]


Acties:
  • 0 Henk 'm!

  • sjnelle
  • Registratie: September 2001
  • Laatst online: 16-10 20:56
Weet iemand een linkje naar een stekkerdoos die je kunt aansturen met de arduino?

Kan dit ook zelf maken met een relay shield maar zoek eigenlijk een kant en klare oplossing.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
sjnelle schreef op vrijdag 21 maart 2014 @ 16:05:
Weet iemand een linkje naar een stekkerdoos die je kunt aansturen met de arduino?

Kan dit ook zelf maken met een relay shield maar zoek eigenlijk een kant en klare oplossing.
Liever houd ik daar zelf afstand van om een arduino met een 220AC te koppelen maar er zijn toepassingen voor.
Klik aan Klik uit heet dat geloof ik en ik meen dat er ook een topic over KaKu op El gaat.
Alvast een linkje
http://www.engineerathome...o+en+klik+aan+klik+uit/10
Ik weet echter niet of daar kant en klare printjes voor zijn.
Waarschijnlijk bij Velleman maar die zijn niet altijd voorgemonteerd.

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
kitao schreef op vrijdag 21 maart 2014 @ 15:44:
@Max
Ik wou gewoon even zeker weten, en dit gaat dan over de programmer waar ik inmiddels geen interesse meer in heb omdat ik daar de uno voor wil gebruiken

Dit kwam ik steeds tegen op ebay en ook op jouw samenkopen-link:
51 series
AT89S51 AT89S52
AVR series
AT90can128 AT90can32 AT90can64 AT90pwm2 AT90pwm3 AT90s1200 AT90s2313 AT90s2323 AT90s2343 AT90s4414 AT90S8515 AT90S8535 AT90usb1286 AT90usb1287
Atmega103 Atmega128 Atmega1280 Atmega1281 Atmega16 Atmega161 Atmega162 Atmega163 Atmega164 Atmega165 Atmega168 Atmega169 Atmega2560 Atmega2561 Atmega32 Atmega323 Atmega324 Atmega325 Atmega3250 Atmega3259 Atmega329 Atmega3290 Atmega406 Atmega48 Atmega64 Atmega640 Atmega644 Atmega645 Atmega6450 Atmega649 Atmega6490 Atmega8 Atmega8515 Atmega8535 Atmega88
Attiny11 Attiny12 Attiny13 Attiny15 Attiny22 Attiny2313 Attiny24
Attiny25 Attiny26 Attiny261 Attiny28 Attiny44 Attiny45 Attiny46
Attiny461 Attiny84 Attiny85 Attiny861
http://www.ebay.com/itm/1...geName=STRK%3AMEBIDX%3AIT

Ik zie geen 328 dus dan bestel ik zoiets niet
Altijd makkelijk lullen als iemand enorme budgetten heeft om er maar lukraak op los te kopen
Ja, als je niet even bij makers zelf gaat kijken, min of meer dus het datasheet verhaal van paar posten terug, anders weet je niet wat je koopt. :D

En ga nooit uit van ebay als enige bron, dat is vragen om verkeerd geïnformeerd te worden. :D :+

http://www.fischl.de/usbasp/

"AVRDUDE supports USBasp since version 5.2."

Edit/
"Altijd makkelijk lullen als iemand enorme budgetten heeft om er maar lukraak op los te kopen"

Ik koop juist gewoon heel bewust en geef dus nooit iets te veel uit, ik weet wat ik van te voren bestel door eerst datasheets te lezen of website van de fabrikant. En geef je juist link naar programmer die goedkoop is en alle AVR ondersteund, 3.50 euro niet niet echt gigantisch bedrag waar je groot budget voor moet hebben. :D :+

[ Voor 12% gewijzigd door mad_max234 op 21-03-2014 19:35 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
sjnelle schreef op vrijdag 21 maart 2014 @ 16:05:
Weet iemand een linkje naar een stekkerdoos die je kunt aansturen met de arduino?

Kan dit ook zelf maken met een relay shield maar zoek eigenlijk een kant en klare oplossing.
Ben ik al twee jaar naar opzoek, en dan niet 100+ euro, GHL heeft stekkerdozen voor hun aquarium computer, die kan je eventueel dan hacken(hardware of gewoon het protocol nabootsen), maar die kosten relatief gezien duur.

http://www.aquariaveldhui...TECHNIEK&merkID=235&nop=1

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
mad_max234 schreef op vrijdag 21 maart 2014 @ 18:28:
Ja, als je niet even bij makers zelf gaat kijken........
http://www.fischl.de/usbasp/
"AVRDUDE supports USBasp since version 5.2."
:?
Welke makers ? Ik weet nog niet eens wat die afkorting usbasp betekent eigenlijk.
Maar ik zal je link doorlopen, waarvoor alvast bedankt, ik ga ermee verder. :)

/Edit
Inmiddels (eindelijk) gevonden wat ik ongeveer zocht, een ISP-shield in kitvorm:
Afbeeldingslocatie: http://shop.emscdn.com/catalog/emskits/ispshield/kit2/imgmed/1.jpg
http://shop.evilmadscient...ductsmenu/tinykitlist/253
Zit goede wiki bij, schema's,etc
Paar dingen die me opvielen, de femaleheaders op het shield lijken niet overeen te komen met mijn unoR3 en is me ook niet duidelijk geworden of de atm328 op de uno verwijderd moet worden tijdens uploaden van een programma naar de chip in de zif-socket.
Ik denk het niet maar volgens deze instructie is dat wel nodig als er naar breadboard wordt geupload
http://arduino.cc/en/Tuto...ToBreadboard#.Uyzhvvl5PbR
Anyway, shield kost $13,- (redelijke prijs), maar de minimale verz. kosten zijn $9,50
Ik heb dus maar besloten om dit onderwerp te laten voor wat het is en gewoon de atm328 op de uno uit te wisselen met het te targeten stand-alone IC. Kost me dan niets.
Dat ik dit toch toevoeg in deze post is eigenlijk meer voor andere geïnteresseerden die mee lezen.
Ik laat het hierbij. ;)

[ Voor 61% gewijzigd door kitao op 22-03-2014 02:53 ]


Acties:
  • 0 Henk 'm!

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

C.44

TurboCharged Supra Driver

Zit al een tijdje te klooien met die FSR. Ik heb 't vermoeden dat die dingen of bij lange na niet zo nauwkeurig zijn als de datasheets je willen doen geloven... of Hackerstore heeft me een FSR400 gestuurd ipv de FSR402. In de productbeschrijving staat namelijk van 1 tot 100Nm wat naar mijn weten van 100 gram tot 10 kilo is en dat zijn de waarden die bij de 402 horen. De 400 zou ergens tot 10Nm gaan meen ik.

Heb 't geheel via een 10k pulldown aangesloten op de arduino en een sketch van Adafruit gebruikt die volgens mij op een 400 georiënteerd is. Bij een simpel glas krijg ik gewoon doodleuk 7 Nm uit (en soms ook helemaal niets...). Wat me wel opvalt is dat ie in 't begin (zachtjes drukken) heel veel resolutie heeft en aan 't eind moet ik heel behoorlijk in de sensor knijpen om aan 8Nm te komen. 9 Of 10Nm heb ik nog nooit gezien.

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


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
@C.44
Heb je de fsr al direkt getest met een mulitmeter ?

Testing your FSR
The easiest way to determine how your FSR works is to connect a multimeter in resistance-measurement mode to the two tabs on your sensor and see how the resistance changes. Because the resistance changes a lot, a auto-ranging meter works well here. Otherwise, just make sure you try different ranges, between 1M ohms and 100 ohms before 'giving up'.
http://www.instructables....al/step1/Getting-Started/

Acties:
  • 0 Henk 'm!

Verwijderd

- Wat me wel opvalt is dat ie in 't begin (zachtjes drukken) heel veel resolutie heeft en aan 't eind moet ik heel behoorlijk in de sensor knijpen om aan 8Nm te komen.

'Its important to notice that the graph isn't really linear (its a log/log graph) and that at especially low force measurements it quickly goes from infinite to 100K ohms.'

niet lineair dus.

Acties:
  • 0 Henk 'm!

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

C.44

TurboCharged Supra Driver

@Kitao, de FSR werkt en heb ik uitaard voorheen getest op die manier. Niet omdat ik wilde weten of ie defect was maar omdat ik gewoon geen geduld had om 't ding via een breadboard op de arduino aan te sluiten en dan een sketch te schrijven om aan waarden te komen. Uiteindelijk heb ik (na uitvoerig klooien met de multimeter) uiteraard wel de nodige sketches geschreven.

@borroz, dat was me uit de grafieken in de datasheet ook al opgevallen. Met een weerstand van 10K lijkt de grafiek 't minst snel uit te vlakken en die heb ik dus ook in gebruik.

Denk wel dat ik even met Hackerstore moet gaan mailen want dit is niet de FSR402 die ze in hun productomschrijving beschrijven maar de FSR400. Verschil in range enzo.

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


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Volgens mij is er geen verschil in range. Verschil tussen fsr400/2/6/8 zit zo te zien in de afmetingen.
Alle 4 hebben ze dezelfde datasheet met dezelfde grafiek : verticaal 0-100kOhms en 0 tot 2000gram
http://steadlands.com/wp-.../2013/03/fsrdatasheet.pdf

Tijd geleden wou ik ook zo'n sensor maar ik heb er eigenlijk geen praktische toepassing voor en ze zijn nogal prijzig. Zelfs op ebay 13 dollar. Maar heb nog niet verder gezocht.
Viel me ook op dat die aangesloten met een opamp.

[ Voor 5% gewijzigd door kitao op 22-03-2014 12:53 ]


Acties:
  • 0 Henk 'm!

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

C.44

TurboCharged Supra Driver

Eh dat is de FSR400 datasheet, hier is de FSR402 datasheet:
http://www.trossenrobotic...aSheet-FSR402-Layout2.pdf

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


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
In feite staat er in mijn link FSR SERIES 400 DATASHEET
Jij hebt de losse sheet van de 402

/edit ik heb hier 2 sheets, vande 400 en de 402. Beide sheets van dezelfde uitgever.
Vergelijk ze eens
https://www.yumpu.com/en/...253150/fsr-400-data-sheet
https://www.yumpu.com/en/...402-data-sheet-steadlands

zie ook
http://www.rapidonline.co...rs-fsr-400-series-526164/
Force Sensing Resistors - FSR 400 Series
These Force-Sensing Resistors (FSR) are robust, Polymer Thick Film (PFT) devices whose material exhibits a resistance change when a force or pressure is applied. The sensitivity and performance of the FSRs are optimised for use in human touch control applications such as automotive electronics, medical electronics and industrial PCs.

Also available is a Hardware Development Kit (HDK) that contains four each of the FSR400, 402, 406, and 408 sensors, an assortment of overlays and adhesives, and the FSR Integration Guide. The kit is ideal for learning about, building and testing applications involving FSR technology.

Available in six different models with various active area sizes.
Simple and easy to integrate
Actuation force as low as 0.2N
Sensitivity range to 20N
Cost effective
Ultra thin
Robust, up to 10 million actuations

[ Voor 115% gewijzigd door kitao op 22-03-2014 13:30 ]


Acties:
  • 0 Henk 'm!

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

C.44

TurboCharged Supra Driver

Nu begin ik behoorlijk aan mezelf te twijfelen haha. Ik vraag me dan wel serieus af hoe ze op 1 pagina zeggen tot 20Nm en een pagina verder 0.1Nm tot 102Nm Toegegeven met een aantal hefbomen kun je een behoorlijke resolutie kweken maar dat lijkt me niet bepaald de bedoeling.

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


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Ik vind het ook verwarrend. Hiet staat namelijk inderdaad :
Measuring range: 0-20 pounds ( 0-100 Newton ) , evenly spread on the surface area of 0.125 m2
Dus die zou tot 10 kg kunnen meten terwijl anderen weer zeggen tot 2000g
http://www.aliexpress.com...resistors/1519006150.html
Als je naar beneden scrollt zie je wat voorbeelden over testen en een sketch.
Ps, leg anders je vraag voor aan de leverancier ?

[ Voor 5% gewijzigd door kitao op 22-03-2014 15:02 ]


Acties:
  • 0 Henk 'm!

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

C.44

TurboCharged Supra Driver

Dat is dus wat mij ook behoorlijk aan 't verwarren is. Die voorbeelden zijn trouwens gewoon 1 op 1 gekopieerd van Adafruit en kom je zowat overal waar ze 't ding verkopen tegen.

Edit: heb Interlink eens gecontacteerd. Ik ga er niet vanuit dat ik een reactie ga krijgen maar niet geschoten is altijd mis. Ondertussen begint de methode die borroz linkte toch behoorlijk m'n aandacht te trekken.

[ Voor 38% gewijzigd door C.44 op 22-03-2014 15:12 ]

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


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Anders gewoon wat ijkgewichten erop zetten en meten is weten.
Anyway, binnen 11 dagen sparkfun blinkM ontvangen vandaag, verzendkosten $2,75
https://www.sparkfun.com/search/results?term=dev-09904
Ik ga een paar headertjes erop solderen.

/edit
die methode was ultrasoon toch ?
kwam deze site tegen vandaag, lijkt op aliexpress maar bij die hebben ze geen paypal
hier wel, is meteen een link naar die sensors
http://www.banggood.com/buy/sensor-ultrasonic.html

[ Voor 32% gewijzigd door kitao op 22-03-2014 19:54 ]


Acties:
  • 0 Henk 'm!

  • sjnelle
  • Registratie: September 2001
  • Laatst online: 16-10 20:56
mad_max234 schreef op vrijdag 21 maart 2014 @ 18:37:
[...]


Ben ik al twee jaar naar opzoek, en dan niet 100+ euro, GHL heeft stekkerdozen voor hun aquarium computer, die kan je eventueel dan hacken(hardware of gewoon het protocol nabootsen), maar die kosten relatief gezien duur.

http://www.aquariaveldhui...TECHNIEK&merkID=235&nop=1
Hmm idd ik zoek inderdaad zo'n stekkerdozen als GHL maar kan idd ook niks betaalbaars vinden.
Vreemd zullen allemaal de aquarium controllers leveranciers deze zelf ontwikkelen?

Kaku is het ook niet echt, vindt niet geheel betrouwbaar

[ Voor 4% gewijzigd door sjnelle op 22-03-2014 20:08 ]


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Waarschijnlijk wel ja, die ontwikkelen dat waarschijnlijk zelf of laten het ontwikkelen/maken, is niche markt dus ze moeten wel denk ik. En voor bedrijf is dat niet zo heel lastig natuurlijk, zijn simpele onderdelen om te maken en vragen er zat voor dus denk dat ze gewoon in Duitsland gemaakt worden door hun zelf.
kitao schreef op vrijdag 21 maart 2014 @ 22:50:
[...]

:?
Welke makers ? Ik weet nog niet eens wat die afkorting usbasp betekent eigenlijk.
Maar ik zal je link doorlopen, waarvoor alvast bedankt, ik ga ermee verder. :)
Ik geef je al twee keer de link naar de maker van de USBasp programmer. USBasp is een naam, net als kees of piet, betekend dus niks. :D

Edit
Koop maar gewoon zo USBasp voor minder dan 2 euro en installeer AVRdude(5.2 of hoger) en ik garandeer je dat je alle AVR met SPI kan programmeren. Dus ook de 328p en alle andere tiny's en mega's, en mocht je ooit een heel exotisch avr gebruiken en die zit er nog niet bij, kans is heel klein maar kan, dan plak ik wel even nieuwe avr erbij, is binnen 30sec klaar. Hoef je niet te wachten op nieuwe avrdude.

Op ebay koop je usbasp al voor 2 euro of zo, kan je niet eens arduino mini pro voor kopen, die kost 2.20 euro of zo.

Edit/2
Ik heb echt geen aandelen in deze shop hoor. :D
http://www.ebay.com/itm/U...ain_0&hash=item484ba76ee2

[ Voor 73% gewijzigd door mad_max234 op 23-03-2014 13:03 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
mad_max234 schreef op zondag 23 maart 2014 @ 12:31:
USBasp is een naam, net als kees of piet.
Ik had dat eerst echt niet in de gaten, sorry. Dacht aan een afkorting.
Koop maar gewoon zo USBasp en installeer AVRdude(5.2 of hoger) en ik garandeer je dat je alle AVR met SPI kan programmeren. Dus ook de 328p en alle andere tiny's en mega's, en mocht je ooit een heel exotisch avr gebruiken en die zit er nog niet bij, kans is heel klein maar kan, dan plak ik wel even nieuwe avr erbij, is binnen 30sec klaar. Hoef je niet te wachten op nieuwe avrdude.
http://www.ebay.com/itm/U...ain_0&hash=item484ba76ee2
Nou, succes verzekerd dan, heel joviaal van je, tnx :)
Ik zit aan deze te denken
Afbeeldingslocatie: http://i.ebayimg.com/00/s/MTAwMVgxMDAx/z/WDkAAOxycmBSwN~Z/$_12.JPG
Ik zie echter wel dat die een 10-pins IDC-connecter heeft, terwijl de 328 maar 6 pins nodig heeft. Ik dacht dat dat in dit geval niet uitmaakt tog ?

Iets anders, voor diegene die interesse heeft in een BlinkM.
http://thingm.com/products/blinkm/quick-start-guide.html
Vanmorgen getest en is mooi apparaatje. Ziet er een stuk beter uit als een rbg-ledje. Jammer alleen dat het pin-headertje erop gesoldeerd moet worden. Dat witte pcb'tje is nu beetje verkleurd en aangezien die erg klein is, is daarmee de opdruk ook beschadigd.
Nu had ik eigenlijk ook geen goede houder om die mini-postzegel mee vast te zetten :/
(had die eigenlijk vantevoren in breadboard moeten prikken en dan solderen)
Afbeeldingslocatie: https://cdn.sparkfun.com//assets/parts/4/0/0/0/09904-01.jpg
https://www.sparkfun.com/products/9904

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Gewoon jumper kabeltjes tussen de 10pin en 6pin aansluiting, of maakt zelf verloopje met gatenprintje of zo.

Of kant en klare oplossing.
http://www.ebay.com/itm/1...ain_0&hash=item48535354c2

Edit/
Ik heb er zelf ook eentje besteld, dus kan je 1 op 1 helpen. Voor die 1.98 euro(paypall afrekening) kon ik een extra reserve programmer niet laten liggen. :)

Edit/
Je hebt vcc, gnd, sck, miso, mosi en rst nodig van die 10pin connector, elke ISP AVR heeft ook deze pinnen, dat is de ISP poort.

Kijk pin 17, 18 en 19 van de 328p zijn de mosi, miso en sck pinnen, heb je op pin 1 rst zitten, die verbind je door met de programmer pinnen met dezelfde naam en gnd en vcc ook, en dan kan je de chip programmeren.
Afbeeldingslocatie: http://cdn.instructables.com/F1P/WPB9/H337KORO/F1PWPB9H337KORO.MEDIUM.jpg

Let op als bootloader brand dat je daarna direct een 16Mhz kristal nodig hebt anders krijg je geen contact meer met de chip, komt omdat chip dan word ingesteld op externe kristal ipv de interne oscillator. Niet dat je denk dat chip stuk is omdat je geen contact meer krijgt, kristal erbij plaatsen en je krijgt weer contact. :)

Edit/
Wat vind je eigenlijk beter aan blinkm dan direct rgb led aansturen? BlinkM is toch een RGB led op pcb met attiny13 erbij die via pwm de led aanstuurt? En is de i2c niet heel erg traag voor zo iets? 400Khz? SPI zou beter keuze zijn geweest voor zoiets? SPI kan je op 8Mhz(16Mhz AVR) klokken.

[ Voor 79% gewijzigd door mad_max234 op 23-03-2014 15:17 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Het kristal zit in een voetje op mijn vorige foto/link dus makkelijk met verwisselen.
Adaptertje meteen meebesteld, bedankt voor de tip d:)b
Ik snap het nog niet helemaal hoe dat geschakeld zit maar ik wil het voorlopig even erbij laten. Is me al eerder opgevallen dat vragen die gesteld worden als het apparaat eenmaal binnen is, voor zichzelf spreken of juist dat er dan vragen opkomen waar ik nu nog niet aan denk. Ik heb wel jouw post genoteerd om bij levering dit onderwerp makkelijk terug te kunnen vinden.

Over die BlinkM
Zit leuk besturingsprogramma bij, hiervoor gespeeld met rgb-clear ledjes en de M vind ik gewoon een mooier licht
afgeven. Kan best zijn dat met een diffuus rgb'tje het weinig uitmaakt. Over de snelheid, eigenlijk niet zo opgelet.
De M heeft zn eigen controller waar je in kunt uploaden en dan kan die los werken op een eigen voeding dus in dat geval is enige verbinding niet meer van belang.
Maar normaal gesproken met een programma via een arduino gaat het via A4 en A5 (sda , sck)
Niet via TX, RX
(maar nogmaals, ik kan echt niet in microseconden tellen om te kijken of dat sneller gaat :+

Acties:
  • 0 Henk 'm!

  • Raven
  • Registratie: November 2004
  • Niet online
mad_max234 schreef op zondag 23 maart 2014 @ 14:52:
Kijk pin 17, 18 en 19 van de 328p zijn de mosi, miso en sck pinnen, heb je op pin 1 rst zitten, die verbind je door met de programmer pinnen met dezelfde naam en gnd en vcc ook, en dan kan je de chip programmeren.
Afbeeldingslocatie: http://cdn.instructables.com/F1P/WPB9/H337KORO/F1PWPB9H337KORO.MEDIUM.jpg
Raar plaatje. De pinlayout is volgens de titel bovenaan van de 328, onderaan staat dat pins 11-12-13 gebruikt worden voor MISO-MOSI-SCK. Bij de pinbeschrijvingen staan die functies echter bij pins 17-18-19, die van de 168 aldus de tekst onderaan :?

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!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Snelheid is bij 1 led niet van belang natuurlijk, maar bij 10x10 paneeltje(je hebt 127 i2c adressen) waar je iets wilt op laten bewegen kan zijn dat het al wat krap word.

@Raven
Ik heb het over chip pinnen niet arduino pin mapping, die staan in rood erbij, je kan de pinnen op meerdere manier benoemen.

Chip pinnen 17, 18 en 19 zijn ISP/SPI oftewel vertaald naar arduino pinnnen 11, 12 en 13.
Dan kan je pinnen ook nog via poort en pin benoemen, dus PB3, PB4 en PB5.

Dat is allemaal hetzelfde pinnen dus alleen op andere manier benoemd. :)

Edit.
Atmega88, 168, 328, etc zijn identiek, alleen geheugen is groter, zijn dezelfde serie en delen ook datasheet met elkaar, zoals wel vaker bij uC. :)

Dus of ze er nu 168 neerzetten of 328 dat maakt niks uit.

Is overigens niet mijn plaatje, gewoon geleend. :

[ Voor 19% gewijzigd door mad_max234 op 23-03-2014 17:16 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
En ik had nog wel zo'n mooie pinlay-out neergezet ... :/

kitao in "[Discussie] Arduino-topic"

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Ik vind plaatje hierboven veel overzichtelijker, en je hebt ook tenminste de pin namen zoals ze officeel zijn, zoals ze meestal in libs gebruikt worden, PB3, PC0, etc. En je hebt de echte pin van de chip erbij als je stand alone maakt zul je merken dat je de pinnen moet weten van de chip. Meer heb je niet nodig en leid allemaal maar af, maar dat is persoonlijk natuurlijk.

En staat ook nog in rood de arduino pin mapping bij, zoals digital 1, 2, 3, etc.

[ Voor 10% gewijzigd door mad_max234 op 23-03-2014 17:40 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Toch vind ik deze mooier }:|

Afbeeldingslocatie: http://www.pighixxx.com/pgdev/Temp/ARDUINO_V2.png

Maar zonder gekheid, mijn vorige post was niet om de wijsneus uit te hangen maar ik dacht, misschien helpt het bij Ravens vraag.
Beter dan wel rechtsonder kijken naar het kleuren/pin/tabelletje. Toen ik dat zag werd me stukje duidelijker.

Ps, sommige stand-alones hebben handige sticker

Afbeeldingslocatie: https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQYbqFPlnH5YHP79iOy62tJjdT4Ce-IS0zfUIaHObuVPd-TKjZJ

Zo eentje heb ik van Iprototype maar is inmiddels overleden. (op gaatjesprint kortgesloten wrs)
Toch bewaar ik die, enkel voor dat stickertje. :7

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Ik kijk niet naar wat mooier is, niet belangrijk, maar kijk wat ik overzichtelijker en sneller kan aflezen, plaatje(zonder de rode teksten) is uit de datasheet gehaald, en die zijn we gewend om te lezen. :D

[ Voor 6% gewijzigd door mad_max234 op 23-03-2014 18:00 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
mad_max234 schreef op zondag 23 maart 2014 @ 17:58:
Ik kijk niet naar wat mooier is, niet belangrijk, maar kijk wat ik overzichtelijker en sneller kan aflezen, plaatje(zonder de rode teksten) is uit de datasheet gehaald, en die zijn we gewend om te lezen. :D
Sorry, niet gezien
Was dat pagina 1 of pagina 344 ? :?

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
krijg je als je niet nooit kijkt, want er is gewoon indexering(vaak klikbaar) aan einde of begin van elke atmel datasheet. Je leest wel boeken maar je bent niet thuis in hoe je indexering gebruikt? :D

Edit/
Overigens staat deze info ook in de korte datasheet die elke avr ook heeft, die is meestal maar 30 pagina en zijn aantal pagina's ook nog gewijd aan info voor het bestellen, zijn soort van jip en janneke boekjes, wellicht is dat optie voor jou. :+ :P

Maar dat had je kunnen zien als je keertje de product pagina had bezocht van een willekeurige AVR. :D :P

Speciaal voor jou, korte versie. :D
http://www.atmel.com/Imag...28P_datasheet_Summary.pdf

En datasheet heeft 660 pagina's overigens. >:)

Edit/
Ik loop maar wat te dollen hoor, niet te serieus opvatten aub. ;)
Iedereen moet zelf weten hoe die iets doet natuurlijk.

[ Voor 74% gewijzigd door mad_max234 op 23-03-2014 18:14 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Geloof me max, ikheb echt wel gekeken naar de pin-indeling langer als vandaag. En vaak zit die gewoon in een link van één of ander kit-projectje zoals jij dat noemt.
Dat ik nu ging kijken naar de IDC-connector komt idd door het boek 'practical avr microcontrollers'.
Eerste gedeelte loopt schrijver heel moeilijk te doen over programmers e.d maar hij blijft wel gebruik maken van de arduino ide. Dan kan je net zo goed het chipje uitwisselen.
Dus vandaar eigenlijk dat ik al eerder heb gezegd dat ik geen interesse meer heb in een usbasp en benodigd Studio6 bijvoorbeeld is meen ik een halve gigabyte.
En dan ben je een week bezig om dat programma te doorgronden.
Maar omdat het materiaal zo goedkoop is toch maar besteld, kan er hooguit wat van leren.
En tegelijkertijd ben ik bezig met andere pdf's
Zoals over BlinkM, hfdst 7 van beginning arduino programming
Omdat de levertijden zo lang duren heb ik dus diverse pdf's nodig om bezig te kunnen blijven.
Neem ik maar 1 boek of site als uitgangspunt dan sta ik meteen weken stil.
Zoals bij tronixstuff waar ik 3x 74hc4066 voor nodig heb.
Die container is wrs overboord overgeslagen ergens in de chinese zee

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Dus je gaat steeds atmega kopen en hoe ga je die van van bootloader voorzien?

Heb je daar misschien adresje voor die er gratis bootloader erop zetten of zo? Want winkel die ik ken die atmega met bootloaders verkopen hier in nederland vragen er relatief gezien veel geld voor, 100 a 200% meer dan je betaald bij mouser, farnell, etc. Als je het op die manier doet zou je de programmer er al na 1 chip terug verdiend hebben als je bootloader zelf erin kan branden.

En je kan voortaan ook attiny's gebruiken icm met ardiuno IDE, attiny45 en 85 zijn populair onder de arduino gebruikers.

AVRstudio is gewoon een IDE en C compiler, beetje zoals notepad++ die je als het goed is ook gebruikt, als ik met het goed herinner tenminste. :)

Edit
Hoe oud is dat boek?

Want paar jaar terug moesten we gewoon hex file uploaden via serial poort of programmer, bestand nog geen arduino met usb.

Of geeft die anders zelf geen motivatie waarom die programmer gebruikt?

[ Voor 13% gewijzigd door mad_max234 op 23-03-2014 18:41 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Ik zou idd met een uno to breadboard de bootloader erop kunnen zetten maar ik heb er twee gekocht met bootloader voor $6,56 free shipping
http://www.ebay.com/itm/4..._trksid=p3984.m1439.l2649
Koop je er >10 nog goedkoper.
En ik maak weinig praktijkprojecten, ik ben meer aan het testen. Enige standalone die ik op dit moment vast in gebruik heb is voor mijn receiversetje.
Dus het is meer experimenteren als dat ik ze bij bosjes ga toepassen. Tiny is mij nog redelijk onbekend, is misschien wel handig om daar verder naar te kijken.
Notepad++ zou ik niet meer kunnen missen idd, zonder dat programma ben je bij wijze van spreken half blind

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Dat scheelt alweer, dacht even dat je ze via Nederlandse webshops aan kopen was, daar betaal je vaak meer dan 5 euro en komt er nog verzendkosten bij. Koop de mega's altijd per 25 stuks, kosten nu bij mouser 1,50 euro, kan dan weer hele tijd vooruit en hoef nooit te wachten, dit is voor eigen gebruik wel te verstaan.

Ik jaag soms tientallen atmega's per dag doorheen al ik productie draai, maar die worden ook gewoon los besteld speciaal voor het project.

Tiny's zijn gewoon AVR's, maar dan met minder pinnen en minder geheugen maar ze kosten ook erg weinig, tiny85 kost je +-60 cent als je er 25 koopt. En attiny13 die op de blinkM zit kost 43cent, ook bij afnamen van 25 stuks.

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
In nederland kost een standalone/wboot 328 iets rond de 7-8 euro, incl verz. Deze bijvoorbeeld
http://www.bitsandparts.e...lone_Set_(ATmega328).html
Voordeel is dan wel dat er perifere onderdelen bij zitten.

Ik heb trouwens ook een atmega2560
Al een half jaar ofzo omdat ik ergens mee bezig was toen op een enkele na alle pinnen van de uno bezet waren.
Dat bleek tot nu toe uitzondering te zijn, dus die ligt nu mooi opgeborgen te verstoffen.
Is totaal anders als bij jou waar ze er als warme broodjes erdoorheen vliegen ;)

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Ik doe voor eigen gebruik ook wel tijdje met 25 stuks. Maar als ik bijvoorbeeld 50 printjes maak voor groepje mensen dan vliegen de onderdelen er wel doorheen. Wil niet weten hoeveel weerstandjes ik al vast heb gehad, en bijna altijd smd laatste jaren.

Pick and place machine zou wel handig zijn. :)

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
mad_max234 schreef op zondag 23 maart 2014 @ 19:12:
Ik doe voor eigen gebruik ook wel tijdje met 25 stuks. Maar als ik bijvoorbeeld 50 printjes maak voor groepje mensen dan vliegen de onderdelen er wel doorheen. Wil niet weten hoeveel weerstandjes ik al vast heb gehad, en bijna altijd smd laatste jaren.

Pick and place machine zou wel handig zijn. :)
Met 25 stuks zou ik wel langer dan 'een tijdje' doen :P.

Overigens vind ik €1,50 voor een atmega eigenlijk nog wel prijzig. Oké het is niet duur :P, maar de kleinere ARM M0s kan je voor evenveel krijgen.

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
M0 zit ook in dezelfde vijver als de mega en Xmega's, dus dat is niet zo heel vreemd, zijn iets sneller maar mag ook wel want zit bijna 2 decennia tussen de twee ontwerpen. :)

Atmel moet eigenlijk haar ARV helemaal op moderne proces ontwerpen en veel verder opvoeren. Maar denk dat er gewoon nog steeds heel veel AVR's verkocht worden. Want Atmel heeft net zo goed M0 in haar asortiment, maar denk dat AVR nog te lucratief is om af te schrijven.

Maar met M0 van +-1.50 euro(M0 lopen nogal uit een van de verschillende fabrikanten) kan je niet gek veel meer dan Xmega, wellicht heb je zelfs minder pinnen, minder peripheral mogelijkheden, etc dan Xmega van 1,78 euro zoals de Xmega32a4u.

Edit/
Die Cypress Semiconductor, Silicon Labs en Freescale Semiconductor zijn echt heel goedkoop, prijzen staan volgens mijn behoorlijk onder druk, uC prijzen zijn behoorlijk gedaald afgelopen maanden.

Bijvoorbeeld deze 0.856 euro per stuk bij afnamen van één stuk.
http://nl.mouser.com/Prod...2LoCaeppX9FlIFLxhuN49M%3d

Edit/2
Eigenlijk missen we nog een arduino die gat tussen de Arduino due en gewone arduino dicht, 32bit in originele formaat arduino, M0 zou daar wel goed bij aansluiten denk ik.

Edit/3
De peripheral en opties van zo goedkope M0 is wel erg magertjes, 2 timers, Xmega32a4u van 1.78 euro heeft 6 timers, usb, 4 usart, 2 spi, 2 i2c, etc. Daar zit dus wel verschilletje in, zo een goedkope M0 is meer een ATtiny met een turbo clock op steroid. :D

[ Voor 38% gewijzigd door mad_max234 op 23-03-2014 22:22 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
Had inderdaad al wel gezien dat die van Freescale bijvoorbeeld goedkoper zijn dan die van NXP. Imo hebben NXP microcontrollers over het algemeen een voordeel: NXP heeft bijzonder weinig geschiedenis, dus ze hebben bijna allemaal 32-bit peripherals, terwijl andere zoals Freescale regelmatig gewoon een 8-bit peripheral copy-pasten.

En ja het is wel zo dat de goedkope M0s weinig aan peripherals hebben, als je meer wilt ga je toch richting boven de 2 euro (oké ga je ook niet failliet op :P). Maar een echte 32-bit timer is wel een stuk zinvoller dan een 8-bit timer. Vooral als er meerdere compare registers op zitten: ik heb bijvoorbeeld microcontrollers die tot 6 PWM outputs op een enkele timer hebben zitten.

Probleem van Arduino is een beetje dat het voor 8-bit is gemaakt, en bijvoorbeeld qua timers je functies zou willen hebben, die dan niet op een 8-bitter werken.

[ Voor 10% gewijzigd door Sissors op 23-03-2014 22:33 ]


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Xmega's kunnen tot acht 16bit flexibele timers bevatten, kan twee timers koppelen tot 32bit timer.
Mega heeft meestal maar één 16bit en één 8bit timer.

Xmega heeft 4 timer outputs per timer, dus 4 pwm per timer maximaal, 32 pwm's maximaal dus voor de grootste Xmega.

Meeste Xmega's hebben ook minimaal 1 echte 32bit timer, kan je bijvoorbeeld gebruiken voor RTC.

Zijn nog paar onderdelen zoals sommige registers zijn in 16bit uitgevoerd, atmel noemt de Xmega 8/16bit uC, simpel gezegd kruising tussen 8bitter en 16bitter. :)

Edit
Arduino is niet speciaal meer voor 8bitters, due is 32bit en zal steeds meer worden, kwestie van libs even aanpassen, meeste goed geschreven libs zullen allang aangepast zijn voor 32bitters, due gebruik M3, broer van de M0.

Even dat intel ding buiten beschouwing gelaten, want dat zie ik niet echt van de grond af komen tot nu toe.

[ Voor 35% gewijzigd door mad_max234 op 23-03-2014 22:55 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • ResuCigam
  • Registratie: Maart 2005
  • Laatst online: 15:51

ResuCigam

BOFH

Een leuk stukje informatie van Make magazine over microcontroller boards.

We do what we must because we can.


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Leuk artikel ResuCigam.

Iets anders, ik was bezig met iets te debuggen en had serial.print nodig. Nu viel me op:
C++:
1
2
3
4
5
6
answer=num1+num2;
      Serial.print(num1);
      Serial.print("+");
      Serial.print(num2);
      Serial.print("=");
      Serial.println(answer);

Dat zijn 5 coderegels om 1 zinnetje uit te printen. :|
Ben op zoek gegaan of dat niet tot 1 coderegel verkort kan worden maar zie het nergens. (?)

Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
mad_max234 schreef op zondag 23 maart 2014 @ 22:41:
Edit
Arduino is niet speciaal meer voor 8bitters, due is 32bit en zal steeds meer worden, kwestie van libs even aanpassen, meeste goed geschreven libs zullen allang aangepast zijn voor 32bitters, due gebruik M3, broer van de M0.
Dat weet ik, alleen oorspronkelijk was het voor 8-bitters, en op 32-bitters kan je dingen doen die je op 8-bitters gewoon realistisch gezien niet lekker kan doen. Als je die opties wilt toevoegen dan verlies je compatibility tussen arduino platformen.

Of je een UART op een 8-bit of 32-bit platform gebruikt maakt weinig uit, en is gewoon kwestie van lib schrijven voor de 32-bitter. Maar als je vergelijkt met mbed, daar heb je bijvoorbeeld de optie om hem elke 10 seconde een timer interrupt te laten generen. Of elke 12 microseconde. Dat ga je gewoon niet doen met een 8-bit countertje. Met een 16-bit zou het al wel kunnen als je het echt wilt doen. Maar dan krijg je ook weer beetje probleem niet zozeer met het aantal bits, maar dat je dan bij je origineel snel door je PWM opties heen bent.

@Kitao, dat is zover ik weet een probleem met Arduino, ondersteund geen normale C printf functies waarmee het wel op één regel kan. En dat is ook zo iets, op een 32-bitter kan dat prima draaien. Maar als je die optie toevoegt heb je geen compatibility meer met de 8-bitters.

Jammer trouwens dat ze in dat artikel compleet mbed negeren.

[ Voor 21% gewijzigd door Sissors op 24-03-2014 08:09 ]


Acties:
  • 0 Henk 'm!

  • Raven
  • Registratie: November 2004
  • Niet online
kitao schreef op maandag 24 maart 2014 @ 05:13:
Leuk artikel ResuCigam.

Iets anders, ik was bezig met iets te debuggen en had serial.print nodig. Nu viel me op:
C++:
1
2
3
4
5
6
answer=num1+num2;
      Serial.print(num1);
      Serial.print("+");
      Serial.print(num2);
      Serial.print("=");
      Serial.println(answer);

Dat zijn 5 coderegels om 1 zinnetje uit te printen. :|
Ben op zoek gegaan of dat niet tot 1 coderegel verkort kan worden maar zie het nergens. (?)
Daar heb ik volgens mij ook al eens naar gezocht, kon daar geen oplossing voor vinden :/ Voor zover ik weet is het niet mogelijk tekst en de inhoud van een var tegelijk te serial.printen.

edit: Ah wacht, zie hieronder. Dat scheelt een paar regels :)

[ Voor 3% gewijzigd door Raven op 24-03-2014 10:03 ]

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!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Lastig typen op de ipad:

Char buf[256];
sprintf("%d + %d = %d", num1, num2, answer);
Serial.println(buf);

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


Acties:
  • 0 Henk 'm!

  • alfaleader
  • Registratie: Mei 2009
  • Laatst online: 02-12-2024
Je kan ook door een paar regels toe te voegen aan een arduino bestand printf() gebruiken.

http://playground.arduino.cc/Main/Printf#.Uy_zSZEh6Tc

Dan heb je gewoon:
code:
1
Serial.printf("%d + %d = %d", num1, num2, answer);

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Sissors schreef op maandag 24 maart 2014 @ 08:00:
[...]

Dat weet ik, alleen oorspronkelijk was het voor 8-bitters, en op 32-bitters kan je dingen doen die je op 8-bitters gewoon realistisch gezien niet lekker kan doen. Als je die opties wilt toevoegen dan verlies je compatibility tussen arduino platformen.

Of je een UART op een 8-bit of 32-bit platform gebruikt maakt weinig uit, en is gewoon kwestie van lib schrijven voor de 32-bitter. Maar als je vergelijkt met mbed, daar heb je bijvoorbeeld de optie om hem elke 10 seconde een timer interrupt te laten generen. Of elke 12 microseconde. Dat ga je gewoon niet doen met een 8-bit countertje. Met een 16-bit zou het al wel kunnen als je het echt wilt doen. Maar dan krijg je ook weer beetje probleem niet zozeer met het aantal bits, maar dat je dan bij je origineel snel door je PWM opties heen bent.

@Kitao, dat is zover ik weet een probleem met Arduino, ondersteund geen normale C printf functies waarmee het wel op één regel kan. En dat is ook zo iets, op een 32-bitter kan dat prima draaien. Maar als je die optie toevoegt heb je geen compatibility meer met de 8-bitters.

Jammer trouwens dat ze in dat artikel compleet mbed negeren.
Je kan door een 8bit timer overflows te tellen prima een 10sec interrupt te laten afvuren, is de gebruikelijk manier hoe het altijd al gedaan is, resolutie van de timer is niet van belang hierbij.
Wat lastig is met 8bit is heel nauwkeurig iets uitvoeren, dat gaat met 16bit of 32bit veel makkelijker omdat je de overflow nauwkeurig kan kiezen. Maar je kan met 8bit hetzelfde als met 32bit timer alleen zal je wat meer overflows moeten tellen bij 8bit dan bij 32bit.

Edit/
Printf word gewoon ondersteunt door arduino, gebruik het geregeld. ;)

Moet het wel gewoon gebruiken op de C manier en niet zoiets als Serial.printf want dan ben je arduino functies aan het aanspreken.

printf(); en niet Serial.printf

Paar voorbeeldjes
C:
1
2
3
4
5
6
7
8
   printf ("Characters: %c %c \n", 'a', 65);
   printf ("Decimals: %d %ld\n", 1977, 650000L);
   printf ("Preceding with blanks: %10d \n", 1977);
   printf ("Preceding with zeros: %010d \n", 1977);
   printf ("Some different radices: %d %x %o %#x %#o \n", 100, 100, 100, 100, 100);
   printf ("floats: %4.2f %+.0e %E \n", 3.1416, 3.1416, 3.1416);
   printf ("Width trick: %*d \n", 5, 10);
   printf ("%s \n", "A string");


Als je printf bij serial wilt gebruiken kan je beste sprintf gebruiken. Maar daarmee een sting en die string kan je dan weer via Serial.print versturen naar je Serial. Heb voorbeeld gemaakt, test die maar eens.

C:
1
2
3
4
5
6
int uur = 17
int minuten = 54
int seconden = 34
 char buffer[9]; //lengte aanpassen
 sprintf(buffer, "%02d:%02d:%02d", uur, minuten, seconden);
Serial.print(buffer);


Hier staan alle functies van sprintf, en hoe je de string kan manipuleren.
http://www.cplusplus.com/reference/cstdio/sprintf/

[ Voor 25% gewijzigd door mad_max234 op 24-03-2014 11:30 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • Milosonator
  • Registratie: Juni 2006
  • Laatst online: 14:45
Ik heb een hoogte-meter gemaakt om aan een ballon de lucht in te gaan. Simpele barometer aan een mini pro. Twee knoopcellen voor power. Meet elke 30 seconden en slaat het resultaat op in het EEPROM. De 1024 bytes geven (3 floats) genoeg ruimte voor 85 metingen. Dit zorgt dus voor 40 minuten metingen, zonder extern geheugen.

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

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

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

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

De rode jump-wire is de 'mode-selector', wanneer deze high is bij startup, (aan pin 6 verbonden), zal het programma de uitlees-modus activeren. Wanneer deze laag is bij startup, (aan GND), zal deze in opname-modus opstarten. De modus wordt aangeduidt door of te knipperen of contant de LED te laten branden.

code:
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
#include <Wire.h>
#include <Adafruit_BMP085.h>
#include <EEPROM.h>

Adafruit_BMP085 bmp;
int addr = 0;

//Code for altimeter data collection using BMP085 sensor
//Data stored in EEPROM
//

void setup() {
  Serial.begin(9600);
  if (!bmp.begin()) {
    Serial.println("Could not find a valid BMP085 sensor, check wiring!");
    while (1) {}
  }
  pinMode(6, OUTPUT);
  pinMode(7, INPUT);
  digitalWrite(6, HIGH);
  delay(50);
  if(digitalRead(7) == HIGH) {
    pinMode(13, OUTPUT);
    digitalWrite(13, HIGH);
    delay(5000);
    readEEPROM();
  } else {
    flashLED(5000);
    Serial.println("Entered data gathering mode, please stand by...");
    delay(5000);
    Serial.println("Initiating measurements...");
    loop();
  }
  //into loop function
}

void flashLED(int duration){
  for (int i = 0; i < duration / 100; i++) { 
    digitalWrite(13, HIGH);
    delay(50);
    digitalWrite(13, LOW);
    delay(50);
  }
}

void terminate(){
  digitalWrite(13, LOW);
  while(1){
    delay(100000);
  }
}

void readEEPROM(){
  Serial.println("Entered read mode, please stand by...");
  delay(5000);
  Serial.println("Initiating readout...");
  for(int i = 0 ; i < 1024; i+=4) {
    Serial.println(EEPROM_readFloat(i));
    delay(20);
  }
  terminate();
}

void loop() {
    float tmp = bmp.readTemperature();
    delay(50);
    float pre = bmp.readPressure();
    delay(50);
    float alt = bmp.readAltitude();
    delay(50);
    float ral = bmp.readAltitude(101000); //current pressure in Pa.
    delay(50);
  
    //if serial present, output the data
    Serial.print("Temperature = ");
    Serial.print(tmp);
    Serial.println(" *C");
    
    Serial.print("Pressure = ");
    Serial.print(pre);
    Serial.println(" Pa");

    Serial.print("Altitude = ");
    Serial.print(alt);
    Serial.println(" meters");

    Serial.print("Real altitude = ");
    Serial.print(ral);
    Serial.println(" meters");
    
    //store float vals
    EEPROM_writeFloat(addr, tmp);
    EEPROM_writeFloat(addr+4, pre);
    EEPROM_writeFloat(addr+8, ral);
    
    //incr to next 12 bytes
    addr+=12;
    Serial.println(addr);
    //OOM
    if(addr>1012){
      Serial.println("No more memory, end of data-gathering, now terminating");
      terminate();
    }
    delay(30000);
}

void EEPROM_writeFloat(int addr, float val) {
   union u_tag {
      byte b[4]; 
      float fval;
  } u;
  
  u.fval = val;
  
  EEPROM.write(addr, u.b[0]);
  EEPROM.write(addr+1, u.b[1]);
  EEPROM.write(addr+2, u.b[2]);
  EEPROM.write(addr+3, u.b[3]);
}

float EEPROM_readFloat(int addr){
  union u_tag {
      byte b[4]; 
      float fval;
  } u;
  
  u.b[0] = EEPROM.read(addr);
  u.b[1] = EEPROM.read(addr+1);
  u.b[2] = EEPROM.read(addr+2);
  u.b[3] = EEPROM.read(addr+3);
  
  return u.fval;
}

Tweakblog, voornamelijk over 3d-printen


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Sorry voor de onderbreking Milosonator,ik wil even terugkoppelen. Ik hou het kort, deze sites bekeken:
http://playground.arduino.cc/Main/Printf#.UzAJifl5PbR
http://www.cplusplus.com/reference/cstdio/printf/
http://www.programmingsimplified.com/c-program-examples
http://www.cplusplus.com/reference/cstdio/sprintf/
Ben er nog niet uit voorlopig
C++:
1
2
3
4
5
6
7
8
9
10
11
12
void setup(){
  Serial.begin(9600);
}
void loop(){
  int uur = 17; 
  int minuten = 54 ;
  int seconden = 34 ;
  char buffer[9]; //lengte aanpassen 
  sprintf(buffer, "%02d:%02d:%02d", uur, minuten, seconden); 
  Serial.println(buffer);
  delay(200);
}

Alleen met bovenstaand zie ik op de ser.mon iets in beeld komen.
Verder las ik dit en ben nogal voorzichtig aangelgd met rommelen in dit soort files.
To add printf() support to the Print class you must modify the Print class header file.

Iedereen bedankt, ik zoek verder.

Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
mad_max234 schreef op maandag 24 maart 2014 @ 11:10:
[...]


Je kan door een 8bit timer overflows te tellen prima een 10sec interrupt te laten afvuren, is de gebruikelijk manier hoe het altijd al gedaan is, resolutie van de timer is niet van belang hierbij.
Wat lastig is met 8bit is heel nauwkeurig iets uitvoeren, dat gaat met 16bit of 32bit veel makkelijker omdat je de overflow nauwkeurig kan kiezen. Maar je kan met 8bit hetzelfde als met 32bit timer alleen zal je wat meer overflows moeten tellen bij 8bit dan bij 32bit.
Daarom ook: Het kan wel, maar of je het moet willen is een tweede. Als je namelijk tegelijkertijd ook die hoge resolutie wilt hebben kan je niet de maximum prescaler ervoor zetten. En dan is het niet handig als jij als random gebruiker denkt elke 5 seconde simpelweg een interrupt te krijgen, terwijl hij op de achtergrond continue interrupts moet handlen. Bij een 16-bit counter gaat dat nog wel, bij 32-bit hoeft het nooit behalve de user interrupt. Bij 8-bit ben je echt een hele hoop tijd kwijt aan je interrupts.

Even snel bijvoorbeeld bij een atmega8 gechecked: Die heeft een tot 1024x prescaler. Betekend dat het je wat resolutie kost, maar in principe kan je dus een 18-bit timer ermee maken, en daar kom je een heel eind mee voor je 10 seconde interrupt. Maar als jij nu tegelijkertijd op diezelfde timer ook microseconde precisie wilt hebben voor snelle interrupts, dan kan je niet zulke hoge prescalers gebruiken. En die optie wil je wel hebben als je een makkelijk te gebruiken arduino Timing lib hebt.

Overigens als standaard printf gewoon gebruikt kan worden, waarom hebben ze het dan niet even naar Serial ook doorgelust standaard? Als hij het toch al kan zie ik weinig reden om het niet als optie te hebben om bij Serial te gebruiken.

Maar in het algemeen biedt een Arduino geen volledige C++ support. Zover ik weet omdat dat simpelweg veel te veel geheugen kost op een 8-bitter. Op een ARM kan dat wel (op de allerkleinste na).

Begrijp me niet verkeerd, Arduino is een mooi platform, en ik heb het dan ook gebruikt. Maar als ik voor een 32-bit applicatie moet kiezen tussen Arduino en mbed, dan is de keuze heel snel gemaakt voor mij. Andersom ook, want mbed zal nooit draaien op een 8-bitter.

Edit: Overigens is dit ook door mijn schuld wel beetje offtopic eigenlijk, ook al is het een Arduino topic ;)

[ Voor 28% gewijzigd door Sissors op 24-03-2014 12:24 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Misschien telt dit mee :
printf() makes your executable object ~1000 bytes larger, so you may not want to use it if size is a problem.
http://playground.arduino.cc/Main/Printf#.UzAJifl5PbR
Ingewikkeld hoor die site.

Acties:
  • 0 Henk 'm!

  • rense
  • Registratie: Mei 2003
  • Laatst online: 14:54
@Milosonator e.a.: Waar haal jij je (female)-stekkertjes die mooi op de arduino-pinnen passen? Die op jouw foto's zien er praktisch uit. Zet je ze zelf op de draadjes?

Acties:
  • 0 Henk 'm!

  • Raven
  • Registratie: November 2004
  • Niet online
rense schreef op maandag 24 maart 2014 @ 12:41:
@Milosonator e.a.: Waar haal jij je (female)-stekkertjes die mooi op de arduino-pinnen passen? Die op jouw foto's zien er praktisch uit. Zet je ze zelf op de draadjes?
Female: http://www.ebay.co.uk/itm...-2-54mm-0-1-/140517326129?
Male: http://cgi.ebay.co.uk/ws/...iewItem&item=130564177622
Behuizingen hebben ze daar ook: http://www.ebay.co.uk/sch...der+plug+housing&_sacat=0

En deze tang heb je nodig: http://www.adafruit.com/products/1213

Deze kabel gebruik ik er overigens bij: http://www.ebay.com/itm/1...ain_0&hash=item5d405ef292

Mbv bovenstaande heb ik de kabels van mijn CNY70 sensor in de meterkast van male connectors voorzien die ik zo op het breadboard met de Nano kan aansluiten :)

[ Voor 19% gewijzigd door Raven op 24-03-2014 12:49 ]

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!

  • Milosonator
  • Registratie: Juni 2006
  • Laatst online: 14:45
rense schreef op maandag 24 maart 2014 @ 12:41:
@Milosonator e.a.: Waar haal jij je (female)-stekkertjes die mooi op de arduino-pinnen passen? Die op jouw foto's zien er praktisch uit. Zet je ze zelf op de draadjes?
Ik doe liever niet moeilijk met plugjes en krimpers. Ik heb die female-female jumperheaders al lang geleden gekocht, maar omdat ze bijna op zijn heb ik een tijdje geleden deze besteld:

http://www.ebay.nl/itm/161135316322

Het dubbele stekkertje is een kabeltje van een HDD led of powerbutton uit een PC getrokken. Het zijn allemaal stekkertjes met een .1' pitch.

Tweakblog, voornamelijk over 3d-printen


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Ik dacht in 1e instantie ook dat het gewone jumpers waren. Mooi gedaan trouwens die barometer. Heb je het al getest en werkt het nu goed ?

Acties:
  • 0 Henk 'm!

  • Milosonator
  • Registratie: Juni 2006
  • Laatst online: 14:45
kitao schreef op maandag 24 maart 2014 @ 13:34:
Ik dacht in 1e instantie ook dat het gewone jumpers waren. Mooi gedaan trouwens die barometer. Heb je het al getest en werkt het nu goed ?
Ik heb het alleen -on the ground- getest. Ben momenteel aan het denken hoe ik mijn arduino (met data) terug krijg als ik hem aan een helium ballon hang. Ik heb een oude android waarop ik een GPS-tracker kan zetten, maar deze weegt 150 gram en dat zijn best een aantal heliumbalonnen.

Tweakblog, voornamelijk over 3d-printen


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Ja,daar zeg je wat, als die ballon ergens in londen terecht komt dan ben je alles kwijt. Ik dacht misschien dat je die aan touwtje vast had zitten.
Over sensors gesproken, ik kwam een line-tracker tegen in een boek (arduino robotics) waar de schrijver zelf 5 IR-transievers naast elkaar had gezet. Dit is stukje makkelijker
Afbeeldingslocatie: http://www.icstation.com/images/productimages/2487/2487.JPG
http://www.banggood.com/5...ed-Detection-p-90950.html
soort stofzuigermodel :+
Leuke site maar waardeloze met beperkte zoekmogelijkheden.
Vond het pas door "sensor" in te vullen en dan alles na lopen.

[ Voor 13% gewijzigd door kitao op 24-03-2014 14:28 . Reden: foto resize ]


Acties:
  • 0 Henk 'm!

  • Milosonator
  • Registratie: Juni 2006
  • Laatst online: 14:45
kitao schreef op maandag 24 maart 2014 @ 14:04:
Ja,daar zeg je wat, als die ballon ergens in londen terecht komt dan ben je alles kwijt. Ik dacht misschien dat je die aan touwtje vast had zitten.
Over sensors gesproken, ik kwam een line-tracker tegen in een boek (arduino robotics) waar de schrijver zelf 5 IR-transievers naast elkaar had gezet. Dit is stukje makkelijker
[afbeelding]
http://www.banggood.com/5...ed-Detection-p-90950.html
soort stofzuigermodel :+
Leuke site maar waardeloze met beperkte zoekmogelijkheden.
Vond het pas door "sensor" in te vullen en dan alles na lopen.
Een touwtje... Genious.. Wel een aardige lengte nodig om tot een leuk resultaat te komen.

Tweakblog, voornamelijk over 3d-printen


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Tja, een instrument lanceren en dan niet weten hoe die weer terug te vinden schiet ook niet op. Of er 40 miles acheraan rijden is ook geen pretje.
Maar even gezocht, voor een weerballon wordt een zogenaamde radiosonde gebruikt
Afbeeldingslocatie: http://www.odlt.org/dcd/images/radiosonde.gif
Die zijn op ebay te krijgen
http://www.ebay.com/bhp/radiosonde

[ Voor 42% gewijzigd door kitao op 24-03-2014 23:42 . Reden: Ps ]


Acties:
  • 0 Henk 'm!

Verwijderd

Milosonator schreef op maandag 24 maart 2014 @ 13:51:
[...]


Ik heb het alleen -on the ground- getest. Ben momenteel aan het denken hoe ik mijn arduino (met data) terug krijg als ik hem aan een helium ballon hang. Ik heb een oude android waarop ik een GPS-tracker kan zetten, maar deze weegt 150 gram en dat zijn best een aantal heliumbalonnen.
Afbeeldingslocatie: http://i.ebayimg.com/00/s/NjAwWDYwMA==/z/VTIAAOxy--NRv9Bv/$T2eC16d,!zEE9s3!Y8nqBRv9But%28Pg~~60_3.JPG
ik verwacht zo'n ding eind van de week, ook om ergens in te bouwen, dan kan ik je vertellen of die werkt 8)

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Weight
Approx. 55g

Goeie tip Borroz

Moet je daar eigenlijk geen vergunning voor hebben voor een weerballon ?

[ Voor 49% gewijzigd door kitao op 24-03-2014 16:14 ]


Acties:
  • 0 Henk 'm!

  • Puch-Maxi
  • Registratie: December 2003
  • Laatst online: 12-10 23:35
Laat het maar even weten Borroz, ik zoek namelijk ook nog zo'n ding!

My favorite programming language is solder.


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Sissors schreef op maandag 24 maart 2014 @ 12:12:
[...]

Daarom ook: Het kan wel, maar of je het moet willen is een tweede. Als je namelijk tegelijkertijd ook die hoge resolutie wilt hebben kan je niet de maximum prescaler ervoor zetten.
Je hebt niks te willen, dat was is/was de manier hoe je dat doet, niks raars aan hoor.

Een code met 8bit timer doet niks onder voor dezelfde code met 32bit timer, biede functioneren gewoon waarvoor ze geschreven zijn, alleen is de aanpak iets anders.

Of ik nu ledje laat aangaan om de 60sec met 8bit timer of ledje laat aangaan om de 60sec met 32bit timer. :)

Over printf, ik kan niet in hoofd kijken van iemand anders, ik weet dus niet wat zijn motivaties was, denk om het te versimpelen maar dat is gissen.

Alle C functies werken, heeft volledige C support! Alle C werkt in de arduino IDE, dus ook printf. Soms moet je wel even de juiste file include, dat moet je normaal in C altijd maar bij arduino worden de meeste gebruikelijke libs automatisch al ingeladen.

Arduino is niks meer dan zelf bedachte C functie, digitalWrite is niks meer dan simpel C functie die echte aansturen van port uit handen neemt en je versimpelde versie voorschotelt. :)

Edit/
Volgens mijn word stdio.h bij 1.0.x automatisch geladen, maar mocht dat niet het geval zijn moet je hem toevoegen.

Bovenaan dus
#include <stdio.h>
kitao schreef op maandag 24 maart 2014 @ 12:01:

C++:
1
2
3
4
5
6
7
8
9
10
11
12
void setup(){
  Serial.begin(9600);
}
void loop(){
  int uur = 17; 
  int minuten = 54 ;
  int seconden = 34 ;
  char buffer[9]; //lengte aanpassen 
  sprintf(buffer, "%02d:%02d:%02d", uur, minuten, seconden); 
  Serial.println(buffer);
  delay(200);
}

Alleen met bovenstaand zie ik op de ser.mon iets in beeld komen.
Verder las ik dit en ben nogal voorzichtig aangelgd met rommelen in dit soort files.
To add printf() support to the Print class you must modify the Print class header file.

Iedereen bedankt, ik zoek verder.
Als je serial monitor juist heb ingesteld moet je constant 17:54:34 voorbij zien komen, code is getest en werkt 100%, getest op 1.0.3 en zonder stdio.h bovenaan de file te zetten werkt dus out of the box.

Ik heb uiteraard geen enkele aanpassing gemaakt aan de print classes zoals we die kennen van arduino.

Edit/
waarom bang zijn? kopieer de file even en zet er old of zo achter dan is dat je backup. En als je alles helemaal verklote heb, dan is er nog helemaal niks aan de hand natuurlijk, kan gewoon files allemaal overschrijven met originele en alles is weer zoals het was.

Je kan niks stuk maken wat niet herstelbaar is, bang zijn bij software is echt onnodig, vaak is het onwetendheid en bang dat het niet te fixen is, nou alles is te fixen qua software, zeker in dit geval, hoef je niet eens druk te maken over je sketches want die staan in andere map. :)

[ Voor 40% gewijzigd door mad_max234 op 24-03-2014 17:34 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Met of zonder include stdio.h compileert gewoon
printf() compileert ook maar je krijgt niks te zien
Maar Serial.printf() gaf bij mij grote foutmelding

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
printf voorbeeld doet niks, zit toch nergens een serial output code bij.
Dat is alleen compiler test, als arduino dat niet had ondersteund had je een foutmelding gekregen. :)

Edit/
Serial.printf bestaat niet, moet je dus zelf toevoegen aan print classe.

Printf output kan je wel via FILE naar serial.print streamen, heb je stdout.h voor nodig naast stdio.h.


Edit/2
Zie dat ze hier ook de manier met FILE gebruiken om printf naar serial te streamen.
http://playground.arduino.cc/Main/Printf#.UzBYz4VtTiw

FILE zit zo te zien in stdio en niet stdout, had het niet opgezocht. :+
http://www.cplusplus.com/reference/cstdio/

Edit/3
Nu voorbeeld met printf die werkt, heb FILE gebruikt om chars van printf naar serial monitor functie te sturen. Gebruik deze methode meestal als ik in C programmeer, zowel voor mega's als Xmega's, zie mijn tweakers blog post over usart en xmega. :)

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
static FILE uartout = {0} ;

void setup(void)
{

   Serial.begin(9600) ;

   fdev_setup_stream (&uartout, uart_putchar, NULL, _FDEV_SETUP_WRITE);
   stdout = &uartout ;
}

void loop(void)
{
   int uur = 17;
   int minuten = 54;
   int seconden = 34;

   printf("%02d:%02d:%02d \n", uur, minuten, seconden); 
   delay(1000);
    
}

//Stream de chars van printf via FILE naar deze functie die vervolegens via Serial.write verstuurd worden
static int uart_putchar (char c, FILE *stream)
{
    Serial.write(c) ;
    return 0 ;
}

[ Voor 100% gewijzigd door mad_max234 op 24-03-2014 18:05 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • ResuCigam
  • Registratie: Maart 2005
  • Laatst online: 15:51

ResuCigam

BOFH

Euhm right, ik blijf voorlopig wel bij Serial.print() ;)

We do what we must because we can.


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
printf kan veel meer dan serial.print, je heb veel meer controle over de string.

Waar je wellicht eerst 20 regels nodig heb om data via serial.print te versturen kan het met sprintf met 1 regel. En laat je niet afschrikken door FILE en setup daarvoor.

Dit was het voorbeeld probleem wat kitao voordroeg, maar stel je heb 10 of meer van dit soort stukjes code in de sketch. Dan is het veel makkelijk om even printf met FILE op te zetten en daarna ipv 50 keer serial.print nog maar 10 printf over houd. En het geeft je ook veel meer controle over de string dan de versimpelde .print functie van de arduino.

C:
1
2
3
4
5
6
answer=num1+num2;
      Serial.print(num1);
      Serial.print("+");
      Serial.print(num2);
      Serial.print("=");
      Serial.println(answer);


Edit/
sprintf is wellicht simpeler om te begrijpen en toe te passen.

Voor sprintf voorbeeld zie de edit van deze post, de tweede code.
mad_max234 in "[Discussie] Arduino-topic"

[ Voor 12% gewijzigd door mad_max234 op 24-03-2014 18:57 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • ResuCigam
  • Registratie: Maart 2005
  • Laatst online: 15:51

ResuCigam

BOFH

Dat geloof ik meteen en ik snap ook waarom. Maar het voorbeeld dat jij neerzet is gewoon nog te lastig voor me. Ik hou het voorlopig nog even bij Arduino-C en hou het in mijn achterhoofd voor later.

We do what we must because we can.


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Eerste code met sprintf snap je toch wel?

C++:
1
2
3
4
5
6
7
8
9
10
11
12
void setup(){
  Serial.begin(9600);
}
void loop(){
  int uur = 17; 
  int minuten = 54 ;
  int seconden = 34 ;
  char buffer[9]; //lengte aanpassen 
  sprintf(buffer, "%02d:%02d:%02d", uur, minuten, seconden); 
  Serial.println(buffer);
  delay(200);
}


output van sprintf zal in buffer geplaatst worden, buffer print je dan uit met serial.print(buffer).

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • ResuCigam
  • Registratie: Maart 2005
  • Laatst online: 15:51

ResuCigam

BOFH

Na jou regel tekst eronder 3 keer gelezen te hebben en weer naar de code gekeken te hebben viel dat kwartje :) Waarvoor dank.

Nu ik hier toch rondhang, wie kan mij helpen om onderstaande te begrijpen: Ik heb dit al zo vaak gelezen en ik zie er het nut niet van in. Het gaat over het gebruik van #define. Ik quote even uit het boek Beginning C for Arduino:
int led1 = 13;
int led2 = 12; // This is for the second LED
If you were a beginning mc programmer, then would the numbers 13 and 12 make any sense to you? I
don’t think so. As a result, I call these magic numbers because they are constants in the program that have no apparent meaning in and of themselves.
What if I changed the code to:
#define IOPIN13 13
#define IOPIN12 12
int led1 = IOPIN13;
int led2 = IOPIN12; // This is for the second LED
Now the data definitions as least give me some idea of what the numeric values 12 and 13 mean in the
program, plus I think it makes the purpose of led1 and led2 a little more clear.
Ligt het nu aan mij of staan die 'magic numbers' nu alleen een paar regels hoger? En zover ik kan zien heb ik alleen een extra 'label' nu, ik zie het voordeel of extra leesbaarheid niet echt. Hier heeft hij nog een voordeel wat ook dus ook niet 'zie'.
let’s see another benefit that #define brings to the party. Suppose you have the following in your program code:
int minCarFine = 125;
int minTruckFine = 125;
int minMotorcycleFine = 125;
Now suppose your state legislature passes a law such that the minimum truck fine is now $150. There is a terrific temptation to do a global search for 125 and replace with 150. This is a train wreck waiting to happen. For example, if your code has a constant 8125, then it would be changed to 8150 with a global search and replace—probably not what you intended to do.
Suppose instead you wrote:
#define MINCARFINE 125
#define MINTRUCKFINE 125
#define MINCYCLEFINE 125
int minCarFine = MINCARFINE;
int minTruckFine = MINTRUCKFINE;
int minMotorcycleFine = MINCYCLEFINE;
The first good thing is the magic numbers are gone from the source code. Second, the code is actually
easier to read than before. Third, if the politicians do change the fine, I can go to one spot in the program.
Ik wil helemaal niet eigenwijs zijn en geloof best dat iedereen #define gebruikt maar ik zie weer het voordeel niet? Als ik een global variable gebruik dan hoef ik die toch ook maar op 1 plek aan te passen?

We do what we must because we can.


Acties:
  • 0 Henk 'm!

  • foekie01
  • Registratie: December 2012
  • Laatst online: 17-07-2024
ResuCigam schreef op maandag 24 maart 2014 @ 19:29:
Ik wil helemaal niet eigenwijs zijn en geloof best dat iedereen #define gebruikt maar ik zie weer het voordeel niet? Als ik een global variable gebruik dan hoef ik die toch ook maar op 1 plek aan te passen?
Globaal is overal aanpasbaar, define niet. Zie het als een const.

Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
mad_max234 schreef op maandag 24 maart 2014 @ 17:07:
[...]


Je hebt niks te willen, dat was is/was de manier hoe je dat doet, niks raars aan hoor.

Een code met 8bit timer doet niks onder voor dezelfde code met 32bit timer, biede functioneren gewoon waarvoor ze geschreven zijn, alleen is de aanpak iets anders.
Daar ben ik het mee oneens. Want die 8-bit timer is continue interrupts aan het callen, die toch wel een significante overhead gaan geven. Bij een 16-bit timertje valt dat wel mee, maar een 8-bitter moet er veel maken.

Zoals ik ook al zei, tuurlijk kan het met een 8-bitter, maar je moet je afvragen of je het wilt. En gezien het er nog steeds niet zoiets standaard bij arduino zit, denk ik dat ook daar ze hebben besloten dat het geen goed idee is om een standaard flexibele timer interface rond een 8-bit timer te maken.
Je kan niks stuk maken wat niet herstelbaar is, bang zijn bij software is echt onnodig, vaak is het onwetendheid en bang dat het niet te fixen is, nou alles is te fixen qua software, zeker in dit geval, hoef je niet eens druk te maken over je sketches want die staan in andere map. :)
Als ik niet te lui was om een plaatje op te zoeken had ik hier een challenge accepted pic neergezet :P

[ Voor 13% gewijzigd door Sissors op 24-03-2014 21:02 ]


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Ik bedoel dat als je de originele files nog gewoon hebt, dan kan je altijd alles weer kan herstellen, en je dus niks echt kunt stuk maken.

Timers worden 100% ondersteunt in arduino IDE, elke functie is te gebruiken. En zijn wel libs voor in omloop die bepaalde taken voor je kunnen uitvoeren, RTC lib is daar voorbeeld van, maar ook timer.h.

De iInterrupt geeft geen enkele overhead op je timer, zolang je interrupt korter is dan je overflow geeft het geen enkele afwijking of overhead. Timers zijn hardwarematig en lopen helemaal los van cpu die interrupt afhandel, timer geeft overflow interrupt en gaat gelijk weer verder bij 0 zonder te stoppen, interrupt vind plaats bij de cpu en die zal de overflow optellen en timer loopt al die tijd gewoon door, interrupt is klaar en staat wachten op de volgende overflow. :)

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
mad_max234 schreef op maandag 24 maart 2014 @ 21:20:
Ik bedoel dat als je de originele files nog gewoon hebt, dan kan je altijd alles weer kan herstellen, en je dus niks echt kunt stuk maken.
Als er niks bijzonders in staat wel. Als je echt je best doet kan je wel dingen kapot maken. Niet zozeer fysiek kapot, maar toch vervelend om weer te herstellen.
Timers worden 100% ondersteunt in arduino IDE, elke functie is te gebruiken. En zijn wel libs voor in omloop die bepaalde taken voor je kunnen uitvoeren, RTC lib is daar voorbeeld van, maar ook timer.h.

De iInterrupt geeft geen enkele overhead op je timer, zolang je interrupt korter is dan je overflow geeft het geen enkele afwijking of overhead. Timers zijn hardwarematig en lopen helemaal los van cpu die interrupt afhandel, timer geeft overflow interrupt en gaat gelijk weer verder bij 0 zonder te stoppen, interrupt vind plaats bij de cpu en die zal de overflow optellen en timer loopt al die tijd gewoon door, interrupt is klaar en staat wachten op de volgende overflow. :)
Ik weet hoe timers werken. Maar ze geven wel overhead op de rest van jouw programma. En bij een 8-bit timer zijn dat wel een hele hoop interrupts die steeds maar weer langs komen.

Nogmaals het kan wel, maar het is heel veel leuker als je niet continue die interrupts hebt die langskomen.

[ Voor 6% gewijzigd door Sissors op 24-03-2014 21:43 ]


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Op die manier, maar dat is toch meestal geen enkel probleem dat je even interrupt tussendoor hebt van paar cyclussen, je timing gevoelig code loopt immers via de timer. Het is maar zeer korte interrupt die nodig is, moet wel heel raar lopen wilt dat een probleem zijn.

We doen het al decennia op die manier en voorlopig zal dat nog niet verdwijnen, 32bitters komen maar net kijken op de uC markt, al die tijd is alles prima gelukt met 8bitters. :)

Edit/
Sissors schreef op maandag 24 maart 2014 @ 21:39:
[...]

Als er niks bijzonders in staat wel. Als je echt je best doet kan je wel dingen kapot maken. Niet zozeer fysiek kapot, maar toch vervelend om weer te herstellen.
Je weet dat we het over de Arduino IDE hebben? Denk dat je deel van discusie hebt gemist, want ik zou niet weten hoe je met het aanpassen van print.cpp iets zou kunnen slopen. :D

En het is 100% te herstellen door originele file terug te zetten, dan is het zeker weten weer gefixed. ;)

[ Voor 39% gewijzigd door mad_max234 op 24-03-2014 22:36 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • rense
  • Registratie: Mei 2003
  • Laatst online: 14:54
Dank je voor de tip. Ik had de kale female stekkers al eens gebruikt met krimpkousjes, maar vind dat minder strak dan zo'n stevige behuizing.

Acties:
  • 0 Henk 'm!

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

C.44

TurboCharged Supra Driver

Vandaag een reply gekregen op m'n mail aan Interlink over de verschillen tussen de FSR400 en de FSR402. Ze hebben een mooie integratie PDF meegestuurd met bakken info. De sensoren zijn in principe 't zelfde en zullen altijd vrijwel dezelfde range aan waarden geven. Het enigste verschil zit in de grootte van het meetoppervlak.

Simpel gezegd komt het erop neer dat wanneer je grotere waarden wil meten je moet zorgen voor meer gewichtsdistributie, en balpen kan met minder massa meer drukkracht uitoefenen omdat het ingedrukte oppervlak heel klein is. Een emmer water (uitgaande van een vlakke onderkant) lever minder druk per cm2 dan die zelfde balpen.

Ook is het dus zo dat omdat de FSR402 een groter meetoppervlak heeft deze dus per definitie meer gewicht kan meten omdat de actuator (het item dat je gebruikt om de FSR in te drukken) een groter oppervlak kan hebben zonder de randen te raken. Hoeveel je precies kan meten met de FSR400 is gegarandeerd uit te rekenen maar daar ben ik op dit moment echt even te lui moe voor :+

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


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
mad_max234 schreef op maandag 24 maart 2014 @ 17:07:
Volgens mijn word stdio.h bij 1.0.x automatisch geladen, maar mocht dat niet het geval zijn moet je hem toevoegen. Bovenaan dus : #include <stdio.h>
Als je serial monitor juist heb ingesteld moet je constant 17:54:34 voorbij zien komen, code is getest en werkt 100%, getest op 1.0.3 en zonder stdio.h bovenaan de file te zetten werkt dus out of the box.
Ik heb uiteraard geen enkele aanpassing gemaakt aan de print classes zoals we die kennen van arduino.
Edit/ waarom bang zijn? kopieer de file even en zet er old of zo achter dan is dat je backup.
Ok, even tussenstand tot nu toe.
17:54:34 komt inderdaad voorbij, dat werkte gisteren al.
Ik heb inmiddels de Print.h file veranderd. Ik heb 1.0.1 en 1.0.5 op de pc staan en die eerste gebruik ik toch bijna nooit meer, dus daarmee lopen rommelen.
Volgens deze site :
http://playground.arduino.cc/Main/Printf#.UzC-kfl5PbT
Insert the following code into the Print.h header file. The code must be inserted into the Print class definition. Just copy and past this code into the bottom of the public section.
De code die onder die zin staat onderaan mijn Print.h file geplakt.
Dit geprobeerd :
C++:
1
2
3
4
5
6
7
8
#include <stdio.h>
void setup(){
  Serial.begin(9600);
}
void loop(){
  Serial.printf("Hello World\n");
  delay(1000);
}

En ik kreeg foutmelding : 'class HardwareSerial' has no member 'printf'
Werkt dus echt niet. Sterker nog, zelfs de normale Serial.print werkte niet meer.
De toevoeging in mijn Print.h-file verwijderd en Serial.print doet het weer. Maar Serial.printf krijg ik op deze manier niet aan de gang.
Ps, hiermee bedoelen ze toch dat die toevoeging aan het einde moeten worden geplakt, dus helemaal onderaan ? past this code into the bottom of the public section. M.a.w. wat is de Public Section ?
Ps2, bovenaan plakken heeft ook geen effect :|
Ps3, hier iemand met dezelfde vraag. Die krijgt dit antwoord (in 2007)
printf doesn't print to the serial port, it just prints to the "display" (of which, there is none on arduino).
If you want the power of printf, try using the sprintf function and then sending the result via Serial.print().
Hope that helps. Tim
http://forum.arduino.cc/index.php/topic,47170.0.html
Tja,dan houd het voor mij op. Als het eerst in een string gebufferd moet worden dan heeft het voor mij eigenlijk geen meerwaarde meer.
Ps4, over andere micro's gesproken, dit is een syntax-voorbeeld voor een 8 bit PIC16F57:
Afbeeldingslocatie: http://s23.postimg.org/5zbv9jezr/BASICSTAMP.jpg
PBasic is in dit geval veel krachtiger

[ Voor 22% gewijzigd door kitao op 25-03-2014 07:09 ]


Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
mad_max234 schreef op maandag 24 maart 2014 @ 22:23:

[...]


Je weet dat we het over de Arduino IDE hebben? Denk dat je deel van discusie hebt gemist, want ik zou niet weten hoe je met het aanpassen van print.cpp iets zou kunnen slopen. :D

En het is 100% te herstellen door originele file terug te zetten, dan is het zeker weten weer gefixed. ;)
Als je perongeluk hem zijn eigen flash laat overschrijven waar zijn bootloader zich bevindt :D.

Oké het is redelijk onmogelijk door het vervangen van print.cpp, maar het ging een beetje om de puur theoretische optie :D.

[ Voor 20% gewijzigd door Sissors op 25-03-2014 08:02 ]


Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
code:
1
2
3
4
5
6
7
8
class blablabla
{
   private:
     //stuff
   public:

    // DIT is de public section.
}

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

Pagina: 1 ... 46 ... 96 Laatste