goedenavond iedereen,
ik ben bezig met een kleine arduino project, ik ben nog een noob maar ik ben een snelle leerling. ik ben geen noob in programmeren aangezien ik al een aantal programmeer talen beheers zoals html css php java etc.
ik ben dus aan het volgende bezig:
ik wil doormiddel van een attiny85 een usb keyboard keystrokes kunnen laten opslaan op een sd kaart in een txt document met timestamps erbij
nu heb ik me al een beetje ingelezen (voornamelijk engels talige forums) maar ik kom geen stap wijzer hoe ik dit zou moeten aanpakken, sommige zeggen dat je een usb shield moet gebruiken om als usb host te dienen maar dat wil ik niet omdat ik mijn project zo klein mogelijk wil houden, heb een aantal lege double sided pcb boards liggen van 4x10 als ik het goed had en daar wil ik dus ook al mijn componenten om kwijt kunnen. als ik een shield moet gebruiken word het allemaal veelste groot
daarbij wil ik niet teveel geld aan mijn project uitgeven dus ik had het volgende bedacht:
ik heb een lose usb poort met de pins 5volt, ground, data+, data- gesoldeerd aan losse jumper kabels om die vervolgends te verbinden met mijn arduino uno en dan weer mijn usb keyboard verbinden met mijn DIY usb shield om zo de keystrokes te kunnen opslaan.
hopelijk is dit op deze manier mogelijk, voor nu hoeft de data nog niet op te slaan op de sd kaart want de sd reader module heb ik nog niet. dus voor nu graag wat codes om mij dit iets duidelijker te maken en dat ik de data ook kan zien verschijnen op mijn laptop aangezien ik nog geen sd module heb.
hopelijk is het allemaal niet te warrig en onduidelijk. ik ben met dit nog echt een noob en hopelijk komt iemand met de oplossing voor wat ik wil doen.
groetjes,
evert
Even een paar dingen op een rij:
a) Een SD kaart koppelen aan de ATTiny85 kan je vergeten. Je hebt tekort Flash geheugen als ook tekort RAM in de chip
b) Een USB keyboard verwacht een USB HOST. Daarvoor heb je een bordje nodig met bijvoorbeeld de 32U4. Denk hierbij aan bijv. de leonardo. Daar heb je ook genoeg flash geheugen voor.
Als je het compact wil hebben zou ik eerst gewoon een prototype maken met conventionele onderdelen en modules. Daarna een eigen PCB ontwikkelen (Moet je wel gebruik maken van SMD componenten) en voor een paar euri laten ontwikkelen in China. Een 32U4 of Atmega328P neemt in SMD formaat net zoveel ruimte in als een ATTiny85.
Je hebt tot op heden (zo te zien aan de talen en tools) voornamelijk bezig gehouden met Webapplicaties en backend server applicaties. Er zal nog een hele wereld voor je opengaan als je plotseling word afgeremd door beperkingen als geheugen, IO pinnen, Timers etc. Over de taal C/C++ zal je niet zo'n probleem hebben. Java komt sterk overeen.
In jouw geval zou ik, met dit project in jouw achterhoofd, eerst eens gewoon gaan experimenteren met een UNO. Leer de verschillende mogelijkheden en beperkingen zodat je concreter jouw vragen kan stellen op het web.
Dus eerst leren lopen en dan leren rennen.
bedankt voor je reactie nico, ik snap waar je heen wilt qua constructie op het hardware gedeelte als ik het allemaal wat compacter wil. alleen weet ik nog niet zo goed waar ik naar moet kijken qua codes ik snap nu dat ik het eerst op grotere schaal moet proberen dus stel ik heb een arduino leonardo of uno met een aparte sd module naar wat voor codes/commands moet ik zoeken om dit alsnog voor elkaar te krijgen.
ik hoef niks in details qua codes maar een aantal linkjes of zoekwoorden voor google is voor mij genoeg om een stapje in de juiste richting te krijgen.
Google “arduino hid example” of “arduino sd example” en natuurlijk de IDE zelf
de grootte maakt in het begin even nog niet uit, begin maar eens met een simpel zoals een UNO, of Due.
maak daar alles op, en als het dan in productie kan, ontwerp een printje, en laat china de rest doen.