Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Der Companion-IC

Komponenten und Verbrauchsmaterialien

Arduino Nano R3
× 1
USB-A-auf-Mini-USB-Kabel
× 1
Widerstand 10k Ohm
2x 220 Ohm Widerstand1x (1k, 4,7k, 47k, 100k) Ohm Widerstände
× 4
Single Turn Potentiometer - 10k Ohm
× 1
SparkFun Drucktastenschalter 12 mm
× 2
Schiebeschalter
× 3
Female Header 8 Position 1 Row (0.1")
× 4
Male-Header 36 Position 1 Row- Long (0,1")
× 2
Adafruit RGB-Hintergrundbeleuchtung LCD - 16x2
× 1
4xAA Batteriehalter
× 1

Notwendige Werkzeuge und Maschinen

Lötkolben (generisch)
Heißklebepistole (generisch)

Über dieses Projekt

Der Companion IC ist ein sehr cool aussehender Clock + Ohmmeter + Capacitance Meter + Diode Tester! Schalten Sie es ein, indem Sie Pin 1 des ICs drücken! Bewahren Sie dies an Ihrem Arbeitsplatz auf, um schnell Komponenten zu testen und Zeit zu überprüfen. Kann mit Batterien oder mit USB betrieben werden, wenn Sie eine Stromversorgung in der Nähe Ihres Arbeitsplatzes haben.

Ich wollte schon immer ein Projekt veröffentlichen, habe aber bis jetzt noch nie etwas Einzigartiges gefunden! Die Idee kam mir, als ich einige Kondensatoren testen wollte, ob sie defekt sind oder nicht. Ich hatte nur ein Multimeter zur Verfügung und es hatte keine Kapazitätsmessfunktion. Nachdem ich danach gesucht hatte, fand ich heraus, dass der Arduino dies kann. Ich beschloss, einen zu machen, aber die unbenutzten Pins auf dem Arduino zu sehen, war nicht sehr zufriedenstellend, also beschloss ich, ein Ohmmeter mit automatischer Bereichswahl, einen schnellen LED / Dioden-Tester und eine RTC-Uhr hinzuzufügen! Ich wollte auch, dass es direkt Werte misst, indem man die Komponente einsteckt und keine Sonden verwendet. Das Design musste einzigartig sein, also wurde nach einigem Brainstorming das IC-Design erstellt!

Bearbeiten (01.07.2016) :Optionaler Durchgangstest wurde hinzugefügt, bitte lesen Sie den Kommentarbereich.

In diesem Artikel wird ausführlich erklärt, wie ich das gemacht habe und wie auch Sie es selbst machen können. Es ist anfängerfreundlich und jeder mit 2-3 Wochen Arduino /Elektronik-Erfahrung kann dies bauen!

Das Design ist veränderbar und Sie können nach Ihren Anforderungen neue Funktionen entfernen/hinzufügen. Ich habe das Gehäuse mit Pappe gemacht, aber wenn Sie die Fähigkeiten haben, können Sie es mit Holz machen oder es in 3D drucken.

Ich habe versucht, bei jedem Schritt, den ich tat, Bilder aufzunehmen und anzuhängen (viel davon in jedem Schritt!). Die meisten davon wurden mehrmals aufgenommen, bis ich den besten Winkel/das beste Licht hatte, aber einige von ihnen sind immer noch etwas verschwommen, da es manchmal schwierig ist, alles mit beiden Händen zu halten.

Ich habe den gesamten Code und die Verkabelung in Stücke und Schritte gebrochen, genau wie ich es gemacht habe. Der enthaltene Code ist stark kommentiert und richtig eingerückt. Wie wir weitermachen. Wir werden den gesamten Code und die Verkabelung Schritt für Schritt kombinieren, um den endgültigen IC zu erstellen. Dies sollte jedem helfen, es klar zu verstehen. Wenn nicht, lass es mich in den Kommentaren wissen.

Selbst wenn Sie sich entscheiden, keinen zu machen, versuchen Sie es auf einem Steckbrett oder lesen Sie es zumindest einmal durch, da es eine Methode oder einen Trick oder etwas geben muss, das Sie hier lernen können und eines Tages von Nutzen sein werden (Im Ernst, Sie wissen nie wann es klickt!)

Schritt 1:Benötigte Werkzeuge und Komponenten

Liste der verwendeten Komponenten und Materialien (Store-Links nur als Referenz):

  • 1x Arduino Nano V3, Ich habe einen Klon mit CH340G verwendet -- ebay
  • Mini-USB-Kabel für Arduino Nano -- Mini nicht Mikro !
  • Karton -- Ich habe eine Verpackungsschachtel mit einer Dicke von ~2 mm verwendet. Fragen Sie Ihren Nachbarn, Freunde, gehen Sie auf die Suche, wenn Sie keinen finden können.
  • 4x 10k Ohm Widerstand -- leicht verfügbar
  • 2x 220 Ohm Widerstand -- leicht verfügbar
  • 1x (1k, 4,7k, 47k, 100k) Ohm-Widerstände -- leicht verfügbar
  • 1x kleines 10k-Ohm-Potentiometer, für die Kontrastkontrolle von LCDs...jede kleine wird funktionieren .-- ebay
  • 2x Mikro Taste, für Reset- und Moduswechsel-Taste, die üblichen, die Sie auf einem Steckbrett verwenden.
  • 3x kleine Schiebeschalter , zum Aktivieren der Hintergrundbeleuchtung, Pins 0 und 1, Dieser Pin muss bei Verwendung von Seriell deaktiviert werden -- ebay
  • 1x gewartet/Toggle/Einrastender Druckschalter, für Netzschalter -- ebay
  • Einige Kondensatoren, Dioden, LEDs nur zum Testen, Sie werden sie sowieso eines Tages verwenden.
  • 4x Buchsenleiste -- ebay (40 Stifte pro Streifen)
  • 2x Stiftleiste für Stiftleiste -- ebay (40 Stifte pro Streifen)
  • 1 x 16 x 2 Zeichen LCD -- ebay
  • 1x DS3231- oder DS1307-RTC-Modul (RTC steht für Real Time Clock) -- Kaufen Sie keine billigen von ebay. Diese verwenden gefälschte Chips und sind ungenau. Kaufen Sie dies, dies oder dies. Jeder von diesen wird funktionieren.
  • 4x AA-Batterien (oder AAA. Die Verwendung von AAA ist viel einfacher, aber die Batteriekapazität ist geringer)
  • 1x 4 AA (oder AAA) Batteriehalter , flache Variante -- ebay
  • Eindrähtige Drähte , die für Steckbretter verwendeten, 22er
  • Bandkabel (oder einige dünne verdrillte Kabelpaare können verwendet werden) -- ebay
  • 2x Kleine Schraube und Mutter -- Ich habe die aus meinem alten Meccano-Set verwendet (Schrauben sind 1,3 cm lang)
  • Schwarze Acrylfarbe und Pinsel

Erforderliche Tools:

  • Lötkolben
  • Löten
  • Entlötdocht/Geflecht (für den Fall, dass du es vermasselst!)
  • Klebepistole
  • Abdeckband
  • Celloband, transparent
  • Abisolierzange, Zange
  • Scharfer Kastenschneider
  • Scharfe Schere

Schritt 2:Ohmmeter - Konzept

Die Grundidee der Widerstandsmessung kommt vom Spannungsteiler.

Widerstandswerte sind veränderbar, ändern Sie die Werte von r1, r2 usw. Stellen Sie auch die Bereiche (für die automatische Bereichswahl) entsprechend ein. Siehe Code unten, lade ihn aus den Dateien am Ende herunter und teste das Ohmmeter auf einem Steckbrett

Wenn Sie Nano zum ersten Mal einrichten, können Sie den CH340G-Treiber hier herunterladen, funktioniert mit Windows 7, 8, 8.1 und 10. Mac-Benutzer überprüfen hier.

Wählen Sie im Board-Menü "Arduino Nano" und den richtigen COM-Port aus. Hochladen!

Code

//Analoger Pin verwendet, um den Widerstand zu findenint Apin=7;//Werte von r1 bis r5float r1=1000;float r2=4700;float r3=10000;float r4=47000;float r5=100000;/ /pins von r1 bis r5int r1_pin=2;int r2_pin=3;int r3_pin=4;int r4_pin=5;int r5_pin=6;float Reading=0; // vom analogen Pin lesen und Herefloat speichern R =0; // Berechne unbekannt und speichere hierString finalR; // der zusammen mit den Einheiten anzuzeigende Endwertint caseno; // zum Debuggen speichert die Fallnummer // wir teilen den gesamten Bereich in Fälle auf und weisen jedem eine Zahl zu, insgesamt 5 Fälle // case1 :weniger als 2850 // case2 :2850 bis 7350 // case3 :7350 bis 28500 // case4 :28500 bis 73500 // case5 :mehr als 73500#include  // benötigt für die Konvertierung von Float in String, hat die Funktion String(float,n). Unten erklärt.void setup () { Serial.begin (9600);}void loop () { // Zuerst finden wir einen unbekannten Widerstand mit einem 1kOhm-Widerstand //Deaktivieren Sie daher R2, R3, R4 und R5 digitalWrite (r2_pin, LOW); // schalten Sie jeden Pin auf LOW, bevor Sie ihn als INPUT pinMode (r2_pin, INPUT) einstellen; // Drehen des INPUT, wenn sein HIGH den internen Pullup-Widerstand DigitalWrite (r3_pin, LOW) aktiviert; pinMode (r3_pin, INPUT); digitalWrite (r4_pin, LOW); pinMode (r4_pin, INPUT); digitalWrite (r5_pin, LOW); pinMode (r5_pin, EINGANG); pinMode (r1_pin, AUSGANG); digitalWrite (r1_pin, HIGH); // Widerstand lesen und berechnen =analogRead (Apin); R=(Lesen*r1)/(1023-Lesen); // wenn Wert <2850, finalR =Wert (mit 1 kOhm) if (R <2850) { caseno =1; if(R<1000){ //Wenn der Wert kleiner als 1000 ist, verwende "Ohm" nicht "kOhm" finalR =String(R,2) + "Ohm"; //String(float,n) Float in String mit n Nachkommastellen umwandeln // "Ohm" nach dem Wert an den String anhängen, '+' verbindet hier zwei Strings } else{ //benutze "kOhm R=R/1000; finalR =String(R,2) + "kOhm";}} // wenn Wert zwischen 2850 und 7350 , Wert von 4.7kOhm verwenden sonst if(R>=2850 &&R<7350){caseno=2; digitalWrite(r1_pin , LOW); // Nur 4,7 kOhm aktivieren pinMode (r1_pin, INPUT); digitalWrite (r3_pin, LOW); pinMode (r3_pin, INPUT); digitalWrite (r4_pin, LOW); pinMode (r4_pin, INPUT); digitalWrite (r5_pin, LOW ); pinMode(r5_pin, INPUT); pinMode(r2_pin, OUTPUT); digitalWrite(r2_pin, HIGH); read=analogRead(Apin); R=(reading*r2)/(1023-reading)/1000; finalR =String( R,2) + "kOhm";} // wenn Wert zwischen 7350 und 28500, Wert von 10kOhm verwenden sonst if(R>=7350 &&R<28500){caseno=3; digitalWrite(r1_pin, LOW); pinMode( r1_pin, INPUT); digitalWrite(r2_pin, LOW); pinMode(r2_pin, INPUT); digitalWrite(r4_pin, LOW); pinMode(r4_pin, INPUT); digitalWrite(r5_pin, LOW); pinMode(r5_pin, INPUT); pinM ode (r3_pin, AUSGANG); digitalWrite (r3_pin, HIGH); Lesen =analogRead (Apin); R=(Lesen*r3)/(1023-Lesen)/1000; finalR=String(R,2) + "kOhm"; } // wenn Wert zwischen 28500 und 73500, Wert von 47 kOhm verwenden sonst if (R>=28500 &&R<73500) {caseno=4; digitalWrite (r1_pin, LOW); pinMode (r1_pin, EINGANG); digitalWrite (r2_pin, LOW); pinMode (r2_pin, EINGANG); digitalWrite (r3_pin, LOW); pinMode (r3_pin, INPUT); digitalWrite (r5_pin, LOW); pinMode (r5_pin, EINGANG); pinMode (r4_pin, AUSGANG); digitalWrite (r4_pin, HIGH); Lesen =analogRead (Apin); R=(Lesen*r4)/(1023-Lesen)/1000; finalR =String(R,2) + "kOhm"; } // Wenn der Wert mehr als 73500 beträgt, den von 100 kOhm erhaltenen Wert verwenden sonst if (R> =73500) {caseno =5; digitalWrite (r1_pin, LOW); pinMode (r1_pin, EINGANG); digitalWrite (r2_pin, LOW); pinMode (r2_pin, EINGANG); digitalWrite (r3_pin, LOW); pinMode (r3_pin, INPUT); digitalWrite (r4_pin, LOW); pinMode (r4_pin, INPUT); pinMode (r5_pin, AUSGANG); digitalWrite (r5_pin, HIGH); Lesen =analogRead (Apin); R=(Lesen*r5)/(1023-Lesen)/1000; finalR =String(R,2) + "kOhm"; } Serial.println (finalR); // Ausgabe des letzten Strings mit Einheiten Serial.println ( " "); Verzögerung(1000);} 

Schritt 3:Kapazitätsmesser - Konzept

Code

/* RCTiming_capacitance_meter * Codekonzept von Paul Badger 2008 * * Die Spannung des Kondensators bei einer Zeitkonstante ist als 63,2% der Ladespannung definiert. * d.h. ein Kondensator wird zu 63,2% seiner Gesamtkapazität in 1 Zeitkonstante gefüllt */ int analogPin=0; // analoger Pin zum Messen der Kondensatorspannung Int chargePin=7; // Pin zum Laden des Kondensators - verbunden mit einem Ende des Ladewiderstands Int DischargePin =12; // Pin zum Entladen des Kondensators, der auch für den Diodentest verwendet wird (chechPin1) float resistanceValue=10000.0; // Wir verwenden einen 10kOhm-Widerstand unsigned long startTime; unsigned lange verstrichene Zeit; schweben MikroFarad; // Gleitkommavariable, um die Genauigkeit zu erhalten, Berechnungen schweben lassen nanoFarads;void setup () { pinMode (chargePin, OUTPUT); // setze chargePin auf die Ausgabe von digitalWrite (chargePin, LOW); Serial.begin (9600); // Serielle Übertragung zum Debuggen initialisieren}void loop () { DigitalWrite (chargePin, HIGH); // setze chargePin HIGH und Kondensatorladung startTime =millis (); while (analogRead (analogPin) <648) {// 647 ist 63,2% von 1023, was der vollen Spannung entspricht} elapsedTime =millis () - startTime; // Millisekunden in Sekunden (10^-3) und Farad in MikroFarad (10^6) umwandeln, Netto 10^3 (1000) MikroFarad =((float)elapsedTime / ResistanceValue) * 1000; // (float) konvertiert "unsigned long" verstrichene Zeit in Float Serial.print (elapsedTime); // den Wert an den seriellen Port ausgeben Serial.print ( " mS "); // Druckeinheiten wenn (microFarads> 1) {Serial.print ((long) microFarads); // den Wert an den seriellen Port ausgeben Serial.println ("microFarads"); // Einheiten drucken } else { // Wenn der Wert kleiner als ein MikroFarad ist, konvertieren Sie in NanoFarad (10^-9 Farad). NanoFarad =MikroFarad * 1000,0; // mit 1000 multiplizieren, um in NanoFarads (10^-9 Farads) zu konvertieren Serial.print ((lang) NanoFarads); // den Wert an den seriellen Port ausgeben Serial.println ("nanoFarads"); // Druckeinheiten} /* Kondensator entladen */ digitalWrite (chargePin, LOW); // Ladepin auf LOW setzen pinMode (dischargePin, OUTPUT); // Entladestift auf Ausgang setzen DigitalWrite (dischargePin, LOW); // Entladestift LOW setzen während (analogRead (analogPin)> 0) {// warten, bis der Kondensator vollständig entladen ist} PinMode (dischargePin, INPUT); // Entladestift auf Eingang zurücksetzen} 

Schritt 4:Diodentest

Der analoge Pin wird mit dem 10k Ohm Widerstand auf 5V hochgezogen. Der analoge Pin lautet also 1023 wenn nichts angeschlossen ist. D12 ist auf AUSGABE eingestellt , NIEDRIG .

Wenn eine Diode zwischen dem analogen Pin . in Durchlassrichtung vorgespannt ist (5V ) und D12 (GND ), analoger Pin liest 100-400 .

Wenn es in Sperrrichtung vorgespannt ist, fließt praktisch ein sehr kleiner Strom und analoger Pin liest 900-1023 .

Auf diese Weise können wir einfach die p- und n-Seite einer beliebigen Diode herausfinden. Dies kann zur schnellen Überprüfung von LEDs und Dioden verwendet werden.

Code

String state ="null";int checkPin1 =12;int checkPin2 =6;void setup () { Serial.begin (9600);}void loop () {pinMode (checkPin1, OUTPUT); digitalWrite (checkPin1, LOW); // Pin 11 ist auf Low gesetzt // Analoges Lesen wird normalerweise vom 10k-Widerstand hochgezogen, so dass Nulllesen 1023 / / In Vorwärtsspannung ist, wird der analoge Pin mit checkPin1 verbunden, der LOW ist. Beim Lesen von weniger als 1023// fließt praktisch auch ein kleiner Strom in Sperrrichtung, also nehmen wir 700, um zu unterscheiden if(analogRead(checkPin2)<700){state="forward"; } Serial.println (Zustand); Serial.println (analogRead (checkPin2)); Zustand ="null"; Verzögerung(500);} 

Schritt 5:Die Echtzeituhr (RTC)

Die RTC speichert Sekunden, Minuten, Stunden, Tag, Datum, Monat und Jahr. Dank der kleinen Knopfzelle zählt es auch dann weiter, wenn die externe Stromversorgung entfernt wird. Das Datum am Monatsende wird automatisch für Monate mit weniger als 31 Tagen angepasst, inklusive Korrekturen für das Schaltjahr.

Egal welches Modul Sie haben, wir verwenden 4 Pins:Vcc , GND , SDA und SCL . Die SDA und SCL Pins auf dem Arduino Nano und Uno sind A4 und A5 bzw. Für andere Arduinos googeln Sie es!

Wir werden die Bibliothek "RTClib" verwenden, die die Einstellung und den Zugriff auf die Zeit sehr einfach macht! Die Bibliothek kann hier heruntergeladen werden (Klicken Sie auf "ZIP herunterladen" und entpacken Sie den "RTClib-master" in Ihrem Arduino-Bibliotheksordner. Mehr zum Installieren von Bibliotheken.)

Um die Zeit einzustellen, laden Sie die an diesen Schritt angehängte "RTC_set_time.ino" herunter und entkommentieren Sie die Zeilen.

rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));

Wenn Sie beim Kompilieren die auf Ihrem Computer eingestellte Zeit verwenden möchten. Oder

rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0)); //Jahr, Monat, Datum, Stunde, Minute, Sekunden

Um eine benutzerdefinierte Zeit einzustellen.

Verbinden Sie wie gezeigt und laden Sie es hoch. Serielle öffnen Monitor bei 9600 Baud um die aktuelle Uhrzeit anzuzeigen. Überprüfen Sie nach einigen Stunden erneut, wie die RTC aufholt.

Stellen Sie sicher, dass Sie diese Zeilen empfehlen und erneut hochladen, nachdem Sie die Uhrzeit einmal eingestellt haben. Andernfalls werden Sie es jedes Mal zurücksetzen, wenn Arduino zurückgesetzt wird!

Code

// Datums- und Zeitfunktionen mit einer DS1307 RTC verbunden über I2C und Wire lib#include #include RTC_DS1307 rtc;//Erstellen des "rtc"-Objekts von RTC_DS1307, Objekte werden verwendet, um auf Funktionen zuzugreifen //mehr zu Objekten und Klassen:https://www.youtube.com/watch?v=ABRP_5RYhqUchar daysOfTheWeek[7][12] ={"Sunday", "Monday", "Tuesday", " Mittwoch", "Donnerstag", "Freitag", "Samstag"}; Einrichtung ungültig () {Serial.begin (9600); rtc.begin(); // folgende Zeile setzt die RTC auf das Datum und die Uhrzeit, zu der dieser Sketch kompiliert wurde // rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); // Diese Zeile setzt die RTC mit einem expliziten Datum und einer expliziten Uhrzeit, um beispielsweise den // 21. Januar 2014 um 3 Uhr morgens zu setzen, würden Sie Folgendes aufrufen:// rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0) );}void loop () { DateTime now =rtc.now(); Serial.print (now.year ()); Serial.print ('/'); Serial.print (jetzt.Monat ()); Serial.print ('/'); Serial.print (now.day ()); Serial.print (" ("); Serial.print (daysOfTheWeek [now.dayOfTheWeek ()]); Serial.print (") "); Serial.print (now.hour ()); Serial.print (':'); Serial.print (jetzt.minute ()); Serial.print (':'); Serial.print (now.second ()); Serial.println(); Serial.println(); Verzögerung(1000);} 

Schritt 6:Endgültige Einrichtung

Das ist also die letzte Schaltung, nachdem alle Elemente kombiniert wurden. Der Hauptcode und die Fritzing-Datei sind am Ende angehängt.

Lade Fritzing von fritzing.org herunter, falls du es noch nicht getan hast.

Extrahieren Sie die Datei Main_code.rar und öffnen Sie Main_file_rtc.ino. Ich habe alle Variablendeklarationen in eine separate definations.h aufgenommen Header-Datei, wird sie automatisch hinzugefügt, wenn Sie den Hauptcode öffnen.

Die verschiedenen Teile werden zu Funktionen: Clock() , findResistance() , findCapcitance() und diodeTest() . Diese sind in separaten Registerkarten geschrieben, was das Lesen erleichtert und Änderungen einfach implementieren. Die Hauptdatei prüft lediglich den Zustand der "Modustaste" und ruft die entsprechenden Funktionen auf.

Andere Details werden im Code selbst richtig erklärt.

Nach einem Testlauf auf einem Steckbrett können wir mit der Herstellung des ICs beginnen!

Hinweis:Summer, falls noch nicht verwendet, kann bei Bedarf verwendet werden, zum Beispiel eine Kontinuitätsfunktion.

Schritt 7:Vorbereitung der Schalter

Nehmen Sie die 3 Schiebeschalter zusammen mit 3 Drahtpaaren, ca. 10cm lang. Dafür habe ich das Flachbandkabel geteilt.

Entfernen Sie einen kleinen Teil der Isolierung (nicht mehr als 5 mm) und verdrillen Sie die Litzen.

Tragen Sie etwas Lötmittel auf 2 benachbarte Stifte jedes Schalters auf. Verwenden Sie etwas, um es an Ort und Stelle zu halten, während Sie löten, ich habe eine schwere Zange verwendet.

Wenn Sie noch nie gelötet haben, ist jetzt ein guter Zeitpunkt, damit anzufangen. Youtube hat Tonnen von Videos, die Ihnen zeigen, wie man richtig lötet. Die Lektionen von PACE sind sehr informativ, bitte sehen Sie sie sich an.

Als nächstes müssen wir die Drähte "zinn". Berühren Sie mit der Lötkolbenspitze den zu verzinnenden Draht. Tragen Sie zwischen Spitze und Draht ein wenig Lötzinn auf. Dadurch entsteht eine Brücke, die die Wärme von der Spitze zum Draht leitet. Dann Lot direkt auf den Draht auftragen, auf der gegenüberliegenden Seite der Lötkolbenspitze . Entfernen Sie das Lot. Entfernen Sie die Spitze. Ein Video dazu.

Halten Sie danach den Schalter fest, bringen Sie einen der verzinnten Drähte an den Stift und lassen Sie das Lot durch Berühren des Lötkolbens aufschmelzen. Machen Sie dasselbe mit dem zweiten Draht. Beachten Sie, dass ich die dunklen Drähte an eine Seite der Schalter gelegt habe.

Wiederholen Sie nun den Vorgang und verbinden Sie zwei Drähte mit einem Taster (dies wird der Reset-Taster). Stellen Sie sicher, dass Sie keine Drähte an die normalerweise angeschlossenen Enden des Knopfes anschließen.

Schritt 8:Erstellen des Gehäuses - Schneiden des Layouts

Laden Sie "Layout_Final_A3.pdf" oder "Layout_Final_ANSI_B.pdf" herunter, basierend auf dem in Ihrer Region verfügbaren Papierformat. am Ende angehängt.

Drucken Sie es auf A3-Papier (29,7 x 42,0 cm oder 11,69 x 16,53 Zoll) oder auf die US-Alternative ANSI B (11 x 17 Zoll oder 279 x 432 mm). Stellen Sie sicher, dass Sie beim Drucken das richtige Papierformat und die richtige Ausrichtung auswählen und die Option "Tatsächliches Format" auswählen. Bestätigen Sie, dass der Druck korrekt ist, indem Sie den kleinen rechten Winkel in der unteren rechten Ecke messen, er sollte 2 cm x 2 cm groß sein.

Schneiden Sie ein Stück des Kartons ungefähr über das Layout hinaus. Reißen Sie ein kleines Stück Klebeband ab, formen Sie eine doppelseitige Kleberolle und befestigen Sie sie an den gezeigten Stellen. Dann kleben Sie das Blatt auf den Karton.

Verwenden Sie eine scharfe Schere oder einen Kastenschneider mit einem Lineal, um die äußere Begrenzung des Gehäuselayouts zu schneiden. Ich fand Kastenschneider viel besser als Scheren. Die meisten Cutter haben Klingen, die schrittweise gebrochen werden können, um eine frische und scharfe Spitze zu erhalten, daher wird empfohlen, dies zu tun. Halten Sie ein weiteres Stück Pappe oder Holz unter dem Teil, das Sie schneiden, um sauberere Schnitte zu erzielen.

Außerdem ist es ein häufiger Fehler, das Lineal beim Schneiden nicht richtig auf der Linie zu halten. Tun Sie dies nicht in Eile.

Schritt 9:Herstellen des Gehäuses - Falten und Falten

Machen Sie mit dem Cutter mit der Skala vorsichtig entlang aller Faltlinien, außer der mittleren Linie im LCD-Bereich. Biegen und falten Sie alle faltbaren Teile und korrigieren Sie unvollständige Falten.

Für die untere Hälfte oder Basis:

Mit dem Schleifpapier die ersten vier Kanten schräg schleifen, Heißkleber mit einer Klebepistole (jeweils eine Seite) auftragen, zusammenfügen und 30-60 Sekunden halten, während der Kleber abkühlt.

Mit einer Daumennadel zwei Löcher wie abgebildet bohren und mit einem Bleistift gerade so weit vergrößern, dass die Schraube hineinpasst. Mutter innen anziehen, Heißkleber auftragen (nur auf die Mutter!), abkühlen lassen. Entfernen Sie die Schraube mit einem Schraubendreher.

Als nächstes falten Sie die beiden Seitenklappen nach innen und kleben Sie sie auf. Der äußere Teil der Klappe sollte leicht geneigt und der mittlere Teil flach sein.

Schritt 10:Herstellung des Gehäuses - Hinzufügen der Schalter

Take the 3 sliding switches with wires we soldered earlier, measure the approximate dimension of rectangle needed. Mark it on the left side of the box(left from the outside). Cut it with a cutter, sand it a bit on the inside to remove any material sticking out.

Keep the first switch in position and while holding it add glue on one side. Let it cool. Repeat with the other two as well, and then add glue on the remaining sides. Note:The wired pins of the switches should be on the same side.

Make another hole on the other side for the reset pushbutton. Hold the button in place and add glue. Fold the lower flap inwards and stick it.

Step 11:Making the case - Top half or cover

Sand the edges and stick the side flaps inwards(just like the base) for the top half

Step 12:Making the case - Adding the LCD

Crease the middle line. (Didn't do it earlier as it is delicate and gets loose soon).

Fold the cover over to the base and check whether everything looks alright, sufficient spacing should be left for the IC pins. (See photo)

Cut the covering flaps as shown in the images.

Keep the LCD at the center of the LCD Area, mark it with a pencil. Using a ruler, make the rectangle properly and cut it carefully using a cutter. Fold the LCD window and apply glue to the hinges to keep them at their correct position. Insert the LCD and make any modifications if required.

Finally, apply glue to the four corners(don't put excess) of the LCD and place it in position.

Step 13:Making the case - Final flaps

Sand, trim and close the tringular flap.

Make a small piece as shown and stick it to the cover. Make two holes, widen them with a pencil for inserting the bolt and locking the cover to the base.

Step 14:The Circuit Board -- Making it fit

Cut the General purpose PCB to the right size such that it fits properly in the case. Mine is 2x4inches. To cut it, use the ruler and cutter and swipe it multiple times on both sides and it breaks off easily then.

Place it inside. If the glue from the side flap lifts the PCB up, reheat the glue to flatten it or lessen the size of PCB a bit.

Cut a small part so that the 3 switches fit in and PCB goes entirely inside.

Step 15:The Circuit Board -- Arduino Nano

Cut female header pins of the right size for the Arduino.

Place it at the center edge of the PCB and solder all the pins.

Step 16:The Circuit Board -- Ohmmeter

Before making any connections on the PCB please double check from the final Circuit Design.

For the ohmmeter start by adding a 1k Ohm resistor to pin D2 of arduino. Place the arduino and carefully mark the pin. On the reverse side, bend as shown and solder it.

Do the same with the other 4 resistors, 4.7k, 10k, 47k and 100k Ohm.

Note:keeping all the tolerance bands(gold band) on one side is a good practice, eg UP and RIGHT.

Combine the second ends of resistors and solder it to A7 .

Step 17:The Circuit Board -- Capacitance Meter and Diode Test

Capacitance Meter:

Solder a 220 Ohm resistor from D12 to A0 . And a 10k Ohm resistor from A0 to D7 .

Note: D7 (digital pin) is also used for LCD data pin D4 .

Diode Test:

Solder the 10k Ohm pullup resistor from A6 to +5V .

Step 18:Making connectors for LCD

We just use the first 6 and last 6 pins on the LCD. Pins D0-D3 are unused. So we will be making connectors for only the used pins. It is recommended that you do the same because plugging/unplugging a 16pin connector becomes very tough once the build is complete.

Cut 2x 6pin female and male header pins. Also take 6 wire ribbon cable, around 2-2.5 inches long.

Strip the insulation and tin the leads. Also tin the header pins. Join them one by one just like the slide switches.

Apply hot glue to secure the wires.

Step 19:The Circuit Board -- LCD connections

Place the PCB inside the case. Plug the connector to LCD and see where the female port should be on the PCB, solder it.

Make sure you leave 4-5 dot rows behind the LCD port. The Power switch will be added here later.

Measure the length of single stranded wire needed to connect data pins (D4 , D5 , D6 and D7 ) on the LCD to digital pins( D7 , D8 , D9 and D10 ) on the Arduino, respectively.

Add the 10k ohm potentiometer such that the side ends go to Vcc , GND and the middle pin to V0 .

Connect Vss(GND) on the LCD to GND , and Vdd to +5V . Also connect R/W to GND .

Arduino Pin

LCD

D7 D4 D8 D5 D9 D6 D10 D7 GND Vss(GND) +5V Vdd

Step 20:The Circuit Board -- RTC Module

I desoldered the default 90 degree header pins on the module and added straight ones so that it fits flat on the PCB.

Solder 4pin female header pin and make connections to Vcc , GND , SDA to A4 and SCL to A5 .

Step 21:Making the Case -- The mode button

Mark a circle of about 1cm diameter at the pin1 corner of the IC case. mark the center with a pin, use a pencil to expand it. After that use some appropriate tool to increase the diameter to 1cm. Sand it on the inside and use hot glue to secure the hole.

Cut a piece of General purpose PCB (10-11)dots x 5dots. Plug in and solder the pushbutton, 220 and 10k Ohm resistors as shown.

Take 3wire ribbon cable about 15cm long. Tin the ends and solder it as shown. Note down which colour wire goes to where, this will be helpful later on.

Cut 2 small pieces of eraser and place it on the ends on the board. The height of the eraser should be such that the button is below the cardboard inner level as viewed from outside. I used 4mm.

Secure it with hot glue as shown

Step 22:Making the Case -- Testing points

Cut 6x 6pin female header pins. Sand the sides to make it smooth.

Mark the positions and cut slots for the header pins. Insert it in place and glue it from the inside.

Apply small amounts of solder to all the pins and use a stripped jumper to get it all together. Make sure all of them are connected. Dont keep on heating it to make it perfect. Heating a pin also heats the neighbouring ones.

Take 6 stranded ribbon cable, tin it and attach it to each slot. Note that I put dark colours to the negative side. Apply hot glue to fix them in place.

Step 23:The Legs

Download "Legs_A4.pdf" or ""Legs_ANSI_A.pdf", based of paper size available in your region. attached at the end.

Print it on an A4 size paper (21 x 29.7cm or 8.27 x 11.69 inches) or the US-alternative ANSI A(8.5 x 11inches or 21.6 × 27.9cm). Make sure that while printing you select the proper paper size, orientation, and select the "Actual Size" option. Confirm that the print is accurate by measuring the rectangle. It should be 8.4 x 11.8cm

Cut crease and glue it just like the main case, see the images.

Step 24:Making it shiny!

Cut a piece of foil 1x2inches and stick it carefully, fold by fold to the leg ends with some metal-cardboard sticking glue. I used Fevibond.

Next stick a patch that covers all the leg tops(as shown), make cuts slowly with a cutter. Do this carefully. The foil tends to tear to the sides. Use something flat to stick the foil in between the legs and give it a good finish.

Now cover it with transparent cello tape, just like you applied the foil, to protect it from sharp objects.

Step 25:The Power Switch

Measure and cut the power switch leg by properly keeping it in place. Temporarily stick the other pins with tape to get the pin1 position right.

Mix the m-seal(epoxy putty sealant, gets very hard when it dries) well. Put it as shown in the images and use powder+flat surface to shape it. Let it dry.

Also fill any gaps left in your case.

Note:We cant use hot glue here as it is rubbery and the switch needs to be stuck with some strong brittle material.

Step 26:Power switch to PCB

After The m-seal dries, place it in to check if everythings alright.

Cut 3pins of female and male headers place it on the PCB such that it aligns with the switch pins. Solder the female part.

Tin the switch leads and the male header pins, join them. See if it fits at the right place.

Try pushing the switch on and off after placing a finger behind the switch for support. We will add a support rod later on.

Connect a side pin of female header(power switch) to Vin. I realised this late and had to undergo lots of trouble.

Secure the header Pin with hot glue.

Step 27:Making the USB Port

Put the PCB properly in (with Arduino) and cut a rectangle for the mini USB port.

Remove some plastic from the USB cable so that it fits the Arduino properly. Test whether connection is proper.

Step 28:Some other things...

I removed all the LEDs from the Arduino Nano and also the power LED on my RTC module. These consume unnecessary power, which matters if you are operating on a battery.

Sand the dried m-seal so that it mixes smoothly with the cardboard. Clean the powder with a wet paper napkin before painting.

I also added a buzzer which may be used for some functions. Buzzers are sensitive, don't use too much heat while soldering!

Step 29:Time to paint!

Dont use direct thick paint while painting, this cases brush patterns to appear. Use sufficient water.

Make sure no tiny bubbles are formed. These form when you dab the brush too much.

Dont paint the cover hinge, the paint will restrict it.

This is just a base coat. Another layer of paint will be added while finishing up.

Step 30:Soldering all the wires

Make sure you refer the circuit design before making any connections.

First connect the reset switch, one end to RST and one end to GND.

Then, the backlight switch. One end to +5V and other end to 'A' or Anode of the backlight LED. Also connect 'K', Cathode to GND.

Next is the RS switch, connect one end to RS and other to pin D1(TX).

And finally the Enable switch. Connect one end to 'E' or Enable and other end to pin D0(RX).

Switches

Where to?

Reset - pushbutton RST and GND Backlight - slide +5V and A RS - slide D1 (TX) and RS Enable - slide D0 (RX) and E

Note:Pins D0 and D1 are connected through switches as keeping them connected sometimes causes problems while using Serial(for debugging).

This completes the base wiring. Apply hot glue after double checking the connections.

Then connect the 3 wires of mode change button:The 10k pulldown resistor to GND. 220 Ohm resistor to pin D11 and input pin to +5V or VCC

Finally connect the 6 wires from the test slots to their appropriate places(shown in images).

Positive

Negative

Resistance Test A7 GND Capacitance Test A0 GND Diode Test A6 D12

Note:All the +5Vs and GNDs are same and hence connect to most convinient spot.

Step 31:Adding the battery case

Place the battery case at the top cover, make cuts to place it inside such that the cover can be closed properly.

Solder Wires to the case, strip and tin them. Solder the positive end to the middle pin of power switch and negative end to ground.

Glue the PCB to the base after making all the connections.

Twist the wires and place them in position. Insert batteries(the case expands a bit on inserting batteries) and glue the case to the cover.

Step 32:Adding the Legs

Cut the inner part of legs so that it fits in properly. Stick it it place.

Put the power switch pin in to check if it fits in perfectly. Remove it, add a metal rod, piece of wood or anything strong of proper length that will prevent the switch from moving back. Glue it in place.

Check the switch, it should be turning on/off smoothly.

Switch on the IC and test all the functions. If its not working skip to the troubleshooting section.

Step 33:Finishing up!

Use M-seal (or equivalent) to fill any small gaps around the testing area and the mode change button. After drying, sand it well and apply a second layer of paint.

Make the button with a small piece of cardboard, paint it black and cover it with tape(gives a shiny finish). Apply a tiny drop of glue and stick the button in place.

Step 34:Problems and Troubleshooting

Do everything correctly. This is the most boring most of any project and you dont wanna get here just because you soldered the wrong pins!

  • Recheck every soldered joint and ensure that it isnt touching the adjacent one. Use the multimeter continuity test for help.
  • After cutting component/jumper leads make sure the cut lead doesnt fall underneath the PCB. This may lead to unwanted shorting soldered joints.
  • Write down anything you need to remember in a book, don't trust your memory.
  • If LCD is not displaying, make sure the contrast is adjusted properly. Also make sure the pin0 and 1 switches are turned ON. Check all the pin connections from LCD to Arduino with continuity test. Use breadboard jumpers wherever your mutimeter cant reach.
  • Upload the hello world LCD program to see if the problem is in the code.
  • If a particular function is not working, check its connections and tally it with the code.
  • And most importantly, keep your curious pets with their evil minds away from your workspace! :p

Step 35:Things I did, some mistakes I made

While testing the various circuits and when I had the rough idea of what I want to make, I decided to go with the IC design. I measured actual ICs, took ratios of their lengths, got the angle with some trignometry to be around 80 degrees. Then I decided the inner box length and breadth and built upon it(shown in image). Once the layout was planned, I initially started to draw it accurately on a large size paper. After a bit of a struggle of drawing accurate lines, I realised that this kind of work should be done on a computer! So I learnt CAD basics and succesfully made the layout on it. :) But this layout didnt work out and I had to redo the entire cutting and making of the case.(See images)

While removing the LEDs on the Arduino Nano I used excess pressure to remove a stubborn LED, and ended up removing a PCB pad. Always desolder without forcing/applying pressure on the joints, the pads are delicate and easily come off if you dont stay calm.

When all the solder joints were made and project was about to get finished, in excitement and eagerness, I glued the PCB inside the case before adding the battery case. Had to re-melt the hot glue with a soldering iron (carefully not to melt any wire insulation) and remove the PCB out to solder the battery case wires in. The soldering iron can be cleaned afterwards.

The RTC module battery was coming in way of the batteries while closing and so I separated the battery holder(Warning:desolder only with the battery removed) and added extension wires so that the battery can be placed at the sides where there is space.

All the Layout PDFs, CAD Files and the Main code can be downloaded here:Google Drive

Code

  • Code-Snippet Nr. 1
  • Code-Snippet 2
  • Code-Snippet #3
  • Code-Snippet Nr. 4
Code-Snippet Nr. 1Nur-Text
//Analog pin used to find resistanceint Apin=7;//values of r1 to r5float r1=1000;float r2=4700;float r3=10000;float r4=47000;float r5=100000;//pins of r1 to r5int r1_pin=2;int r2_pin=3;int r3_pin=4;int r4_pin=5;int r5_pin=6;float reading=0; //read from analog pin and store herefloat R=0; //calculate unknown and store hereString finalR; //final value to be displayed along with unitsint caseno; //for debugging, stores the case number // we divide the entire range into cases and assign each a number, // total 5 cases // case1 :less than 2850 // case2 :2850 to 7350 // case3 :7350 to 28500 // case4 :28500 to 73500 // case5 :more than 73500#include  // needed for converting float to string, //has the String(float,n) function. Explained below.void setup() { Serial.begin(9600);}void loop() { //first we find unknown resistance using 1kOhm resistor //Therefore, disable R2, R3, R4 and R5 digitalWrite(r2_pin, LOW); //turn each pin to LOW before setting it as INPUT pinMode(r2_pin, INPUT); // turning it to INPUT when its HIGH enables the // internal pullup resistor digitalWrite(r3_pin, LOW); pinMode(r3_pin, INPUT); digitalWrite(r4_pin, LOW); pinMode(r4_pin, INPUT); digitalWrite(r5_pin, LOW); pinMode(r5_pin, INPUT); pinMode(r1_pin, OUTPUT); digitalWrite(r1_pin, HIGH); //read and calculate resistance reading=analogRead(Apin); R=(reading*r1)/(1023-reading); // if value <2850, finalR =value(using 1kOhm) if(R<2850){ caseno=1; if(R<1000){ //if value less than 1000 use "Ohm" not "kOhm" finalR =String(R,2) + "Ohm"; //String(float,n) Converting float to string //with n digits after decimal // attach "Ohm" after value to the string, //'+' joins two strings here } else{ //use "kOhm R=R/1000; finalR =String(R,2) + "kOhm"; } } //if value between 2850 and 7350 , use value obtained by 4.7kOhm else if(R>=2850 &&R<7350){ caseno=2; digitalWrite(r1_pin, LOW); //Enable only 4.7kOhm pinMode(r1_pin, INPUT); digitalWrite(r3_pin, LOW); pinMode(r3_pin, INPUT); digitalWrite(r4_pin, LOW); pinMode(r4_pin, INPUT); digitalWrite(r5_pin, LOW); pinMode(r5_pin, INPUT); pinMode(r2_pin, OUTPUT); digitalWrite(r2_pin, HIGH); reading=analogRead(Apin); R=(reading*r2)/(1023-reading)/1000; finalR =String(R,2) + "kOhm"; } //if value between 7350 and 28500, use value obtained by 10kOhm else if(R>=7350 &&R<28500){ caseno=3; digitalWrite(r1_pin, LOW); pinMode(r1_pin, INPUT); digitalWrite(r2_pin, LOW); pinMode(r2_pin, INPUT); digitalWrite(r4_pin, LOW); pinMode(r4_pin, INPUT); digitalWrite(r5_pin, LOW); pinMode(r5 _pin, INPUT); pinMode(r3_pin, OUTPUT); digitalWrite(r3_pin, HIGH); reading=analogRead(Apin); R=(reading*r3)/(1023-reading)/1000; finalR=String(R,2) + "kOhm"; } //if value between 28500 and 73500, use value obtained by 47kOhm else if(R>=28500 &&R<73500){ caseno=4; digitalWrite(r1_pin, LOW); pinMode(r1_pin, INPUT); digitalWrite(r2_pin, LOW); pinMode(r2_pin, INPUT); digitalWrite(r3_pin, LOW); pinMode(r3_pin, INPUT); digitalWrite(r5_pin, LOW); pinMode(r5_pin, INPUT); pinMode(r4_pin, OUTPUT); digitalWrite(r4_pin, HIGH); reading=analogRead(Apin); R=(reading*r4)/(1023-reading)/1000; finalR =String(R,2) + "kOhm"; } //if value more than 73500, use value obtained by 100kOhm else if(R>=73500){ caseno=5; digitalWrite(r1_pin, LOW); pinMode(r1_pin, INPUT); digitalWrite(r2_pin, LOW); pinMode(r2_pin, INPUT); digitalWrite(r3_pin, LOW); pinMode(r3_pin, INPUT); digitalWrite(r4_pin, LOW); pinMode(r4_pin, INPUT); pinMode(r5_pin, OUTPUT); digitalWrite(r5_pin, HIGH); reading=analogRead(Apin); R=(reading*r5)/(1023-reading)/1000; finalR =String(R,2) + "kOhm"; } Serial.println(finalR); //printing the final string with units Serial.println(" "); Verzögerung (1000); }
Code-Snippet #2Klartext
/* RCTiming_capacitance_meter * code concept taken from Paul Badger 2008 * * The capacitor's voltage at one time constant is defined as * 63.2% of the charging voltage. * i.e, A Capacitor is filled to 63.2% of its total capacity in * 1 Time Constant */ int analogPin=0; // analog pin for measuring capacitor voltage int chargePin=7; // pin to charge the capacitor - connected to // one end of the charging resistor int dischargePin=12; // pin to discharge the capacitor, // same used for diode test(checkPin1) float resistorValue=10000.0; // We use 10kOhm resistor unsigned long startTime; unsigned long elapsedTime; float microFarads; // floating point variable to preserve precision float nanoFarads;void setup(){ pinMode(chargePin, OUTPUT); // set chargePin to output digitalWrite(chargePin, LOW); Serial.begin (9600); // initialize serial transmission for debugging}void loop(){ digitalWrite(chargePin, HIGH); // set chargePin HIGH and capacitor charging startTime =millis(); while(analogRead(analogPin) <648){ // just wait and do nothing till 648 // 647 is 63.2% of 1023, // which corresponds to full-scale voltage } elapsedTime=millis() - startTime; // convert milliseconds to seconds ( 10^-3 ) // and Farads to microFarads ( 10^6 ), net 10^3 (1000) microFarads =((float)elapsedTime / resistorValue) * 1000; // (float) converts "unsigned long" elapsed time to float Serial.print(elapsedTime); // print the value to serial port Serial.print(" mS "); // print units if (microFarads> 1){ Serial.print((long)microFarads); // print the value to serial port Serial.println(" microFarads"); // print units } else { // if value is smaller than one microFarad, convert to nanoFarads (10^-9 Farad). nanoFarads =microFarads * 1000.0; // multiply by 1000 to convert to nanoFarads (10^-9 Farads) Serial.print((long)nanoFarads); // print the value to serial port Serial.println(" nanoFarads"); // print units } /* dicharge the capacitor */ digitalWrite(chargePin, LOW); // set charge pin to LOW pinMode(dischargePin, OUTPUT); // set discharge pin to output digitalWrite(dischargePin, LOW); // set discharge pin LOW while(analogRead(analogPin)> 0){ // wait until capacitor is completely discharged } pinMode(dischargePin, INPUT); // set discharge pin back to input}
Code-Snippet #3Kurztext
String state ="null"; //prints "null" for reverse bias or nothing connectedint checkPin1 =12;int checkPin2 =6;void setup() { Serial.begin(9600);}void loop() {pinMode(checkPin1, OUTPUT); digitalWrite(checkPin1, LOW); //pin 11 is set to low//analog read is normally pulled up by the 10k resistor, so null reading is 1023//In forward bias, the analog pin gets connected to checkPin1, which is LOW. So reading less than 1023//Practically a small current flows in reverse bias as well, so we take 700 to differentiate if(analogRead(checkPin2)<700){ state="forward"; } Serial.println(state); Serial.println(analogRead(checkPin2)); state ="null"; delay(500);}
Code-Snippet #4Nur-Text
// Date and time functions using a DS1307 RTC connected via I2C and Wire lib#include #include RTC_DS1307 rtc;//creating "rtc" object of RTC_DS1307, objects are used to access functions //more on objects and classes:https://www.youtube.com/watch?v=ABRP_5RYhqUchar daysOfTheWeek[7][12] ={"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};void setup () { Serial.begin(9600); rtc.begin(); // following line sets the RTC to the date &time this sketch was compiled // rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); // This line sets the RTC with an explicit date &time, for example to set // January 21, 2014 at 3am you would call:// rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));}void loop () { DateTime now =rtc.now(); Serial.print(now.year()); Serial.print('/'); Serial.print(now.month()); Serial.print('/'); Serial.print(now.day()); Serial.print(" ("); Serial.print(daysOfTheWeek[now.dayOfTheWeek()]); Serial.print(") "); Serial.print(now.hour()); Serial.print(':'); Serial.print(now.minute()); Serial.print(':'); Serial.print(now.second()); Serial.println(); Serial.println(); delay(1000);}
Github
https://github.com/adafruit/RTClibhttps://github.com/adafruit/RTClib

Schaltpläne

Main_Schematic.fzz

Herstellungsprozess

  1. Pflanzenalarm bei Durstalarm
  2. italienische Wordclock
  3. Nur drei Pins für eine 4x3-Tastatur
  4. Sigfox-kWh-Zähler
  5. Bluetooth-Temperaturüberwachung
  6. Gestengesteuerte Sperre
  7. USB-MIDI-Adapter
  8. Ein isolierter Analogeingang für Arduino
  9. RGB 32-Band Audio Spectrum Visualizer
  10. Messen Sie Ihre Reaktionszeit