Mikrocontroller oder Arduino-Alternative für kleine Geräte in Handygröße?

Ich mache ein Projekt, in dem ich RGB-Werte von einem Farbsensor TCS230 lesen und an einen Mikrocontroller senden und eine lineare Gleichung verwenden muss, um den Glukosewert daraus zu erhalten und auf einem LCD anzuzeigen. Als solches muss das Ganze sein verpackt in ein Handy-großes Gerät. Das Projekt muss in 2 1/2 Monaten abgeschlossen sein. Das Blockdiagramm sieht wie folgt aus: Kann kein Bild als neuer Benutzer posten. Wie auch immer, Eingänge: optischer Sensor (6 Pins), 2 Tasten (4 Pins), Sensor zum Testen des Sitzes des Glukosesteckers (2 Pins). Ausgang: LCD (16 Pins) . Mikrocontroller und Stromversorgung aus Batterie. Insgesamt fast 30 Stifte

Meine Fragen sind:

  1. Ich verwende den TCS230 als optischen Sensor. Ich muss von nur 15 mm2 in einem Abstand von 1 cm auf einer matten Oberfläche lesen. Ich schlage vor, eine konkave Linse zum Fokussieren zu verwenden. Ist dieses Setup gut oder gibt es einen besseren Sensor, den ich verwenden kann?
  2. Das Gerät hat Handygröße. Also dachte ich daran, Arduino Mini zu verwenden, aber ich brauche 30 io-Pins, wo Mini nur 20 hat. Ich könnte einen einfachen Mikrocontroller verwenden. Ich kenne arduino prog, aber nicht avr prog. Ich habe einen Kurs über Mikrocontroller, aber Assembler-Programmierung gemacht. * Wie schwer ist es für mich, einen Mikrocontroller zu verwenden. Ich muss dies in 2 Monaten abschließen LCD-Pins reduzieren, um Mini zu passen? * Hauptanliegen ist Zeit Arduino Ich kenne und kann schnell progieren, aber ich kenne Avr noch nicht. Der Sensor gibt Rechteckwellen aus, deren Freq RGB-Werte liefert.
  3. Welchen Mikrocontroller soll ich verwenden?
  4. Welche Art von Batterie sollte ich verwenden? Wie sollte ich mich angesichts der Größe für eine Batterie entscheiden?
  5. *Welches LCD kann ich verwenden?*Ich muss Buchstaben und Zahlen anzeigen und es muss so klein wie der Handybildschirm sein.
Vielleicht möchten Sie Ihren Beitrag in 5 verschiedene Fragen aufteilen. Das sind berechtigte Fragen, aber wir können bei der Beantwortung jedes Teils sehr ins Detail gehen. Davon abgesehen werden wir Ihr Projekt nicht für Sie entwerfen, insbesondere wenn es sich um ein Schulprojekt handelt. Um es klar zu sagen, wir helfen Ihnen gerne weiter, aber Sie müssen die Teile selbst zusammensetzen.
Danke Insilico. Ich werde dies in verschiedene Fragen aufteilen.
Kannst du ein Handy benutzen ?
Nein, ich habe es bereits mit einem Handy gemacht. Jetzt muss ich ein eigenständiges Gerät machen

Antworten (3)

Wenn ich an einem neuen Design arbeite, beginne ich normalerweise damit, den grundlegenden Code zu schreiben und einen grundlegenden Schaltplan zu zeichnen, sobald ich weiß, was ich damit machen möchte. Auf diese Weise habe ich eine gute Vorstellung davon, was der Mikrocontroller können muss. Sobald Sie wissen, welche Teile Sie verwenden, können Sie den Schaltplan und dann die Software fertigstellen. Und stellen Sie sicher, dass Sie das Datenblatt für jede Komponente überprüfen und dabei auf Größe/Paket, Fähigkeiten, Strom- und Wärmebedarf achten!

Ich verwende den TCS230 als optischen Sensor. Ich muss von nur 15 mm2 in einem Abstand von 1 cm auf einer matten Oberfläche lesen. Ich schlage vor, eine konkave Linse zum Fokussieren zu verwenden. Ist dieses Setup gut oder gibt es einen besseren Sensor, den ich verwenden kann?

Ich habe das Datenblatt überflogen und nichts gesehen, was mich glauben lässt, dass dies nicht funktionieren wird. Möglicherweise müssen Sie ein wenig mit dem Objektiv / den Objektiven herumspielen, um das richtige Verhältnis zu erhalten, aber ich denke, das sollte funktionieren.

Wenn Sie mit diesem IC nicht vertraut sind, stellen Sie sicher, dass Sie das Prototyp-Board kaufen, nicht nur den Chip, da es sehr klein und schwer zu handhaben ist, wenn Sie keine geätzte Platine haben.

Wie schwer ist es für mich, einen Mikrocontroller zu verwenden. Ich muss das in 2 Monaten abschließen. Gibt es eine andere Möglichkeit für mich? Hauptanliegen ist mal arduino ich kenne und kann schnell prog aber avr kenne ich noch nicht.

Ich bin kein Fan der Arduino-Sprache, sie ist nicht zu präzise und Avr-GCC ist leicht zu verstehen. Sie müssen keine Assemblierung verwenden. Davon abgesehen, da dies ein Projekt ist, das eine Frist hat, halten Sie sich an das, was Sie wissen. Sie können es im Arduino Framework schreiben, und wenn Sie Zeit haben, können Sie es auf Avr-GCC portieren, es kann Ihnen sogar helfen, schneller den Dreh raus zu bekommen.

Ich denke, Sie können die meisten Atmega-Linien mit dem Arduino Framework programmieren, sodass Sie ein benutzerdefiniertes Gerät erstellen und trotzdem die Sprache verwenden können, die Sie kennen.

Kann ich die LCD-Stifte auf Mini reduzieren? Welches LCD kann ich verwenden? Welchen Mikrocontroller soll ich verwenden?

Wenn das LCD nur Text anzeigt, können Sie ein Mono-LCD verwenden, das über serielles i2c gesteuert wird. Dies würde es Ihnen ermöglichen, nur 2 Pins für das LCD zu verwenden, sodass Ihre Gesamtsumme 14 Pins für alles beträgt. Dies würde es Ihnen ermöglichen, so etwas wie das Arduino Pro Mini zu verwenden, solange es genügend serielle Leitungen für alles hat.

Googeln Sie einfach Mono LCD und sehen Sie, was für Sie gut aussieht. Stellen Sie sicher, dass es seriell steuerbar ist und keine Hochspannungsanforderung hat.

Welche Art von Batterie soll Li-Ion verwenden? Wie sollte ich mich angesichts der Größe für eine Batterie entscheiden?

Bauen Sie das Gerät, dann können Sie die Leistungsaufnahme messen und herausfinden, wie lange es laufen soll usw. Dann können Sie eine Batterie basierend darauf und auf der endgültigen Größe des Projekts auswählen. Das wird nicht schwer sein, etwas zu finden, das funktioniert.

Für Ihre Größenbeschränkungen können Sie sich Teensy oder mbed ansehen. Es gibt auch ein neues Kickstarter-Projekt für ein Board namens Galago , das ich ziemlich faszinierend finde. Es ist schön, weil es die Größe des Teensy hat, aber Hardware-Debugging über seine IDE unterstützt. Das einzige Problem dabei ist, dass ihr Board (bestenfalls) nicht vor November 2012 veröffentlicht wird und nicht so viele I/O wie Teensy und mbed hat.

Diese Vorschläge helfen möglicherweise nicht, wenn Sie nur 2,5 Monate Zeit haben und nur an die Arduino-Programmierung gewöhnt sind. Das sagt mir, dass Sie erwarten, ein Mikro zu verwenden, das praktisch Plug-and-Play ist, mit minimalem Aufwand, was Peripherie-Unterstützungsbibliotheken angeht. Aus diesem Grund beißen Sie entweder in den sauren Apfel und gehen mit einer netten, kleinen Plattform, stellen aber unterwegs Fragen hier (oder anderswo), um zusätzliche Hilfe zu erhalten, oder Sie suchen nach einem anderen Arduino-kompatiblen Board, das eine ausreichend kleine Stellfläche hat, aber verfügt über genügend Pins, um Ihre externen Geräte zu unterstützen. Teensy hat auch Bibliotheken zur Verfügung, die von Arduino portiert wurden, also scheint es dort eine gewisse Arduino-Kompatibilität zu geben. Die kleinen Mini- und Nano-Boards haben nicht alle E/A, die Sie für nötig halten, aber dazu später mehr.

Ich habe keine Erfahrung mit LiIon- oder LiPo-Akkus, aber ich starte gerade ein lustiges Projekt, bei dem ich ein wenig darüber lernen werde. Ich habe kürzlich einen Beitrag gesehen , der das LiPo-Ladegerät eines Mannes über USB zeigt, also sollten Sie sich das vielleicht ansehen. LiPo-Akkus gibt es in allen möglichen Formen. Als ich mich nach meinem Projekt umsah, sah ich flache, rechteckige und runde LiPo-Akkus, was wirklich schön ist. Jede Zelle (1S) hat 3,7 V, daher gehe ich davon aus, dass eine Zelle für Ihre Verpackungsanforderungen ausreichen könnte, wenn Sie Ihr Projekt mit 3,3 V betreiben.

Was das LCD angeht, haben Sie viele Optionen, und hier können Sie meiner Meinung nach Ihr E / A-Budget erheblich reduzieren. Wenn Sie mit einem einfachen parallelen Monochrom-LCD arbeiten möchten, können diese mit einem 4-Bit- oder 8-Bit-Bus plus Strobe- und RW-Leitungen angesteuert werden. Aber da es schönere und kleinere Displays gibt und Sie Mobiltelefone erwähnt haben, sehen Sie sich einige der LCDs von SparkFun an , die farb- und SPI- oder I2C-kompatibel sind. Dann können Sie entweder die kleineren Arduino-Boards verwenden oder sich für etwas Neues / Anderes entscheiden, wenn Sie sich ehrgeizig fühlen.

Meine Empfehlung wäre, in den sauren Apfel zu beißen und etwa eine Woche in den Umgang mit nackten ARM-MCUs (Einrichten der Toolchain usw.) zu investieren, da fast jeder Anbieter eine anbietet. Vorausgesetzt, Ihre Software passt in die 8-128 KB On-Chip-Flash (einige Geräte haben mehr), ist dies eine kostengünstige Wahl mit vielen Optionen - Sie benötigen eine kleine Leiterplatte, Sie stufen auf 48 PQFP herunter, Sie benötigen mehr Pins Sie steigen auf das 64-polige oder noch größere Gerät um, während der zeitaufwändige Teil (Lernen, Projekte zu erstellen und On-Chip-Peripheriegeräte zu konfigurieren) gleich bleibt.

Ich lege diese routinemäßig auf handgefertigte Leiterplatten mit einer ziemlich großen Eisenspitze, wobei ich nur eine 10-fache Lupe zur Inspektion nach dem Löten und ein feines Geflecht zum Reinigen von Brücken verwende, obwohl ich zugeben muss, dass dies eine erworbene Fähigkeit ist.

Die STM32F10x-Familie von ST ist meine derzeitige Wahl, mit Schaltungsprogrammierern für < 10 US-Dollar, die mit Open-Source-Tools auf jeder Desktop-Plattform arbeiten können, aber jeder Ingenieur wird seine eigenen Vorlieben haben - in der Regel sowohl von der Vertrautheit als auch von den tatsächlichen Vorteilen getrieben .

Die AVR-Familie wird Sie wahrscheinlich auch in die nur oberflächenmontierten Geräte (wie sie auf dem Arduino Mega verwendet werden) stecken, um die tatsächliche I/O-Anzahl zu erhalten, die Sie möchten, obwohl offensichtlich, wenn Sie ein Multiplexing-Schema (einschließlich der seriellen Anzeigeschnittstellenmöglichkeit, die andere erwähnt haben), die die Anforderung auf das reduzieren würde, was die Teile des DIP-Pakets bieten. Wie Sie wahrscheinlich wissen, sind die Ardunio-IDE, der Bootloader und die Hardware unterschiedliche Komponenten mit vielen Mix-and-Match-Möglichkeiten – Sie können das Board verwenden, um eine Bare-Metal-Softwarelösung zu evaluieren, ihren Bootloader verwenden, um sie zu laden, oder Sie können Erstellen Sie Ihr eigenes Minimalboard und führen Sie deren Software und Bibliotheken usw. aus.