Acties:
  • 0 Henk 'm!

  • ResuCigam
  • Registratie: Maart 2005
  • Laatst online: 12:27

ResuCigam

BOFH

Dat had ik net gedaan en net als bij Alexander compileert hij hier gewoon zonder errors, of het ook werkt kan ik je niet vertellen :)

@hieronder: Wat raar dat de compiler dit dan accepteert.

[ Voor 18% gewijzigd door ResuCigam op 30-12-2013 18:53 ]

We do what we must because we can.


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
ResuCigam schreef op maandag 30 december 2013 @ 18:45:
Dat had ik net gedaan en net als bij Alexander compileert hij hier gewoon zonder errors, of het ook werkt kan ik je niet vertellen :)
Dat hoeft ook niet, want het werkt niet. Dat had ik zelf al gemerkt.
Ik kreeg allerlei getallen op de lcd ipv tekst.
En dat komt door dit :
C++:
1
2
lcd.print('Number: ');  // fout, geeft nummers ipv tekst
lcd.print("Number: "); // goed, geeft letters

[ Voor 9% gewijzigd door kitao op 30-12-2013 18:53 ]


Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
Dus.. Opgelost nu?
Hij probeert inderdaad de ASCII waardes neer te plempen op het scherm.
Probeer eens het volgende:
lcd.print('A');
en daarna
lcd.print("A");

Als het goed is krijg je dan "65A" te zien op je scherm

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
alexandersamson schreef op maandag 30 december 2013 @ 18:53:
Dus.. Opgelost nu?
Hij probeert inderdaad de ASCII waardes neer te plempen op het scherm.
Probeer eens het volgende:
lcd.print('A');
en daarna
lcd.print("A");

Als het goed is krijg je dan "65A" te zien op je scherm
tnx, het zijn dus asciis die die print.
nooit geweten dat het zo ook kan. :)
edit, ik ga het nog eens proberen op de foute manier en kijken wat die nu precies print zonder de interrupt knopjes te drukken.
moment

[ Voor 13% gewijzigd door kitao op 30-12-2013 18:58 ]


Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
Je kan er ook mee rekenen enzo. Ik dacht als je Serial.println('A'+1) deed ofzo dat je 'B' als output kreeg en dat soort dingen. Je kan ook heel snel inputvalidators maken op deze manier, omdat je gewoon een range (2 integers) opgeeft waarbinnen de chars die je via serial of iets dergelijks binnenkrijgt valide zijn of niet :)

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
Weet je zeker dat je zo ascii krijg Alex ?
Als ik alle ' door " vervang dan krijg ik dit :
Random Numbers !
Number: xxxx (en xxx verandert dus steeds tussen 0000 en 1024)
Pak ik de sketch uit de site dan zie ik dit :
29473
14880(xxxx)
Is volgens mij geen ascii.

Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
Als je gewoon eens een simpele sketch maakt met in de setup, nadat je je display hebt geinit, alleen dit:
lcd.print('A');
Wat zie je dan op het scherm?

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
alexandersamson schreef op maandag 30 december 2013 @ 19:14:
Als je gewoon eens een simpele sketch maakt met in de setup, nadat je je display hebt geinit, alleen dit:
lcd.print('A');
Wat zie je dan op het scherm?
Ben mee bezig
Ik heb net example hello world geprobeerd maar dan
lcd.print('h');
Dan zie je gewoon een h
maar doe je dit :
lcd.print('ho');
dan zie je 26735
en doe je dit :
lcd.print('he');
dan zie je 26725
doe je dit :
lcd.print('hello world');
dan zie je 27748

dus met 1 letter maakt t niet uit of je ' of " gebruikt.
Met meerdere letters wordt t zooitje

Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
toch zit er iets van ASCII in, kijk eens naar he en ho. de 'o' komt 10 tekens na de 'e', dus die 26725 naar 26735 klopt. Waarom hij er dan een gek getal van maakt, ligt waarschijnlijk aan de library van het LCD die er mee hutseld.
Probeer het eens met Serial.println
wel even in je serial monitor kijken dan natuurlijk :P

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
Dit is m geworden :
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(4,5,6,7,8,9);

void setup() {
  // set up the LCD's number of columns and rows: 
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print('he');
  Serial.begin(9600);
  Serial.println('he');
}

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(millis()/1000);
}

zowel ser.mon. als lcd geeft 26725
Ik zie nog steeds geen ascii.
Maar vind wel knap dat jij ineens de 10 plaatsen verschil inzag.

Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
Ok apart, ik zal wel ergens een foutje hebben gemaakt. Maar de ascii waarde hoort er ergens in te zitten, maar niet zoals ik het dus voor ogen had. Zal het straks even testen. Ben nu mijn wav dingetje van audiotriggers aan het voorzien :P

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
Neem je tijd hoor, hoewel ik best nieuwsgierig ben naar de oorzaak weet ik ook dat bij programmeren verschil in een paar tekentjes gekke toestanden veroorzaakt dus dat verbaast me niks.
Wil je het nabouwen, ik heb een Hitachi HD44780 driver LCD en dan aangesloten volgens dit :
http://tronixstuff.com/20...uino-and-monochrome-lcds/
Afbeeldingslocatie: http://i0.wp.com/tronixstuff.com/wp-content/uploads/2011/01/4bitparallel21.jpg?zoom=1.5&resize=500%2C451
En dit geeft dan ook 'problemen' want
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
moet dan veranderd worden tot
LiquidCrystal lcd(4,5,6,7,8,9);
Hij had blijkbaar niet in de gaten dat met deze aansluiting de rest van zijn sketches dan niet meer werken. :z

Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
alexandersamson schreef op maandag 30 december 2013 @ 19:32:
toch zit er iets van ASCII in, kijk eens naar he en ho. de 'o' komt 10 tekens na de 'e', dus die 26725 naar 26735 klopt. Waarom hij er dan een gek getal van maakt, ligt waarschijnlijk aan de library van het LCD die er mee hutseld.
Probeer het eens met Serial.println
wel even in je serial monitor kijken dan natuurlijk :P
Dat is wel te verklaren:

26725 DEC = 6865 HEX
0x68 is ASCII 'h'
0x65 is ASCII 'e'
;)

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


Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
Kijk, zo komen we er wel, opgelost. :)

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
Hmm, ten dele >:)
kitao in "[Discussie] Arduino-topic"
Om precies te zijn krijg ik dan ipv
Random Numbers!
dit te zien :
29473(10) = 7321(16) = s!(ascii)
Blijkbaar stopt die ergens met omzetten van tekens of krijgt een overflow ?

Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
Komt omdat het een INT is, die is maximaal iets van 65.000. Een int op 8 bits machines is 16 bits en dus 2 volle HEXen. Waarschijnlijk dus alleen de laatste 2 of eerste 2 tekens worden berekend :).
Daarom ook nooit enkele aanhalingstekens gebruiken als je lappen tekst wil neerzetten :)

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
alexandersamson schreef op maandag 30 december 2013 @ 20:30:
Komt omdat het een INT is, die is maximaal iets van 65.000. Een int op 8 bits machines is 16 bits en dus 2 volle HEXen. Waarschijnlijk dus alleen de laatste 2 of eerste 2 tekens worden berekend :).
Daarom ook nooit enkele aanhalingstekens gebruiken als je lappen tekst wil neerzetten :)
Ja, dat blijkt, geen ' zetten in print ! |:(
Was leuk en educatief, ik laat het hierbij. Laters. :)

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
kitao schreef op maandag 30 december 2013 @ 18:27:
[...]

Probeer het maar eens. Enkel wat je nodig heb is een lcd, een 10K pot, 2 switches en 2x 10K weerstanden.
Maar ik wil niet kinderachtig zijn.
#include library moet tussen < >
Serial.print() moet tussen " " en niet tussen ' '.
En verder heeft die van de hele regel 25 een comment gemaakt.

Misschien dat regel 3 zo ook wel werkt (tussen " " dus) maar omdat ik allemaal giberisch kreeg ben ik gaan vergelijken met een ander programma.
Daar staat toch echt
#include <LiquidCrystal.h>
en niet :
#include "LiquidCrystal.h"

Ok, regel 3 maakt niks uit, net geprobeerd. Maar de rest is toch echt fout.
Hangt er maar net vanaf waar je de lib heb staan, is feature geen fout, heb je de lib in dezelfde map als je project, dan gebruik je "" maar staat de library tussen <> dan kijk de compiler in de standaard library map, zo is de IDE ingesteld.

<> betekend gewoon kijk in lijst met systeem directory's, bij arduino dus in library map.
"" kijk in de map waar huidige file waarmee je het aanspreek ook staat.
Uiteraard kan er ook "map/blabla.c" staan, of elke variant erop.

Over serial, je kan char of string kiezen, '' of "".

' ' = char
"" = string

En nog een valkuil waar je in kan vallen is dat er meerdere lcd libs zijn, je kan dus zomaar andere te pakken hebben, geldt ook voor andere libs, vaak zijn er paar populair. Iedereen kan gelijknamige lib online zetten, zijn geen regels voor. Maar dat lijk nu niet het geval te zijn als ik het allemaal goed heb gevolgd.


Mijn 595 printje ga ik zo belicht en etsen, alles staat klaar, sheet is al geprint en met inkt bewerkt, daarna even wat spelen met spi en wat shift codes. :)

Afbeeldingslocatie: http://tweakers.net/ext/f/3mRwzTpjYRCE5djow4AFYhLo/full.jpg

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
ResuCigam schreef op maandag 30 december 2013 @ 12:08:
@ mad_max: Ik heb jouw voorbeeld in mijn 'nog te bekijken' mapje gezet. Ik ben nu nog druk bezig met Arduino C te leren lezen en schrijven en dit gaat net een paar stapjes verder.
Blijkt ook geen beginnerscodering te zijn, dit stukje quote komt uit dit boek (p135/136) :
As you write more complex programs, you may find it useful to write your own header files. If that is
the case, then you would use double quotation marks around the header file name, as in:
#include "myheaderfile.h"
This causes the compiler to look in the directory where you are storing the source code for the
program you are writing for the header file.
If you look in the stdio.h header file (or any of the other header files stored in the include directory),
then you are going to see some pretty cool, albeit intimidating, code.
A complete understanding of all that you find there is beyond the scope of this book.

However, if you are really interested, simply copy the
statement of interest into the Google search engine and read what the sources have to say. For example,
the author copied the following line from the stdio.h header file:
#define feof(s) ((s)->flags & __SEOF)
into Google and was rewarded with more than 17,000 hits. If you really want to know what is going on with
this #define, then just start reading the search results.
En toevallig zie je dan precies waar Max het hierboven over had. In principe had ik het dus kunnen weten want ik had het al gelezen. Maar ja, het gaat pas opvallen als je het daadwerkelijk gebruikt.
alexandersamson schreef op maandag 30 december 2013 @ 18:25:
Bij mij compiled hij gewoon. Het is inderdaad handiger om dubbele quotes te gebruiken, want enkele zijn eigenlijk alleen in gebruik als je een enkele char wil gebruik 'A' bijvoorbeeld. Dubbele gebruik je bij lappen text "A Cat and A Dog". Met die enkele quote versies kan je trouwens wel leuk ASCII rekenen: 'A'+1 = 66 namelijk. (A =65 ASCII). Staat ook op de website van Arduino http://arduino.cc/en/Reference/Char
Heb ik inmiddels even bekeken.
Met deze sketch krijg je op de ser.mon. gewoon een h te zien :
C++:
1
2
3
4
5
6
void setup() {  
  Serial.begin(9600);
  Serial.print('h');
}
void loop() {
}

Schrijf ik 'he' dan krijg ik 26725
Waarom eigenlijk dat verschil bij 1 of meerdere chars ?
Daar zou men op 2 manieren op kunnen antwoorden :
"Dat is nu eenmaal zo, leer ermee leven".
of
"Dat is zo, omdat ......zus en zo".
Dat is me nog niet helemaal duidelijk.
Overigens had je in je vorige post gelijk, hij print idd de laatste 2 leestekens uit (s!) als (gecombineerde) decimale/hex ascii-code.
alexandersamson in "[Discussie] Arduino-topic"
Wikipedia: ASCII (tekenset)

Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
Waarom hij dat met 1 wel doet en met 2 niet, weet ik niet. Ik denk dat het een interpretering is van de software:
-Als 'a' = char
-Als 'aa' = int (hex)
-Als "a" = char[]/string
-As "aa" = char[]/string

Ik weet t niet zeker, maar denk zoiets.

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
http://arduino.cc/en/Reference/Char
http://arduino.cc/en/Reference/string

Edit/
Zal even wat meer uitleg geven. als je 'aa' type in print() functie zal de print functie schakelen naar geschikte versie, zijn stuk of 15 verschillende print functies die allemaal in print class zijn onder gebracht, compiler probeert dus geschikte versie erbij te zoeken, door de grote van twee bytes denk die dat het een integer moet zijn, dus word verwerkt als 24929, voor compiler zit er geen verschil tussen aa of 24929.

Print functies van arduino zal proberen een geschikte versie te vinden.

serial.print('aa'); zal door deze functie heen gaan en zal als long integer terug komen, aa word 24929.

size_t Print::print(int n, int base)
{
return print((long) n, base);
}

Hier vind je de print.cpp met alle print functies, en daar zit dus ook de functie in die van jou 'aa' een long integer maakt.
hardware\arduino\cores\arduino\print.cpp


En even wat anders, mijn shift register printje, al stelt dat niet zoveel voor natuurlijk. :)

[ Voor 92% gewijzigd door mad_max234 op 31-12-2013 12:16 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

Verwijderd

' En even wat anders, mijn shift register printje'

zo, snel even 'in house' gefabriceerd.. _/-\o_
handig en goede ogen waarschijnlijk, smd is aan mij niet meer besteed en dat is soms wel is balen.

* btw.. ik heb een funtoepassing bedacht voor die nRF24L01

ik wil 2 wifi schaakbordjes bouwen (c)2014 ( touch display/AVR/nRF24L01/oplaadbaar)
leuk voor op je werk / school /trein.. hoef je niet perse tegenover elkaar te zitten voor een potje schaak.
basis

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
En dan iets van rf tags in de stukken zodat bord weet waar welk stuk zich bevind. :) (edit: o wacht, je wilt virtual schaakspel maken en geen fysiek, software weet dan al waar de stukken zich bevinden :D )

Printje zelfs maken gaat stuk sneller dan kopen via ebay, maar kost je wel war meer tijd, bestellen is binnen enkele seconden gedaan, zelf maken kost me toch wel 2 uurtjes, vooral etsen gaat erg traag bij mij, duurt 45-60 minuten.

[ Voor 15% gewijzigd door mad_max234 op 31-12-2013 12:55 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

Verwijderd

rf tags zijn niet nodig hoor.. doen we allemaal in de code.

en belichten.. hoe werkt dat tegenwoordig (mijn laatste zelfgebakken printje is 40 jaar geleden :) )

[ Voor 46% gewijzigd door Verwijderd op 31-12-2013 12:56 ]


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Had eerste instantie niet door dat je virtual wilde maken, dacht gewoon fysieke stukken.

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
mad_max234 schreef op dinsdag 31 december 2013 @ 10:57:
Zal even wat meer uitleg geven. als je 'aa' type in print() functie zal de print functie schakelen naar geschikte versie, zijn stuk of 15 verschillende print functies die allemaal in print class zijn onder gebracht, compiler probeert dus geschikte versie erbij te zoeken, door de grote van twee bytes denk die dat het een integer moet zijn, dus word verwerkt als 24929, voor compiler zit er geen verschil tussen aa of 24929.

Print functies van arduino zal proberen een geschikte versie te vinden.
Even als kleine aanvulling daarop:
Je kan meerdere functies hebben met de zelfde naam (in dit geval print) maar met verschillende types en aantal variabelen.

void functie_x(int a)
void functie_x(char a)
void functie_x(int a, char b)
void functie_x(int a, int b)
void functie_x(byte a)

Als je de functie gebruikt zal de compiler tijdens het compileren de juste functie zoeken aan de hand van de variabelen die je mee geeft.
En even wat anders, mijn shift register printje, al stelt dat niet zoveel voor natuurlijk. :)
[video]
Nice, ik zou willen dat ik dat thuis nog kon!

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


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Dat is helemaal correct, had het niet simpelere en duidelijker kunnen uitleggen. :)

Mag je niet meer etsen van vouw of zo? :D

Edit/
Zoek de verschillen. :+

Afbeeldingslocatie: http://tweakers.net/ext/f/3mRwzTpjYRCE5djow4AFYhLo/full.jpg

Afbeeldingslocatie: http://tweakers.net/ext/f/UfCQPyCUbSN9gP3aQd3apfG9/full.jpg

spoiler:
Had printje in spiegelbeeld belicht, heb de 595 dus op zijn kop bevestig, pootjes allemaal verbogen zodat die op zijn kop gesoldeerd kon worden, probleem opgelost en hoefde printje niet nog eens te belichten.


edit/2
Heb net even test gedaan met shift register en spi, dat werkt prima.

C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <SPI.h>

//latch pin van de 595, sluit je aan op pin10 van de arduino. 
//Overige pinnen zijn hardwarematig, hoef je dus niks aan te doen in de code
//pin14(DS) van de 595 moet je aansluiten op pin13 van de arduino. Dit is de clock
//pin11(SHCP) van de 595 moet je aansluiten op pin11 van de arduino Dit is serial data. 

void setup() {

pinMode (10, OUTPUT);
  SPI.begin(); 
}

void loop() {
  //Schrijf hier gelijk het output register, is veel sneller dan digitalwrite
  PORTB &= ~(1<<2); //latch pin gaat laag zodat spi data kan zenden. 
  SPI.transfer(0b10101010); //byte die naar de shift register geschreven moet worden. 
  //mag uiteraard ook 0xAA of 170 staan ipv 0b10101010, is allemaal hetzelfde voor de compiler. 
  PORTB |= (1<<2);  //latch hoog 
  PORTB &= ~(1<<2); //latch laag
 
}


Binaire sketch-grootte: 918 bytes (van een 32.256-byte maximum)

[ Voor 118% gewijzigd door mad_max234 op 01-01-2014 16:35 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
mad_max234 schreef op dinsdag 31 december 2013 @ 13:05:
Dat is helemaal correct, had het niet simpelere en duidelijker kunnen uitleggen. :)

Mag je niet meer etsen van vouw of zo? :D
Ik vind het gewoon te veel gedoe, ik woon relatief klein. Ook kan je voor een paar euro kleine printjes uit china laten komen, en die zijn dubbelzijdig en doorgemetaliseerd. Wat heel veel scheelt met ontwerpen. Het enige nadeel is dat dat 3 weken duurt. Dus af en toe verlang ik wel terug naar mijn ets bakjes.
Edit/
Zoek de verschillen. :+

[afbeelding]

[afbeelding]

spoiler:
Had printje in spiegelbeeld belicht, heb de 595 dus op zijn kop bevestig, pootjes allemaal verbogen zodat die op zijn kop gesoldeerd kon worden, probleem opgelost en hoefde printje niet nog eens te belichten.
lol _/-\o_ is mij ook wel eens gebeurd.
edit/2
Heb net even test gedaan met shift register en spi, dat werkt prima.
Het enige wat ik mis aan de 595 is een chip select pin, op die manier zou je de chips parallel kunnen zetten, maar apart kunnen aansturen.

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


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Dat kan toch ook gewoon, alleen heb ik dat niet in mijn voorbeeld zo opgesteld. Je kan ervoor kiezen om latch dus gewoon hoog te houden van eerste en van tweede laag, dan zal eerste geen data in zijn 8bit register zetten, tweede wel. (niet getest)

Kan ook voor serie geschakelde versie kiezen, daisychain, ook daar kan je ze apart update, gewoon dezelfde data in eerste zetten dan er al inzat en tweede de nieuwe data of omgekeerd. (al geregeld toegepast in mijn projecten, getest dus. :) )

Denk dat er nog wel wat meer trucjes zijn om shiftregister aan te sturen.

Edit/
Dat is ook enige rede dat ik zelf nog wel eens ets, omdat niet wil wachten of omdat ik maar 1 klein postzegel printje nodig hebt die niet complex is, als ik prototype of als ik schema heb die ik eerst wil testen of alles goed zit aangesloten.

Voor 16bit, oftewel twee 595 in daisychain doe je het als het goed is gewoon zo. Uiteraard kan je dat verder uitbreiden naar 3, 4, 5, etc aantal shift registers.
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <SPI.h>

//latch pin van de 595, sluit je aan op pin10 van de arduino. 
//Overige pinnen zijn hardwarematig, hoef je dus niks aan te doen in de code
//pin14(DS) van de 595 moet je aansluiten op pin13 van de arduino. Dit is de clock
//pin11(SHCP) van de 595 moet je aansluiten op pin11 van de arduino Dit is serial data. 

void setup() {

  pinMode (10, OUTPUT);
  SPI.begin(); 
}

void loop() {
  //Schrijf hier gelijk het output register, is veel sneller dan digitalwrite
  PORTB &= ~(1<<2); //latch pin gaat laag zodat spi data kan zenden. 
  SPI.transfer(0b10101010); //eerste byte die naar de shift register geschreven moet worden. 
  SPI.transfer(0b10101010); // tweede bye verzenden. 
  //mag uiteraard ook 0xAA of 170 staan ipv 0b10101010, is allemaal hetzelfde voor de compiler. 
  PORTB |= (1<<2);  //latch hoog 
  PORTB &= ~(1<<2); //latch laag
 
}

Binaire sketch-grootte: 930 bytes (van een 32.256-byte maximum)

[ Voor 63% gewijzigd door mad_max234 op 01-01-2014 16:34 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
mad_max234 schreef op dinsdag 31 december 2013 @ 16:32:
Dat kan toch ook gewoon, alleen heb ik dat niet in mijn voorbeeld zo opgesteld. Je kan ervoor kiezen om latch dus gewoon hoog te houden van eerste en van tweede laag, dan zal eerste geen data in zijn 8bit register zetten, tweede wel. (niet getest)
Heb dit net even getest en werkt zoals verwacht, heb de 595 nu samen met nrf24 en TFT aan de spi bus hangen, select chip werkt dus. Heb binary counter gemaakt en telt netjes alles op zoals je zou verwachten, geen rare problemen, nrf24 en tft werken uiteraard ook nog gewoon zoals ze behoren te werken.

Als je geen snelle shift out nodig hebt, kan je bijvoorbeeld 15 shift registers aan de spi bus hangen en dan twee extra shift registers(met high z) en daar dan de latch pinnen allemaal mee aansturen, heb je genoeg aan 4 pinnen om alle 15 shift registers aan te sturen. En dan nog zal het redelijk snel zijn tegenover de ShiftOut functie van de arduino code, zeker als er nog veel andere code omheen staat die ook cpu tijd nodig heeft.

Worden steeds wat wijzer. :)



PS
Heb de voorbeelden van gisteren even aangepast, had per ongeluk de pinMode() in de setup eruit geknipt tijdens het opruimen van de code om het voorbeeld zo kaal mogelijk hier in topic te kunnen posten.

-Andere hobby- -


Acties:
  • 0 Henk 'm!

Verwijderd

en die SS allemaal een eigen pin ? ik mis even iets geloof ik ..
ik was vanochtend zelf bezig met een lcd display en een sd cardreader.. beide SPI, en toen begon het gezeik.
enfin.. vond dit artikeltje

* BTW happy electronics year natuurlijk iedereen :'(

[ Voor 9% gewijzigd door Verwijderd op 01-01-2014 17:16 ]


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Je mis niks, denk dat je het correct begrijpt. Is alleen wat onduidelijk want worden verschillende termen door elkaar gebruikt voor één en dezelfde pin. In datasheet van nxp voor de 595 staan weer andere termen voor de pin, maakt het allemaal erg onduidelijk. :)

SS is spi pin, heeft ook invloed op de hardware spi. SS is meestal de pin die we gebruiken voor CS(chip select) maar met meerder devices heb je ook meerdere CS pinnen nodig. Latch pin van de 595 kan je gebruiken als een CS pin voor de 595.

In mijn voorbeeld wat ik omschrijf met 15 shift registers gaan alle latch naar twee extra shift registers, daarmee selecteer je dus welke van de 15 actief moet worden om data aan te nemen.

Heb je dus mosi en sck die alle shift register met elkaar delen, en twee cs pin voor de twee extra shift registers, maakt bij elkaar 4 pinnen die je nodig hebt om de 15 shift registers aan te sturen.

Jij ook nog een goed 2014. :)

-Andere hobby- -


Acties:
  • 0 Henk 'm!

Verwijderd

tnx.. ja nu is het duidelijk.. een soort pin besparings slave select :)

ik heb zoiets voor I2C nog liggen.. (nog niets mee gedaan overigens 8) )

[ Voor 6% gewijzigd door Verwijderd op 01-01-2014 18:20 ]


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Nee is niet echt spi expander of iets wat erop lijkt, is gewoon i/o expander, CS pin mag op elke willekeurig i/o pin, is geen geen onderdeel van de spi, alleen SS pin is dat, maar de SS gebruiken we gewoon als i/o voor CS.

SPI zelf is bus, die hoef we dus ook niet uit te breiden, maar dat wist je natuurlijk zelf ook al, alleen als je tegen limieten aanloopt zoals kabellengte, impedance, capaciteit, etc.

Edit
Geldt ook voor i2C bus, alleen heb je daar geen CS, gaat via adressen, maar hoeft die niet uit te breiden, alleen als je tegen limieten aanloopt heb je expander nodig, zoals kabellengte, impedance, capaciteit, etc.

Heb er dan meestal twee nodig, aan beide kanten eentje en daartussen mag kabel dan langer zijn dan de i2c standaard voorschrijft, tussen arduino en expander moet je je uiteraard wel houden aan de i2c standaard ook tussen expander en i2c device.

edit/
Zie nu pas dat PCF8574AN een i/o expander is, had datasheet nog niet bekeken, en is geen i2c expander. Die bestaan namelijk ook, is voor de i2c bus te verlengen. Lekker hadig van de winkel om ze "I2C Bus Expander" te noemen, dat verwijst dus precies naar de andere soort IC's. :+

Edit/
Vergeet deze heel post maar, allemaal onzin.
Het is natuurlijk i2c bus extender waar ik op doelde, zat even te slapen. :z


Voor de geïnteresseerde het schema hoe je twee of meerdere 74hc595 aan spi kan hangen met elk een eigen CS pin, heb de namen die nxp gebruikt in de datasheet erbij gezet, tussen de haakjes. Maar de pin nummers komen natuurlijk ook gewoon overeen. VCC en GND pin staan niet in schema, maar dat lijkt me ook beetje overbodig. :)

Afbeeldingslocatie: http://tweakers.net/ext/f/Z82eovxwMmlr8M2jiGoAfRtS/medium.jpg

Datasheet
http://www.nxp.com/documents/data_sheet/74HC_HCT595.pdf

[ Voor 73% gewijzigd door mad_max234 op 01-01-2014 20:05 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • Nextron
  • Registratie: Maart 2005
  • Nu online

Nextron

Ik weet dat ik niets weet

mad_max234 schreef op woensdag 01 januari 2014 @ 17:00:
Als je geen snelle shift out nodig hebt, kan je bijvoorbeeld 15 shift registers aan de spi bus hangen en dan twee extra shift registers(met high z) en daar dan de latch pinnen allemaal mee aansturen, heb je genoeg aan 4 pinnen om alle 15 shift registers aan te sturen. En dan nog zal het redelijk snel zijn tegenover de ShiftOut functie van de arduino code, zeker als er nog veel andere code omheen staat die ook cpu tijd nodig heeft.
Dat SPI sneller is dan shift out geloof ik graag, volgens deze thread respectievelijk 62kHz vs 1kHz voor 64 outputs.

Jouw implementatie is me nog niet helemaal duidelijk. Alle 15(output)+2(latch)-595's hangen aan dezelfde SPI-bus, dus alle 15+2 storage-registers bevatten op elk moment dezelfde data. Je kiest alleen via de latch bij welke 595 die data ook daadwerkelijk naar het output-register gaat. Je kan alleen niet afzonderlijk data naar je 2 latch-595 en naar je 15 output-595 sturen. De latch is rising edge-triggered, dus kan niet vooraf actief gemaakt worden.

Om dat probleem te omzeilen zonder meer dan 4 pinnen te gebruiken zou je de 'Output enable' van de latch-595 kunnen schakelen (bedoelde je dat met 'high z'?) door een brug met de latch pin te maken:
  1. SPI data voor latch-595
  2. Latch low->high: dump storage-register naar output-register van latch-595.
  3. SPI data voor output-595
  4. Latch low: Output enable van latch-595, wat voor een low->high zorgt op de latch van een output-595
  5. Repeat...
maar die geschakelde OE zie ik niet terug in het schema.

Daarnaast vraag ik me af of deze configuratie sneller is dan een seriële opstelling van 15 595's met 3 pinnen. Daarbij zul je altijd 120 bit moeten SPI'en en 1 keer latchen of je nou 1 bit of alle wil wijzigen.
Bij jou opstelling zul je bij een enkele bit maar 16 bit moeten SPI'en (8 latch + 8 output) en 1 keer latchen. maar mogelijk bij 15 bit wijzigen moet je al 240 bit SPI'en en 15 keer tussendoor latchen. Dat latchen heeft nou net geen profijt van de hardware-SPI, en je moet afleiden op welke output-595 je bit zit en op welke latch-595 je output-595 zit.

Hoe meer ik weet,
hoe meer ik weet,
dat ik niets weet.


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Klopt helemaal, 595 heeft twee registers, zolang latch laag houd zal data niet naar storage register gaan maar alleen in de shift register blijven, alleen van de desbetreffende 595 waarvan latch hoog en laag maakt zal de data in de storage register zetten waarmee de outputs worden aangestuurd. Maar klopt alle 595 zullen alle data ook ontvangen, zal in alle shift registers dezelfde data staan, maar alleen van juiste 595 zal data latch worden naar de storage register. Je zend toch altijd juist data uit voordat je latch hoog laag maakt, zal dus nooit data in storage register komen van bijvoorbeeld lcd of va andere 595. Zie datsheet pagina 2 Fig 1. Functional diagram.

Nog schema van hoe het aangesloten zit.
Afbeeldingslocatie: http://tweakers.net/ext/f/ZmRopz3lH2LFkI56eaulD76G/medium.jpg

Edit/
EO gewoon vast op actief gezet, low is actief. Hoef niet te schakelen, output mag in dit geval gewoon altijd aan blijven had geen rede om te gaan schakelen. Zie dat er foutje in commentaar staat van eerste twee voorbeeld codes, EO word niet geschakeld dat moet dus STCP zijn.

En dit is opstelling waar min of meer om werd gevraagd, daisychain kan wellicht vlotter zijn heb niet nog niet getest of echt over nagedacht, maar dat was niet het doel, werd namelijk opgemerkt dat ze CS lijn misten voor het los aansturen van meerder 595 met meerder SPI apparaten op de bus. Daar is dit uitgekomen zeg maar. :)
Je kan alleen niet afzonderlijk data naar je 2 latch-595 en naar je 15 output-595 sturen.
Dat gaat ook niet met daisychain, je schuift dan ook alle daar door allee shift registers heen naar laatst, naam zegt het al shift registers, ze schuiven dus letterlijk bij elke klok een stapje op en vor dan aangevuld met nieuw nummer. Je kan dan ook niet bij twee even tussendoor data erin zetten, je zal overal data erin moeten zetten, zelf bij alle 595 die je niet wilt veranderen, anders schuift data niet voldoende door.

Heeft allemaal zijn voor en nadelen natuurlijk, daarom kiezen we soms voor ene en soms voor het andere. :)

Edit/3
Wacht even ik snap nu wat je bedoeld, moest er even over nadenken, dacht eerst dat je wat anders bedoelde.

Inderdaad mijn voorbeeld gaat niet werken met twee extra 595 voor CS lijnen op dezelfde bus, moet die dan vullen met usart in spi mode of op andere manier(softwarematig, andere type shift registers, etc), of gewoon weglaten en CS door arduino aansturen. Maar kan niet op dezelfde bus als de ander5 15 595's zoals in mijn voorbeeld.

En dit werkt natuurlijk ook gewoon, uitgebreid getest.
Afbeeldingslocatie: http://tweakers.net/ext/f/Z82eovxwMmlr8M2jiGoAfRtS/medium.jpg

Zal vanavond jou voorbeeld wat beter bekijken, heb het nu te druk.

[ Voor 55% gewijzigd door mad_max234 op 02-01-2014 13:12 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
Powerblast schreef op maandag 30 december 2013 @ 10:34:
Het projectje voor de komende dagen is een klokje. Simpelweg te tijd bijhouden en weergeven op een lcd schermpje. Heb ik alle onderdelen al voor liggen. Het idee is dan om dat nadat dit lukt :), uit te breiden met knopjes waarmee je zoals een echte wekker je tijd kan zetten en eventueel ook het tijdstip waarop de "wekker" moet afgaan. Wat die wekker dan wordt moet ik nog ff bekijken :). Dacht aan ofwel wat flashy ledjes ofwel iets met geluid te doen. Maar dat is nog toekomstmuziek. Het idee is wel om dit dan zo een beetje als mijn sandbox te gebruiken waarop ik dan eerst eens met alle soorten sensors kan kennismaken.
Wat is een sandbox ?

Toevallig was ik ook bezig met een alarmklok via Tronixstuff hfdst. 9. Het instellen van tijd, datum, alarm, etc. gaat met potmeter.
Daar is wel een DS1307 voor nodig en ik weet niet of je die al hebt ?
Deze schakeling heb ik opgebouwd :
Afbeeldingslocatie: http://s29.postimg.org/5denudffn/Untitled_Sketch_bb.jpg
klik voor vergroting
Het is eigenlijk een projectje samenvergaard door de autheur van hfdst. 4,7,9 en 24.
Het uiteindelijke programma staat onderaan hfdst 9.
… and the sketch. That was really fun – I have a lot more clock ideas now.
In die sketch kom je dit tegen :
// insert function to turn on/off piezo buzzer, etc

Daar heb ik dit ingeplakt :
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  pinMode(9, OUTPUT); // speaker on pin 9

int del = 250; // for tone length
int lowrange = 2000; // the lowest frequency value to use
int highrange = 4000; //  the highest...

  // increasing tone
  for (int a = lowrange; a<=highrange; a++)
  {
    tone (9, a, del);
  }
  // decreasing tone
  for (int a = highrange; a>=lowrange; a--)
  {
    tone (9, a, del);
  }

En dat werkt prima, zelf alles uitgeprobeerd dus Tronix krijgt van mij weer krediet :)
Klein minpuntje toch, het display is enigzins onrustig.
Maar goed, jij als iemand met programmeer-ervaring krijgt dat er wellicht wel uit.
/edit: foto erbij
Afbeeldingslocatie: http://s30.postimg.org/mbi9tye7h/Alarmtronix_001.jpg

[ Voor 3% gewijzigd door kitao op 02-01-2014 13:42 . Reden: link + foto toegevoegd ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
mad_max234 schreef op woensdag 01 januari 2014 @ 17:55:
Voor de geïnteresseerde het schema hoe je twee of meerdere 74hc595 aan spi kan hangen met elk een eigen CS pin.
[afbeelding]
Datasheet
http://www.nxp.com/documents/data_sheet/74HC_HCT595.pdf
Ik zit nog steeds te wachten op die krengen. }:|
Maar zonder programma zou ik hier toch weinig mee kunnen. Wel knap hoor en mss dat ik naar dit draadje nog eens terugkijk :)

@Hieronder:
Kijk maar uit borroz, dalijk is die slimmer als jouw ! _O-

[ Voor 6% gewijzigd door kitao op 02-01-2014 14:32 . Reden: reactie op volgende post ]


Acties:
  • 0 Henk 'm!

Verwijderd

het wachten is op een Arduino AI shield 8)

Acties:
  • 0 Henk 'm!

  • ResuCigam
  • Registratie: Maart 2005
  • Laatst online: 12:27

ResuCigam

BOFH

Mijn laatste geknutsel: 4 tpics595 voor het aansturen van een stopwatch met 15V displays. Ik heb pas slechts 1 segment in huis (uitverkocht) dus het kleine breadboardje gebruik ik om te testen.
Afbeeldingslocatie: http://i331.photobucket.com/albums/l456/ResuCigam/Forums/2014-01-02120530_zps79e034d8.jpg

We do what we must because we can.


Acties:
  • 0 Henk 'm!

Verwijderd

LOL.. dat wordt een flinke klok stopwatch :o

[ Voor 18% gewijzigd door Verwijderd op 02-01-2014 14:45 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
Ik vind het er maar gevaarlijk uitzien Resucigam met dat metalen gaatjeskastje.
Hoeveel spanning staat daar wel niet op ?

Maar voor de rest vind ik het goed opgebouwd hoor.

/edit: is zeker trafo ?
Heb je wel eens gedacht over een regelbare voeding ?
Stuk minder riskant :+
Afbeeldingslocatie: http://www.okaphone.nl/product/images/ps1503sb.jpg

/edit
2 meter hoog ?!
Ga je naar de olympische spelen ? ;)

[ Voor 41% gewijzigd door kitao op 02-01-2014 14:55 ]


Acties:
  • 0 Henk 'm!

  • ResuCigam
  • Registratie: Maart 2005
  • Laatst online: 12:27

ResuCigam

BOFH

Het gaatjes kastje is de netvoeding, daar gaat 220V in en er komt 15V uit. Dit is dan ook slechts een proef opstelling. Binnenkort ga ik dit allemaal overzetten op een gaatjes printplaat en dan gaat het definitief ingebouwd worden in een 2 meter hoge stopwatch 8)

Edit @kitao: Nee dit is de voeding die ook in de definitieve versie gebruikt gaat worden en hij is heerlijk compact. En nee, de cijfers komen op een paal van 2 meter hoog :)

[ Voor 24% gewijzigd door ResuCigam op 02-01-2014 14:56 ]

We do what we must because we can.


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
ResuCigam schreef op donderdag 02 januari 2014 @ 14:53:

Edit @kitao: Nee dit is de voeding die ook in de definitieve versie gebruikt gaat worden.
Je weet dat er wettelijke richtlijnen zijn over hogere spanningen ?
Want zoals je dat nu op tafel legt vind ik dat je maar levensgevaarlijk bezig bent.
Waar die 220 kabel op vast zit kan je zondermeer bij aanraking kortsluiting mee maken.

/edit
tenzij ik het van bovenaf anders zie dan het als in werkelijkheid is.

[ Voor 8% gewijzigd door kitao op 02-01-2014 16:18 ]


Acties:
  • 0 Henk 'm!

  • ResuCigam
  • Registratie: Maart 2005
  • Laatst online: 12:27

ResuCigam

BOFH

Je hebt wel een punt maar er zit een plastic beschermkapje over de contacten dus daar maak ik me niet zo'n zorgen over :)

We do what we must because we can.


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
Afbeeldingslocatie: http://i.imgur.com/JPlzo7Ul.jpg

:z

[ Voor 58% gewijzigd door kitao op 02-01-2014 16:28 . Reden: foto resize ]


Acties:
  • 0 Henk 'm!

  • Demo
  • Registratie: Juni 2000
  • Laatst online: 09:21

Demo

Probleemschietende Tovenaar

kitao schreef op donderdag 02 januari 2014 @ 16:17:
[...]

Je weet dat er wettelijke richtlijnen zijn over hogere spanningen ?
Want zoals je dat nu op tafel legt vind ik dat je maar levensgevaarlijk bezig bent.
Waar die 220 kabel op vast zit kan je zondermeer bij aanraking kortsluiting mee maken.

/edit
tenzij ik het van bovenaf anders zie dan het als in werkelijkheid is.
Da's gewoon een industriële voeding in een stalen behuizing, niks mis mee. Je moet het niet in productie zo wegleggen, maar zo testen en daarna in een behuizing bouwen kan prima - zo zit de voeding in allerlei elektrische apparaten ook weggewerkt. Tussen de schroefterminals zit een stuk plastic, dat raak je niet zomaar per ongeluk aan. En als dat gebeurt overleef je het ook nog wel. (ik spreek uit ervaring :+)

Unix doesn't prevent a user from doing stupid things, because that would necessarily prevent them from doing brilliant things.
while true ; do echo -n "bla" ; sleep 1 ; done


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
kitao schreef op donderdag 02 januari 2014 @ 13:56:
[...]

Ik zit nog steeds te wachten op die krengen. }:|
Maar zonder programma zou ik hier toch weinig mee kunnen. Wel knap hoor en mss dat ik naar dit draadje nog eens terugkijk :)
Er is niks knap aan, gewoon stukje datasheet lezen en dan code maken zoals datasheet voorschrijft, of iets wat erop lijkt, beetje experimenteren. Stelt echt helemaal niks voor, maar wilde het gewoon allemaal even testen en uit proberen. Als dan toch bezig ben wil ik me er ook echt goed in verdiepen, wil helemaal weten hoe de chip reageert. :)

ps
heb nog wel 595 over, is wel smd, als je er eentje wilt hebben pm me maar.

[ Voor 6% gewijzigd door mad_max234 op 02-01-2014 17:12 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

Verwijderd

kitao schreef op donderdag 02 januari 2014 @ 13:56:
[...]

Ik zit nog steeds te wachten op die krengen. }:|
Maar zonder programma zou ik hier toch weinig mee kunnen.
maar je besteld ze vast wel.. heb je ze in voorraad bedoel je :'(

Acties:
  • 0 Henk 'm!

Verwijderd

mad_max234 schreef op donderdag 02 januari 2014 @ 17:11:
[...]


Er is niks knap aan, gewoon stukje datasheet lezen en dan code maken zoals datasheet voorschrijft
jij stapt daar nogal makkelijk overheen, maar dat is echt iets voor gevorderden met gedegen kennis imho en beslist niet iets wat een Arduino beginner voor elkaar krijgt cq nodig heeft. 8)
(tenzij jij ook de LIB schrijft en leuke fritzing voorbeeldjes maak :P )

ik heb net de post gehaald en heb mijn eerste PIR binnen.. nieuw speelgoed, nog nooit met zo'n ding 'gewerkt' ;)
prijsbewust & geduldig

- How Infrared motion detector components work
- Arduino Basics: PIR Sensors


.

[ Voor 47% gewijzigd door Verwijderd op 02-01-2014 18:20 ]


Acties:
  • 0 Henk 'm!

  • ResuCigam
  • Registratie: Maart 2005
  • Laatst online: 12:27

ResuCigam

BOFH

@mad_max Ik vind het zeer interessant om jouw geknutsel te volgen. Ik heb ook een n00b vraag: Je bent bezig geweest met het 'sneller' maken van 595's zonder digitalWrite en met SPI maar kan je misschien voor mijn beeldvorming ook een voorbeeld geven wanneer dat nodig is? Aan welke componenten moet ik dan denken? Ik moet namelijk zowel bij mijn ledjes als mijn lcd (16x2) vertragingen inbouwen. Bij de leds doe ik anders bijna aan PWM volgens mij ;) en mijn lcd kan het ook niet bijbenen. Multiplexing misschien?

We do what we must because we can.


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Als je veel i/o nodig hebt met snel refresh rate, zoals pixel display, grote ledcude(bijv. 8x8x8), serial naar parallel interfaces zoals lcd, lichtshow op gevel, 7 segment display multiplexen inderdaad ook, etc, etc

Waarom moet jij 16x2 vertragen? Zal wel komen door manier waarop je hem gebruikt. meeste 16x2 kunnen ook animaties weergeven, of spelletjes op spelen, heb je toch wel iets van minimaal 20fps nodig anders word het echt een diashow.

Edit/
Door spi te gebruiken hou je ook meer cpu tijd oven voor andere taken, je arduino word dus ook minder vertraagd.

Heb alleen 595's nodig en bij elke ic uiteraard een 0.1uF condensator.op de vcc pin.

[ Voor 24% gewijzigd door mad_max234 op 02-01-2014 20:29 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • ResuCigam
  • Registratie: Maart 2005
  • Laatst online: 12:27

ResuCigam

BOFH

Misschien zeg ik het verkeerd: Als ik een teller via een 595 op de lcd laat zien zijn de laatste 3 cijfers niet leesbaar, zo snel gaan ze.

edit @hieronder: Ik moet bekennen dat ik daar een lib voor gebruikt heb, ik was toen nog maar net begonnen. Maar nu ik 595 beter begrijp staat dat nu hoog op mijn lijstje na de 595 en multiplexing: Ik ga binnenkort proberen mijn eigen Arduino code te schrijven voor het aansturen van een lcd via een 595.

[ Voor 52% gewijzigd door ResuCigam op 02-01-2014 19:43 ]

We do what we must because we can.


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Op die manier. Hoe stuur je de lcd eigenlijk aan?

En je hebt het nu over tellertje tonen, dat is wel heel simpel voor de arduino, gaat namelijk niet alleen over de lcd, maar meer over avr, het aansturen ervan, als je wat complexe projecten maakt zal je steeds minder cpu tijd hebben, je zal dus ook steeds minder fps kunnen uitspugen, hoe minder cpu tijd je kwijt bent aan verwerken van je shift out des te meer kan je besteden om frames klaar te maken en te verzenden.

En nog rede, hoe minder tijd je kwijt bent des te eerder kan je in standby mode om stroom te besparen. Sneller is gewoon zuiniger.

Edit
En 16x2 is ook wel lcd die echt heel weinig pixels heeft, weet niet of je arduino daar uberhaupt mee op de kienen krijgt. :P Maar 16x2 staat dan ook wel helemaal onderaan, bijna alle andere lcd's zijn zwaarder om aan te sturen, hoe meer pixels en kleuren des te zwaarder word het. Dat 2.2" TFTtje wat ik laatst heb gekocht kan meer bandbreedte nodig hebben dan arduino spi bus kan leveren op max snelheid, om maar andere voorbeeld te geven, is ook een lcd.

Edit
@edit hierboven
Spelen met 595 is ook leuk, ik heb laatste dagen er hoop plezier mee gehad. :)
Ik vind altijd leuk om vanuit de datasheet de chip proberen te laten doen wat je wilt of juist net iets anders laten dan waarvoor de ic bedoeld was, soms lukt het wel soms niet, en heel soms ontsnapt de magisch rook. :+

[ Voor 43% gewijzigd door mad_max234 op 02-01-2014 19:59 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • Powerblast
  • Registratie: Augustus 2011
  • Laatst online: 15:23
Heb me de laatste dagen bezig gehouden met mijn lcd schermpje aan sturen. Dat 16x2 waarvan hierboven ook sprake veronderstel ik. Leuk ding moet ik zeggen, zoals ik dacht was de software kant niet het probleem maar moest ik nogal wa uitzoeken van de hardwarekant. 16 pins aansluiten... jezus :). Heb geloof ik nu door wat ze alle 16 doen, vond ik toch wel belangrijk vooraleer verder te gaan.

Wil nu enkel nog eens een knop toevoegen waarmee ik m'n lcd aan en uit kan zetten. Wat ik nu alleen niet goed snap is waar die knop tussen zou moeten. Moet die nu tussen de Vcc waar de 5V aangesloten op is, of moet die op de led+? Dat is als ik het goed voorheb enkel de backlight en niet het lcd op zich?

Hoe gaat trouwens de arduino daar op reageren? Die doet nu niet meer dan constant de tijd outputten naar de lcd. Ben wel benieuwd wat er gaat gebeuren als die een tijdje uitgeschakeld staat :). Wat ik eigenlijk wil uitproberen is eigenlijk een soort van scherm dat je kan dimmen met een knop, zoals een gsm zeg maar. Het scherm staat ff uit maar de logica blijft doordraaien.

Bevalt me heel goed tot nu moet ik zeggen :).

Acties:
  • 0 Henk 'm!

  • ResuCigam
  • Registratie: Maart 2005
  • Laatst online: 12:27

ResuCigam

BOFH

@mad_max: Helemaal duidelijk, waarvoor mijn dank.

@Powerblast: Ik denk dat je in ieder geval de backlight ongestraft kan uitzetten. Ik heb daar ook een 2e potmeter gebruikt om de hoeveelheid licht te kunnen instellen.

Ik ben zelf gisteren nog even los gegaan met random() 8)

Oh en een waarschuwing voor mensen die willen overstappen naar Windows 8.1: behalve dat de upgrade op zich nogal een bevalling is (ik was instellingen kwijt, moest HD opschonen etc etc) bleek ook de Arduino IDE geen com poort meer te zien en Windows 8.1 weigerde de USB driver te installeren.. Lang verhaal kort: Je moet de verplichte driver signature enforcement disablen voor je de USB drivers weer kan installeren.

[ Voor 47% gewijzigd door ResuCigam op 02-01-2014 20:20 ]

We do what we must because we can.


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
@Powerblast
Je kan hd44780 controller ook in 4bit mode aansturen, scheelt je alweer 4 pinnen, en je mag inderdaad backlight gewoon in en uitschakelen. Led staat helemaal los van lcd voeding, als tenminste een standaard hd44780 interface heeft, zullen vast wel uitzonderingen bestaan.

@ResuCigam
Ik had geen problemen met FTDI drivers icm met 8.1. Zal denk ik dan alleen optreden bij upgrade, die van mijn was fresh instal. PL2303HX had ik wel problemen mee, die kon ik niet meer installeren, maar daar is fix voor gevonden. En win8 werkte ze ook niet, dus niet alleen 8.1.

In het filmpje heb je de 595's ook aangesloten op de spi zo te zien?

Edit/
Heb even gezocht naar filmpje die 595 na mijn idee duidelijk uitlegt, met animaties erbij wat welke lijn doet en hoe ze met elkaar samenwerken om de twee registers die in de 595 zit aan te sturen. Is helaas wel Engelstalig, hoop dat dat geen probleem is voor meeste onder ons.

[ Voor 60% gewijzigd door mad_max234 op 02-01-2014 20:44 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

Verwijderd

waarom gebruiken jullie geen max7219 ? kost 1,95 en scheelt je veel draadjes 8)

[ Voor 7% gewijzigd door Verwijderd op 02-01-2014 21:41 ]


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Minder dan 8cent? :)

Edit/
Zie dat ze iets duurder zijn geworden ondertussen, kosten nu per 50 rond de 5 euro, was eerst rond de 4 euro. 10cent per stuk ongeveer, nog steeds spot goedkoop. :)

En je kan er meer mee aansturen dan alleen leds, dat is maar voorbeeld, is serial naar parallel ic, kan dus lcd mee aansturen of elke andere parallelle interface, tot 100Mhz.

[ Voor 99% gewijzigd door mad_max234 op 02-01-2014 21:42 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Trots als een pauw hier!

Vandaag ontving ik mijn PCB's uit Hongkong. Voor mij de eerste keer dat ik ueberhaupt een printje gemaakt en besteld had. En dan ook gelijk voor SMD gegaan. Ik had maar beperkte ruimte voor mijn project. Op de foto's zie je een 4-digit klok (op zich niets bijzonders), met een 328p en ds2313 RTC. De lcd wordt gemultiplexed. Niet zichtbaar zijn de ds18b20 thermometers (via een connector). De schakeling bevat mosfets om de dashboard verlichting te synchroniseren met de helderheid van het display. Alles wordt bestuurd met een rotary encoder (ook via een connector).

Het hele project is in de Arduino IDE gebouwd op breadboard met through-hole componenten. Dat was voor mij de enige manier om de software te kunnen ontwikkelen. De 328p is niet voorzien van een bootloader om ruimte te besparen - de sketch kan via de ISP header geupload worden. De sketch is momenteel 26k, voornamelijk vanwege de i2c interface van de klok, en de 1Wire library voor de thermometers.

Ik ben in juni 2013 begonnen met electronica.

Voorkant:
Afbeeldingslocatie: http://i.imgur.com/1V3e2Bnl.jpg

Achterkant:
Afbeeldingslocatie: http://i.imgur.com/Xb2UN7El.jpg

Zoals je ziet ben ik nog niet helemaal klaar met solderen, maar dat komt nog wel.

[ Voor 3% gewijzigd door RobV op 02-01-2014 21:39 ]

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


Acties:
  • 0 Henk 'm!

Verwijderd

'De schakeling bevat mosfets om de dashboard verlichting te synchroniseren met de helderheid van het display' uh ikke niet helemaal snap, komt het in een auto ofzo ?
ziet er heel prof uit _/-\o_

Acties:
  • 0 Henk 'm!

Verwijderd

mad_max234 schreef op donderdag 02 januari 2014 @ 21:34:
Minder dan 8cent? :)

Edit/
Zie dat ze iets duurder zijn geworden ondertussen, kosten nu per 50 rond de 5 euro, was eerst rond de 4 euro. 10cent per stuk ongeveer, nog steeds spot goedkoop. :)

En je kan er meer mee aansturen dan alleen leds, dat is maar voorbeeld, is serial naar parallel ic, kan dus lcd mee aansturen of elke andere parallelle interface, tot 100Mhz.
leuk voor je TFT je met wat graphics.. maar onzin voor een klokje.. zeg ik dat goed ?

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Ziet er heel netjes uit, zwart pcb met blauw 7 segment ziet er ook goed uit. Eigen ontwerp is altijd leuk om in elkaar te zetten, ook altijd spannend of alles wel werkt. Zeker voor eerste keer.

PS
Met beetje alcohol om flux resten weg te poetsen zal nog die nog mooier van worden.. :)

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Dank, dank!
Verwijderd schreef op donderdag 02 januari 2014 @ 21:44:
'De schakeling bevat mosfets om de dashboard verlichting te synchroniseren met de helderheid van het display' uh ikke niet helemaal snap, komt het in een auto ofzo ?
Jup. Vervangend dashboard klokje voor mijn DeLorean.
Met beetje alcohol om flux resten weg te poetsen zal nog die nog mooier van worden.. :)
Gedaan. Stond al klaar, maar ik moést eerst een fotootje maken!

[ Voor 47% gewijzigd door RobV op 02-01-2014 21:51 ]

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


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Verwijderd schreef op donderdag 02 januari 2014 @ 21:46:
[...]


leuk voor je TFT je met wat graphics.. maar onzin voor een klokje.. zeg ik dat goed ?
Ja helemaal correct, zolang snelheid niet nodig hebt waarom zou je dan moeite doen voor snelheid. Maar aan de andere kant is het ook niks meer moeite om het aan te sluiten evenveel pinnen nodig en bestaat je code uit minder regels als je spi gebruikt. Maar noodzaak is het niet.

En kan ook zijn voor led cube(voor software pwm om leds te laten twinkelen), alles wat veel i/o nodig heeft op bepaalde snelheid. Heb je heel veel rgb leds voor modelbouw project of kunst project(verzin er zelf maar wat bij) dan kan je al snel tegen snelheidsproblemen aanlopen.

[ Voor 6% gewijzigd door mad_max234 op 02-01-2014 21:53 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

Verwijderd

ja hierin is het wel zinvol vermoed ik :)


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Geweldig project(product), gaaf om te zien. :)

Met zo project snak je naar alle snelheid die je kan krijgen, ook uitwijken naar assembler is vrij gebruikelijk om laatste winst eruit te persen die erin zit.

-Andere hobby- -


Acties:
  • 0 Henk 'm!

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

C.44

TurboCharged Supra Driver

Hallo mensen, ik ben even aan 't aanmodderen met m'n Arduino en 2 BigEasyDrivers en ik wil eigenlijk even van de standaar 1/16e stapgrootte af. Nu staat er in de datasheet van de BED dat de pinnen MS1, MS2 en MS3 standaard hoog getrokken zijn dmv een 20kOhm weerstand. Door 't in combinaties laagtrekken van die pinnen zou je 1/8e, 1/4e, halve en hele stappen moeten kunnen maken.

Nu ben ik me even aan 't afvragen hoe ik die pinnen het beste laag kan trekken. Het liefst wil ik dat dmv de arduino doen om zo de stapgrootte in 't programma te kunnen betrekken. Kan ik de MS1 - MS3 pinnen gewoon direct op een input/output hangen en dan een digitalWrite(pin, LOW) uitvoeren of ben ik dan m'n printjes aan 't frituren?

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

RobV schreef op donderdag 02 januari 2014 @ 21:49:

Jup. Vervangend dashboard klokje voor mijn DeLorean.
[
wow ............ ja daar past die wel tussen :9

Afbeeldingslocatie: http://wikitravel.org/upload/shared/1/12/Delorean_Dash.jpeg


@ mad_max

ik wil zo'n wifi printje aanschaffen maar kan die alleen krijgen MET ingebouwde ceramische antenne en aangezien het voor een mobiele toepassing is wil ik er een antenne op kunnen schroeven.

> http://learn.adafruit.com/adafruit-cc3000-wifi/connections

zou ik die versie met die ingebouwde antenne kunnen slopen en een sma plugje erbij solderen ? wat denk jij

[ Voor 38% gewijzigd door Verwijderd op 02-01-2014 22:08 ]


Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
[...]
wow ............ ja daar past die wel tussen :9
Dat is een show-auto. Zo zijn ze (gelukkig) niet allemaal! Leuk voor evenementen en zo, maar ik houd mijne liever close to original. Met uitzondering van deze mod's, toegegeven.

[ Voor 15% gewijzigd door RobV op 02-01-2014 22:07 . Reden: Spelvoutjes ]

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


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
C.44 schreef op donderdag 02 januari 2014 @ 21:59:
Hallo mensen, ik ben even aan 't aanmodderen met m'n Arduino en 2 BigEasyDrivers en ik wil eigenlijk even van de standaar 1/16e stapgrootte af. Nu staat er in de datasheet van de BED dat de pinnen MS1, MS2 en MS3 standaard hoog getrokken zijn dmv een 20kOhm weerstand. Door 't in combinaties laagtrekken van die pinnen zou je 1/8e, 1/4e, halve en hele stappen moeten kunnen maken.

Nu ben ik me even aan 't afvragen hoe ik die pinnen het beste laag kan trekken. Het liefst wil ik dat dmv de arduino doen om zo de stapgrootte in 't programma te kunnen betrekken. Kan ik de MS1 - MS3 pinnen gewoon direct op een input/output hangen en dan een digitalWrite(pin, LOW) uitvoeren of ben ik dan m'n printjes aan 't frituren?
digitalWrite(pin, LOW) is correct, dan komt de pin in een high z toestand.

M pinnen zijn logic pinnen, dus zal niks firturen zijn bedoeld om aan te sturen met uC. Als je ze hoog trekt met vcc moet je de A4988 wel beschermen, je zet immer direct de vcc op de logic pin, 20K zal stroom bepreken zodat de logic van de A4988 niet gefrituurd word.

Lees datasheet van chip van je printje, als je dat tenminste niet bedoelde met datasheet van BED.
http://dlnmh9ip6v2uc.clou...otics/A4988-Datasheet.pdf

Zal typ <1mA vloeien op de logic pinnen, dat kan arduino makkelijk aan zie tabel: ELECTRICAL CHARACTERISTICS


@borroz
Dat kan misschien, weet dat niet zeker, ben toevallig aan lezen geweest om goedkope nrf24 module met ingebouwde antenne om te bouwen, heb datasheet doorgelezen en is niet alleen de antenne, is ook stukje circuit wat ermee te maken heeft om load capaciteit af te stemmen voor de antenne icm met de chip. Nu wijkt de nrf24 niet zoveel af van wifi, denk dus dat je daar ook rekening mee moet houden.

Zomaar antenne eraan plakken zal wellicht werken maar kan ook zomaar slechter werken, zover strekt mijn kennis over antennes nog niet. :P

[ Voor 25% gewijzigd door mad_max234 op 02-01-2014 22:19 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

Verwijderd

RobV schreef op donderdag 02 januari 2014 @ 22:05:
[...]

Dat is een show-auto. Zo zijn ze (gelukkig) niet allemaal! Leuk voor evenementen en zo, maar ik houd mijne liever close to original. Met uitzondering van deze mod's, toegegeven.
snap ik.. was een grapje.. h e l e mooie auto, mag je trots en zuinig op zijn 8)

Acties:
  • 0 Henk 'm!

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

C.44

TurboCharged Supra Driver

mad_max234 schreef op donderdag 02 januari 2014 @ 22:08:
[...]


digitalWrite(pin, LOW) is correct, dan komt de pin in een high z toestand.

M pinnen zijn logic pinnen, dus zal niks firturen zijn bedoeld om aan te sturen met uC. Als je ze hoog trekt met vcc moet je de A4988 wel beschermen, je zet immer direct de vcc op de logic pin, 20K zal stroom bepreken zodat de logic van de A4988 niet gefrituurd word.

Lees datasheet van chip van je printje, als je dat tenminste niet bedoelde met datasheet van BED.
http://dlnmh9ip6v2uc.clou...otics/A4988-Datasheet.pdf

Zal typ <1mA vloeien op de logic pinnen, dat kan arduino makkelijk aan zie tabel: ELECTRICAL CHARACTERISTICS
Dus als ik je goed begrijp kan ik zonder tussenkomst van extra weerstanden wel die MS pinnen laag schrijven (digitalWrite(pin, LOW)) maar zou ik ze alleen hoog kunnen schrijven als ik er een weerstand tussen zet (volgens die datasheet 100k op MS1 en MS3 en 50k op MS2)? Kan ik die weerstand er evt tussen laten zitten als ik de pin weer laag schrijf? (ja sorry 't is laat en ben de hele dag bezig geweest met debounce logica from scratch en dat is wat uitgebreider geworden dan geplanned - doubleclick, hold...)

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!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Ja dat is correct, zal arduino niet slopen. A4988 datasheet heeft het over interne pulldown weerstanden, MS1 en 3 hebben beide 100K en MS2 50K weerstand. Je mag ze dus laten floaten, zullen ze interne naar beneden getrokken worden. Alle drie los laten zal de A4988 in full step configuratie gaan.

Welke pagina lees je dat hoog weerstand nodig heeft? Kan ik even meelezen. Want volgens mijn is dat niet nodig.

-Andere hobby- -


Acties:
  • 0 Henk 'm!

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

C.44

TurboCharged Supra Driver

mad_max234 schreef op donderdag 02 januari 2014 @ 22:35:
Ja dat is correct, zal arduino niet slopen. A4988 datasheet heeft het over interne pulldown weerstanden, MS1 en 3 hebben beide 100K en MS2 50K weerstand. Je mag ze dus laten floaten, zullen ze interne naar beneden getrokken worden. Alle drie los laten zal de A4988 in full step configuratie gaan.

Elke pagina lees je dat hoog weerstand nodig heeft? Kan ik even meelezen. Want volgens mijn is dat niet nodig.
In eerste instantie heb ik hier http://www.schmalzhaus.co...gEasyDriver_UserManal.pdf gelezen dat 't een 20K resistor zou zijn (pagina 2, net voor de tabel). In jouw datasheet staan die 100K en 50K waarden op pagina 7. Bedoel je met floaten dat ik zelf geen weerstanden tussen m'n in/outputs van de arduino en die MS1/2/3 pinnen hoef te zetten als ik ze weer digitalWrite(pin, HIGH) wil doen?

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!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Zie ook het circuit in de datasheet, zag ik net nog niet, had alleen blokdiagram bekeken en tekst gelezen. Lijk me 100% duidelijk. :)

Afbeeldingslocatie: http://tweakers.net/ext/f/NGSM0CgK8Ae2aY3Epg2SYV0l/medium.jpg

Edit
Andere datasheet gelezen, en dat zijn 20K pullup weerstanden om ms pinnen hoog te maken, is niet verstandig om vcc direct aan ic te hangen, als er iets mis gaat zal er grote stroom vloeien, dat voorkomt die 20K dus. Hoef je niet tussen de arduino en BED te plaatsen, arduino kan geen grote stroom leveren, maar je mag altijd kijken of het werkt met 1K of zo ertussen, dan kan er nog kleinere stoom vloeien.

[ Voor 41% gewijzigd door mad_max234 op 02-01-2014 23:06 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

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

C.44

TurboCharged Supra Driver

Ik heb zojuist even verbindingen gelegd (zonder extra weerstanden) tussen MS1, 2 en 3 en ik kan idd gewoon dmv digitalWrite(pin, LOW) of digitalWrite(pin, HIGH) combinaties maken om verschillende stapgroottes te maken. Ik heb op dit moment een testproggeltje om te kijken hoe kort ik de de delay kan maken tussen de stappen zonder dat de motor stalled.

Valt me op dat hoe groter de stappen worden hoe groter de delay moet zijn om stalls te voorkomen. Voltage output bijstellen helpt wel iets maar dat is eigenlijk meer een lapmiddel dan een oplossing.

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!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Let wel op dat je current limiter juist instelt, las er iets over in de datasheet, bij kleine stappen moet je potmeter anders instellen dan bij grote stappen, althans dat geloof ik te hebben gelezen, even geen zin meer om datasheet er weer bij te pakken, morgen weer nieuwe dag. :P

-Andere hobby- -


Acties:
  • 0 Henk 'm!

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

C.44

TurboCharged Supra Driver

Best practice lijkt mij om 'm net genoeg te geven zodat ie vloeiend draait en vooral niet te gretig willen zijn.

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: 12:27

ResuCigam

BOFH

Verwijderd schreef op donderdag 02 januari 2014 @ 21:07:
waarom gebruiken jullie geen max7219 ? kost 1,95 en scheelt je veel draadjes 8)
Omdat mijn displays common anode zijn 8)

We do what we must because we can.


Acties:
  • 0 Henk 'm!

Verwijderd


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Holy S*** wat een prijs. :N

Ik weet dat Vinculum I niet goedkoop waren/zijn, maar 32 euro is echt van de gekken, rest van circuit kost niet veel.

Sommige Vinculum I kosten 9 dollar, maar de nieuwe Vinculum II kosten 3 a 4 dollar, bij afnamen van 1 stuk, per 10 of 25 zijn ze goedkoper.

Deze dual usb host controller bijv.
http://nl.mouser.com/Prod...ZZMsyrc46HKMtR3kJhKRV8GVa

Kan en klaar, dual usb host, 18 euro vind ik nog duur, maar is al weer heel wat goedkoper dan 32 euro.
http://nl.mouser.com/Prod...ZZMuXfccvO5DzavxedDYw4wKn

-Andere hobby- -


Acties:
  • 0 Henk 'm!

Verwijderd

ja tis geen koopje.. maar als datalogger prettiger dan een SD kaartje en ik begrijp dat er firmware opzit ?

jou laatste linkje is een ontwikkelprintje voor die chip.. heb je zo kaal weinig aan schat ik in.
op ebay is er ook niets geschikts te vinden en dat Paralaxprintje is stokoud.

[ Voor 45% gewijzigd door Verwijderd op 03-01-2014 00:30 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
Verwijderd schreef op donderdag 02 januari 2014 @ 17:28:
[...]
maar je besteld ze vast wel.. heb je ze in voorraad bedoel je :'(
:?
Ja, ik heb ze 'alvast' besteld ja want ze worden in een site die ik volg gebruikt waar er wel programmavoorbeelden bij zitten. Het duurt alleen erg lang voor ze binnenkomen.
/Edit: en Max, bedankt voor het aanbod maar ik ga voorlopig wel verder met andere componentjes. SMD vind ik te klein en zal wel niet lang meer duren voor ze alsnog binnenkomen.
Powerblast schreef op donderdag 02 januari 2014 @ 20:02:
Heb me de laatste dagen bezig gehouden met mijn lcd schermpje aan sturen. Dat 16x2 waarvan hierboven ook sprake veronderstel ik. Leuk ding moet ik zeggen, zoals ik dacht was de software kant niet het probleem maar moest ik nogal wa uitzoeken van de hardwarekant. 16 pins aansluiten... jezus :). Heb geloof ik nu door wat ze alle 16 doen, vond ik toch wel belangrijk vooraleer verder te gaan.

Wil nu enkel nog eens een knop toevoegen waarmee ik m'n lcd aan en uit kan zetten. Wat ik nu alleen niet goed snap is waar die knop tussen zou moeten. Moet die nu tussen de Vcc waar de 5V aangesloten op is, of moet die op de led+? Dat is als ik het goed voorheb enkel de backlight en niet het lcd op zich?

Hoe gaat trouwens de arduino daar op reageren? Die doet nu niet meer dan constant de tijd outputten naar de lcd. Ben wel benieuwd wat er gaat gebeuren als die een tijdje uitgeschakeld staat :). Wat ik eigenlijk wil uitproberen is eigenlijk een soort van scherm dat je kan dimmen met een knop, zoals een gsm zeg maar. Het scherm staat ff uit maar de logica blijft doordraaien.

Bevalt me heel goed tot nu moet ik zeggen :).
Ik had speciaal (en omdat ik het zelf leuk vond ;) deze fritz voor je gemaakt :
kitao in "[Discussie] Arduino-topic"
Die opstelling staat hier nog in gebruik en als ik de plusvoedingjumper van het lcd loshaal gaat die gewoon uit.
Behalve het backlight dan want die heeft zn eigen voeding maar die kun je ook gewoon lostrekken. Wat de arduino doet ? Die blijft gewoon signalen doorsturen naar een levenloos componentje maar zal geen kwaad kunnen. Als de voeding weer terug gezet wordt op de lcd moet wel de arduino gereset worden, zal niet zomaar vanzelf verder gaan. Dus lang verhaal kort, je kan er gewoon een schakelaar tussen zetten.
Het dimmen van het display gebeurt met de linkse pot die je in mijn post kon zien, de rechtse is om het menu mee te bedienen en het knopje is om de menu's te kunnen kiezen.
En zoals Max schreef, met 4 Lcd-data's heb je al genoeg, hoeven er geen 8 te zijn.
Ik zou zeggen, bouw die schakeling eens op volgens de tekening en probeer het eens en laat me weten als je een foutje tegen komt. Persoonlijk vind ik dit het leukste en makkelijkste klokje wat ik tot nu toe ben tegengekomen.
Afbeeldingslocatie: http://s13.postimg.org/koww0g2yb/Untitled_Sketch_bb.jpg

@RobV
Mooi hoor, en in half jaar al je eigen smd-print gemaakt. Erg vlot. :)

[ Voor 2% gewijzigd door kitao op 03-01-2014 00:36 . Reden: typo ]


Acties:
  • 0 Henk 'm!

Verwijderd

kitao schreef op vrijdag 03 januari 2014 @ 00:22:
[...]

:?
Ja, ik heb ze 'alvast' besteld ja want ze worden in een site die ik volg gebruikt waar er wel programmavoorbeelden bij zitten. Het duurt alleen erg lang voor ze binnenkomen.
ja dat klinkt weer heel anders dan :

' Ik zit nog steeds te wachten op die krengen. }:|
Maar zonder programma zou ik hier toch weinig mee kunnen. '

waaruit ik opmaakte dat je er niets aan heb zonder code voorbeeld.. maar blijkbaar heb je die nu toch wel :P

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Verwijderd schreef op vrijdag 03 januari 2014 @ 00:20:
ja tis geen koopje.. maar als datalogger prettiger dan een SD kaartje en ik begrijp dat er firmware opzit ?
Dat weet ik niet, maar denk dat hele usb stack erin zit, denk dat je er zelf nog wat aan kan programmeren zoals gpoi pinnen. Ga er denk ik wel paar mee bestellen bij volgende bestelling, lijkt me leuk speelgoed.

http://nl.mouser.com/new/ftdi/ftdivinculum2/

Over SD, daar zit ik ook over na te denken, vreet nodig wat geheugen, vooral als je ook nog wat fat ondersteuning wilt inbouwen. Arduino libs die ik laatst gebruikte om bmp te lezen vanaf fat16 partitie 30KB kwijt. Denk dat ik maar extra atmega erbij ga plaatsen en dan alle sd verwerking laat uitvoeren, heb er nog zat liggen. Andere optie is 644 of 1280, 644 is qua prijs nog wel te rechtvaardigen, al zal ik denk ik nooit de volle 64KB gebruiken, maar met 32KB red ik het hoogstwaarschijnlijk ook net niet.

Hoe hebben jullie dat gedaan?

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
Verwijderd schreef op vrijdag 03 januari 2014 @ 00:34:
ja dat klinkt weer heel anders dan :

' Ik zit nog steeds te wachten op die krengen. }:|
Maar zonder programma zou ik hier toch weinig mee kunnen. '

waaruit ik opmaakte dat je er niets aan heb zonder code voorbeeld.. maar blijkbaar heb je die nu toch wel :P
Ik bedoelde dat de voorbeelden van Max mij boven de pet gaan en dat ik zonder programma daar toch niks mee kan. Hij schreef namelijk : 'voor de geinteresseerden deze post'
En het is al helemaal moeilijk te volgen als je zelf niks kan nabouwen bij gebrek aan component.
Overigens heb je volgens mij niet persé een programma nodig voor die dingen. Je kan er zelf een kloksignaal opzetten en de ingangen veranderen.

Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
@RobV
Mooi hoor, en in half jaar al je eigen smd-print gemaakt. Erg vlot. :)
Wat wellicht heeft geholpen is dat ik met 25 jaar ervaring nauwelijks over het programmeren na hoefde te denken. Dat scheelt echt wel.

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


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
RobV schreef op vrijdag 03 januari 2014 @ 09:37:

Wat wellicht heeft geholpen is dat ik met 25 jaar ervaring nauwelijks over het programmeren na hoefde te denken. Dat scheelt echt wel.
Dat Is zo, zelf heb ik amper kijk op C+ en als een schakeling dan matig of niet werkt dan is altijd de vraag of ik iets verkeerds heb aangesloten of dat de sketch mankementen vertoont. Jij zal dat laatste dan gauw doorhebben en ook je eigen ontwerp kunnen maken.

Je schreef dat je nog niet klaar was met smd-solderen, ik neem aan dat je het dan met de hand doet en niet met een reflow-oventje ? (kan bijna niet anders)

Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Ja, met de hand. Inmiddels zit alles erop, muv. een tweetal transistors (onderweg). Vanmiddag kabeltjes krimpen en de interface verbinden, laatste loodjes! Dan nog de software écht afmaken, 't werkt wel maar het kan beter. Mijn motto bij software bouwen: "first make it work, then make it better, then release it.".

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


Acties:
  • 0 Henk 'm!

Verwijderd

PIR motion sensor test :9

[YouTube: http://www.youtube.com/watch?v=Fv9iPFtMz5Y]

het piepje

[ Voor 40% gewijzigd door Verwijderd op 03-01-2014 17:05 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
RobV schreef op vrijdag 03 januari 2014 @ 12:46:
Ja, met de hand. Inmiddels zit alles erop, muv. een tweetal transistors (onderweg).
Als je handmatig soldeer waarom dan smd of wil je gewoon die print zo klein mogelijk hebben ?
Zal mij niet lukken om dat te solderen.
Mijn motto bij software bouwen: "first make it work, then make it better, then release it.".
Ja, dat is altijd handig.
In een vorige post had ik het over knipperen van het display :
kitao in "[Discussie] Arduino-topic"
Dat display geeft dus tijd en datum. Door op het knopje te drukken kom je in het menu. Je kunt scrollen door het menu door de pot te verdaaien om bijv. dag en tijd te veranderen. Je ziet bijvoorbeeld 'set hour'. Door weer op het knopje te drukken en daarna de pot te verdraaien kun je een uur instellen. Weer knopje drukken en is bevestigd etc.
Heel leuk programma en zonder bugs.
Helaas is het display lichtelijk onstabiel.
Kijk je in het programma zie je 5x deze zin voorkomen :
delay(100); // stop screen flicker
Deze ruim verhoogd tot 2000 maar geeft andere ongewenste effecten.
Vervolgens geprobeerd het hele menu gedeelte weg te commenten maar dit levert weer andere meldingen op zoals 'this was not declared, etc'.
Komt omdat het programma teveel ingeweven is om door mij eventjes uit elkaar te pluizen. En daar loop je dan als leek tegenop.
Overigens vraag ik me wel af hoe ze dan hele fimpjes/animaties met een arduino op een tft kunnen laten draaien als ze een 16x2 niet eens glad kunnen strijken ? :?

@Borroz Detected :D
Leuk. Mijn radiootje is net binnen.

Acties:
  • 0 Henk 'm!

Verwijderd

kitao schreef op vrijdag 03 januari 2014 @ 16:00:
[...]

Mijn radiootje is net binnen.
succes 8)



of had je die nou met deze chip ?

ik heb leuk kunnen shoppen op Ebay en heb een flinke partij lasers gekocht (0,20 p st)
kan ik mijn arduino controlled scrolling lasermatrix klok gaan bouwen 8)7

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

ben alleen nog aan het puzzelen hoe ik ze aan ga sturen.
op dit moment is mijn gedachte :
2 st. Super Source Driver - M54564P + 1 st. 7219

[ Voor 64% gewijzigd door Verwijderd op 04-01-2014 11:25 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
Nee, ik geloof het niet, ik heb deze :
RDA5807PJS78422 staat erop, wat ik niet kan lezen met huidige vergrootglas maar staat gelukkig wel op de verkoopsite.
Zal nog heel gepuzzel worden om daar geluid uit te krijgen, ik heb wel een paar sites bewaard als het goed is.
Morgen maar eens proberen :)

/edit, ga je op de muur de tijd projecteren ?
/edit2, ik heb geeneens een mp3 speler, zal hopelijk niet hoofdzaak erbij zijn ?

[ Voor 8% gewijzigd door kitao op 03-01-2014 17:48 ]


Acties:
  • 0 Henk 'm!

Verwijderd

kitao schreef op vrijdag 03 januari 2014 @ 17:44:
[...]

Nee, ik geloof het niet, ik heb deze :
RDA5807PJS78422 staat erop, wat ik niet kan lezen met huidige vergrootglas maar staat gelukkig wel op de verkoopsite.
Zal nog heel gepuzzel worden om daar geluid uit te krijgen, ik heb wel een paar sites bewaard als het goed is.
Morgen maar eens proberen :)

/edit, ga je op de muur de tijd projecteren ?
/edit2, ik heb geeneens een mp3 speler, zal hopelijk niet hoofdzaak erbij zijn ?
- ja wordt een soort time/date/temp/message projector (op muur/plafond) komen 64 rode lasers in een aluminium blokje die samen 1 matrix vormen, dat weer vast zit aan een stappenmotortje.. work in progress my head en volgende maand gaan proberen.. weet niet eens hoeveel ze verbruiken 8)

- die 5807 kan je hetzelfde aansturen als de meer bekende TEA5767

- huh mp3 speler ?

Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
Ik dacht al... die is van plan om een vliegtuig neer te halen :P

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
Lijkt me ingewikkeld borroz, ik heb me eigenlijk nog niet afgevraagd hoe zo'n projectieklok nu eigenlijk het principe van is. Je zou er een apart topic over kunnen openen ? Lijkt me leuk om te volgen en hier staat alles kriskras.
- die 5807 kan je hetzelfde aansturen als de meer bekende TEA5767
Tnx, gaat ook meteen het mapje in deze nuttige info d:)b
- huh mp3 speler ?
RDA5807 FM STEREO Low IF DIGITAL RADIO MODULE DIY For MP4/MP3 Player NEW
vandaar dus, maar ik kijk er morgen naar, laat ik niet on-ingelezen te ver vooruit lopen. :)

Acties:
  • 0 Henk 'm!

Verwijderd

kitao schreef op vrijdag 03 januari 2014 @ 18:08:

RDA5807 FM STEREO Low IF DIGITAL RADIO MODULE DIY For MP4/MP3 Player NEW
vandaar dus, maar ik kijk er morgen naar, laat ik niet on-ingelezen te ver vooruit lopen. :)
nee joh, ze bedoelen daarmee dat die 'radio module' geschikt is om in te bouwen in een mp3 speler.
wat jij nodig zal hebben is een voorversterker/koptelefoonversterkertje want het signaal dat uit dat chippie kom is erg laag en niet geschikt om een koptelefoon rechtstreeks aan te sturen.

* zo ingewikkeld is het idee niet.. ik vervang gewoon de LED matrix uit mijn reeds gebouwde klokkie door een 'lasermatrix' die ik zelf maak.

[ Voor 11% gewijzigd door Verwijderd op 03-01-2014 18:14 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 05-09 16:01
Dus je hebt 7x5 of 8x8 van die lasers nodig en met die motor laat je het geheel draaien ?

Acties:
  • 0 Henk 'm!

Verwijderd

64 van die lasertjes idd voor 1 matrix.. het geheel gaat waarschijnlijk niet volledig ronddraaien (ook ivm de veiligheid 8) ) maar min of meer in sync met de textscrollspeed een stukje 'meelopen' waardoor er een bepaald effect ontstaat op de muur/plafond/vloer (denk ik)

al Ebay shoppende (verslavend.. ik zet altijd maar een klein bedrag op mijn PayPal :) ) heb ik dit leuke arduino webserver setje gekocht.

Afbeeldingslocatie: http://i.imgur.com/HYArpsg.jpg
totaal 12,59 ;)

[ Voor 70% gewijzigd door Verwijderd op 03-01-2014 19:27 ]

Pagina: 1 ... 38 ... 96 Laatste