• Home »
  • Arduino »

    4 Schritt:Schritt 1: Schritt 2: Schritt 3: Schritt 4:

    5x5x5 LED CUBE Arduino Uno, mit nur 3 Pins des Arduino, 6 Schieberegister 595NStep 1: SchematicStep 2: Alle 9 Artikel anzeigen Arduino Uno 125x Leds 6 x 74HC595N 5 x BC337 5 x 10 Ohm Widerstände 290 tiepoints Steckbrett 810 tiepoints Steckbrett Prototypen-Board 6x8 cm 6 x AA Batterien 6AA Batteriekasten 2,54 Stiftleiste Drähte (Stecker auf Stecker, Stecker auf feemale) Schritt 3: Schritt 4: $(function() {$("a.lightbox").lightBox();});

      1 Schritt:

      12V-220V Inverter, 2 * 680uF Kondensatoren, Spule, Laservisier, 2servo, 4mm Projektil Wenn Sie mehr Informationen benötigen, schreiben Sie bitte in den Kommentaren.

        2 Schritt:Schritt 1: Schritt 2:

        Wasserwerfer arduino robotStep 1: Alle 7 Artikel anzeigen Arduino Uno R2 Arduino Motorshield Wasserpumpe flexible Rohr 6 x AA NiMH-Akkus Batteriekasten für 2 AA Batteriekasten für 4 AA Servo 9g x 2 2WD Robot Chassis Relais 5V IR-Fernbedienung IR Recivier wiresStep 2:

          7 Schritt:Schritt 1: Schritt 2: Schritt 3: Empfänger Code Schritt 4: Sendercode Schritt 5: Empfänger-Schema Schritt 6: Messumformer Schema Schritt 7:

          433Mhz RF Sender + Empfänger-Modul Link-Kit ermöglicht es uns, zwei Arduinos verbinden und daß kommunizieren können. Daten die Sie auf dem Sender-Show auf dem Bildschirm Arduino-Empfänger zu senden. Endresultat Video --- http://youtu.be/g-GxWBakV-8 Technische Daten: Empfänger-Modul-Parameter Produkt-Modell MX-05V Betriebsspannung: 5 V DC Ruhestrom: 4 mA Empfangsfrequenz: 433MHZ Empfängerempfindlichkeit: -105Db Größe: 30 * 14 * 7mm Eine zusätzliche Antenne erforderlich ist, nutzen Sie bitte Spiral 50Ω eine Viertelwellenlängenantenne Technische Parameter des Senders Kopf Produkt-Modell: MX-FS-03V Launch Entfernung: 20-200 m (andere Spannung, unterschiedliche Ergebnisse) Betriebsspannung: 3.5-12V Abmessungen: 19 * 19mm Betriebsart: AM Übertragungsrate: 4 KB / s Sendeleistung: 10mW Sendefrequenz: 433M Pinout von links nach rechts: (DATA; VCC; GND) Schritt 1: Sie werden für dieses Projekt benötigen: Arduino Uno Arduino Pro Mini (Sie können Uno statt Pro MINI verwenden, wenn Sie möchten) WH1602 oder HD44780 16x2 Zeichen LCD Display 433Mhz oder 315Mhz RF Sender + Empfänger-Modul Link- Prototyp-Brotschneidebrett 830 Verknüpfungspunkte männlich-zu-Mann-Kabel Mann-zu-feemale Kabel 10k Potentiometer 3,7 V Batterie Schritt 2: Wie Skizzen auf Arduino Pro Mini hochladen. Entfernen Atmega328 von Arduino UNO Verwenden von Mann-zu-Frau-Kabel anschließen Pro MINI UNO RX-RX; TX-TX; RST-RST; GND-GND; VCC + 5V Änderung der Werkzeuge-Board Arduino Pro oder Pro MINI Hochladen sketchStep 3: Receiver-Code # include # include Liquid lcd (7, 6, 5, 4, 3, 2); char cad [100]; int pos = 0; Leere setup () { lcd.begin (16, 2); lcd.setCursor (1, 0); vw_setup (2000); vw_rx_start (); } Leere Schleife () { Byte-buf [VW_MAX_MESSAGE_LEN]; Byte buflen = VW_MAX_MESSAGE_LEN; int i; if (vw_get_message (buf, & buflen)) { if (pos <2) lcd.setCursor (0, pos); sonst { pos = 0; lcd.clear (); } for (i = 1; i <buflen; i ++) { lcd.print ((char) buf [i]); pos ++; } } } Schritt 4: Sendercode # include char cad [100]; int i = 0; Leere setup () { Serial.begin (9600); vw_setup (2000); Serial.print ("jedes Daten" "mit \ end" \.); } Leere Schleife () { if (Serial.available ()> 0) { CAD [i] = Serial.read (); i ++; } if (cad [i-1] == '.') { cad [i] = '\ 0'; i = 0; vw_send ((byte *) cad, strlen (CAD)); Verzögerung (400); } } Schritt 5: Empfänger-Schema Schritt 6: Messumformer Schema Schritt 7: Drucken Sie beliebige Nachricht Serienmonitorfenster. Enden mit Punkt "." Drücken Sie die Eingabetaste. DAS IST ALLES!!! Das ist mein Video mit Spielergebnis: (zu lang, ich denke, und auf Russisch, youtube Untertitel sind nicht so gut, aber Sie können auf ihm) http://youtu.be/g-GxWBakV-8 Wenn Sie Fragen haben, schreiben Sie bitte in den Kommentaren.

            4 Schritt:Schritt 1: Hardware Teile Schritt 2: Laden Sie die Software Schritt 3: Anschließen der Hardware Schritt 4: Testen alles aus

            Einbringen Dieses Projekt geht es um eine einfache und einfache Weise, jede Flüssigkeitsspiegel an Ihrem Haus überwachen und zu messen. Dies ist getestet und voll funktionsfähig auf dem Tank, die ich habe in meinem Keller voll von Erdöl. Es gibt viele Male vor allem an der Wickelmaschine, die ich brauche, um Kenntnis von der Ebene. Darüber hinaus ist es sehr nützlich, um die wirtschaftliche analysis.Step 1 aufzeichnen, wie viel Erdöl haben Sie pro Jahr verbraucht und sammeln alle diese Informationen: Hardware Teile Alle 7 Artikel anzeigen Für dieses Projekt werde ich mit dem folgenden: Arduino Uno Ethernet Schild HC-SR04 Ultraschallsensor Drähte für den Anschluss des Sensors an CAT5-Kabel Router LaptopStep 2 arduino: Laden Sie die Software Laden Sie die Software auf dem Arduino, bevor sie irgend etwas anderes. Bitte beachten Sie, dass der folgende Code verwendet eine Ethernet-Schild und HTTP-Anfrage an einen Client (Browser) zu beantworten. Also, im nächsten Schritt werden wir sehen, dass der Server antwortet mit einer HTTP-Anforderung wie folgt geschrieben. Wenn Sie aus irgendeinem Grund, ein Wi-Fi-Schild oder irgendetwas anderes verwenden möchten, müssen Sie den Code ändern. Der Wert (Integer), die der Benutzer erhält, ist einfach das, was der Sensor. Also, eigentlich ist es nicht der Flüssigkeitspegel. Aber Sie können einfach berechnen die Höhe, wenn Sie Auszug aus dem vollen Tank die hypothetische Flüssigkeit nach dem Wert, den Sie gerade. Einfache mathematische Gleichungen. / ************************************************* **************************** Eine Idee für zukünftige Smart Homes Ölüberwachung ist ein Projekt, können Sie die ammount von Öl zu überwachen bei dir zu Hause. Warnt Sie mit einer Meldung auf Facebook, Google Mail oder SMS in Ihrem persönlichen Telefon und mehr an Bedeutung gibt Ihnen Statistiken über die Vergangenheit. * Arduino Uno * Ethernet-Schild und Ethernet-Kabel | Wireless-Schild * Ultraschall-Abstandssensor * Drähte für Arduino Pins Entwickelt von Tzivaras Vasilis Letzte Aktualisierung: [2015.10.06] ************************************************** *************************** / #define echoPin 7 #define trigPin 8 #include <SPI.h> #include <Ethernet.h> // Ultraschallsensor min und max-Wert, um akzeptiert zu werden. int maximumRange = 200; int minimumRange = 0; lange Zeit, Strecke; // Geben Sie eine MAC-Adresse und IP-Adresse für Ihren Controller unten. // Die IP-Adresse wird in Abhängigkeit von Ihrem lokalen Netzwerk: Byte-mac [] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; IPAddress ip (192, 168, 1, 177); // Der Ethernet-Server-Bibliothek initialisieren // Mit der IP-Adresse und Port Sie verwenden möchten, // (Port 80 ist standardmäßig für HTTP): EthernetServer-Server (80); Leere Setup () { pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); // Öffnen der seriellen Kommunikation und warten Port zu öffnen: Serial.begin (9600); // Starten Sie die Ethernet-Verbindung und den Server: Ethernet.begin (mac, ip); server.begin (); Serial.print ("Server ist"); Serial.println (Ethernet.localIP ()); } Leere getSensorValue () { digital (trigPin, LOW); delayMicroseconds (2); digital (trigPin, HIGH); delayMicroseconds (10); digital (trigPin, LOW); Dauer = pulseIn (echoPin, HIGH); // Basierend auf der Schallgeschwindigkeit die Entfernung (in cm) zu berechnen. distance = Dauer / 58,2; } Leere Schleife () { // Hört für eingehende Clients EthernetClient client = server.available (); if (Client) { Serial.println ("neuer Kunde"); // Eine HTTP-Anforderung endet mit einer Leerzeile boolean currentLineIsBlank = true; while (client.connected ()) { if (client.available ()) { char c = client.read (); Serial.write (c); //, Wenn Sie auf das Ende der Zeile bekommen haben (erhielt einen Zeilenumbruch // Zeichen) und die Zeile leer ist, die HTTP-Anforderung beendet ist, // So dass Sie eine Antwort senden if (c == '\ n' && currentLineIsBlank) { // Einen Standard http-Antwort-Header zu senden client.println ("HTTP / 1.1 200 OK"); client.println ("Content-Type: text / html"); client.println ("Connection: close"); // Die Verbindung wird nach Beendigung der Reaktion geschlossen werden client.println ("Refresh: 5"); // Die Seite automatisch alle 5 Sekunden erfrischen client.println (); client.println ("<! DOCTYPE HTML>"); client.println ("<html>"); getSensorValue (); client.print ("{\" id \ ":"); client.print ("1770"); client.print ("\" Mess \ ":"); client.print (Entfernung); client.print ("}"); client.println ("<br />"); client.println ("</ html>"); Unterbrechung; } if (c == '\ n') { // Sie beginnen eine neue Linie sind currentLineIsBlank = true; } else if (c! = '\ r') { // Sie ein Zeichen in der aktuellen Zeile bekommen haben currentLineIsBlank = false; } } } // Den Webbrowser Zeit, um die Daten zu empfangen geben Verzögerung (1); // Schließen Sie die Verbindung: client.stop (); Serial.println ("Client getrennt"); } } Schritt 3: Anschließen der Hardware Das ist ziemlich einfach zu tun. Schnappen Sie sich vier Drähte und verbinden sie mit dem Sensor und dem Ethernet-Schild. Montieren Sie das Schild über dem Arduino. Beachten Sie, dass der Sensor einen GND (Masse) ein 5V (power) und zwei weitere Stifte genannt Echo und Trig. Echo auf 7 Digitalstift in Arduino verbunden und trig an den 8 digitalen Stift. Nach diesem Einsatz CAT5-Kabel, um das Schild mit dem Router zu verbinden. Schalten Sie Ihren Laptop und gehen Sie zum nächsten step.Step 4: Test alles aus Jetzt sind wir bereit, dies zu testen. Öffnen Sie einen Browser auf Ihrem Laptop und geben Sie 192.168.1.177. Es sollte funktionieren :) Beachten Sie, dass an der Code, den wir hochgeladen haben wir gesagt, dass der Arduino die obige IP. Sie können es ändern, wenn Sie möchten. Jetzt können Sie das Gerät an der tank.Place einen Router dort zu platzieren und gehen Sie zu Ihrem Haus und die IP-und sehen, wie viel Wasser oder Erdöl wird in den Tank gelassen. Bei Fragen wenden Sie sich bitte Kommentar unten.

              4 Schritt:Schritt 1: Lernen Sie Ihre Flammensensor wissen: Schritt 2: Testen und Fehlersuche: Schritt 3: Verdrahtung auf ein Arduino: Schritt 4: Arduino Sketch Beispiel:

              Schnelle und einfache Startanleitung für die Verwendung und die Erkundung der Flammensensor-Modul mit einem Arduino. Das Modell in der beispielsweise die ich benutze ist von Deal Extreme [DX] und gefunden werden kann HIER. (Die instructable für den Regen-Sensor ist jetzt verfügbar!) Benötigte Materialien: .. Flammensensor (Modell mit einem analogen out) männlich zu weiblich Schaltdrähte Ein Arduino, jede Geschmacksfeuerzeug oder ein anderes Flammenquelle für die Prüfung Schritt 1: Lernen Sie Ihre Flammensensor wissen: Verbrauch: Diese Arten von Sensoren sind für kurze Reichweite Branderkennung verwendet und kann verwendet werden, um Projekte zu überwachen oder als Sicherheitsmaßnahme, um Geräte aus / ein zu schneiden. Angebot: Ich habe festgestellt das Gerät überwiegend richtig bis zu ca. 3 Meter. Wie funktioniert es: Die Flammensensor ist sehr empfindlich für IR-Wellenlänge bei 760 nm ~ 1100 nm Licht. Analog-Ausgang (A0): Echtzeit-Ausgangsspannungssignal auf den Wärmewiderstand. Digital-Ausgang (D0): Wenn die Temperatur einen bestimmten Schwellenwert, wird der Ausgang hohen und niedrigen Signalschwelle mittels Potentiometer einstellbar erreicht. Pins: VCC ...... Positive Eingangsspannung: 5V für analoge 3,3V für Digital. A0 .......... Analogausgang D0 ......... Digitalausgang GND Masse ..... Abmessungen: 1,18 in x 0,59 in x 0,20 in (3,0 cm x 1,5 cm x 0,5 cm) Gewicht: 0,28 Unzen (8 g) Schritt 2: Testen und Fehlersuche: Test: Um den Flammensensor testen und sicherzustellen, dass es einwandfrei funktioniert verbinden die VCC an einen 5V-Stromquelle und GND. Verschieben einer Flammenquelle mit in einem Fuße des vor dem IR-Sensor und die D0-LED sollte leuchten. Fehlerbehebung: Wenn die D0-LED nicht leuchtet prüfen Sie folgendes: Ist die Stromquelle 5V? Ist der Boden eingehakt? Ist die Flamme mit in 1 Fuß und in der Sichtlinie? Verdrahtung mit einem Arduino: Wenn keiner der vorherigen macht die D0-LED leuchten, kann Ihr Sensor defective.Step 3: Um den Flammensensor an den Arduino Draht einfach den folgenden, wie gezeigt: Flammensensor ............... Arduino VCC ............................... 5V GND GND ............................... A0 .................................. Analog in 0 Schritt 4: Arduino Sketch Beispiel: Die folgenden Codekarten und liest die Analogwerte durch den Flammensensor (0 bis 1024) gegeben. Der Aktienflammensensor wird die folgende Reaktion mit diesem Code: Wenn hält eine flamm innerhalb von 1,5 Meter vor dem Sensor; "Bei 0" wird aktiviert und "** Schließen Feuer **" wird an die serielle Monitor gesendet werden. Wenn hält eine flamm zwischen 1,5 Meter und 3 Meter vor dem Sensor; "Fall 1" wird aktiviert und "** Entfernt Feuer **" wird an die serielle Monitor gesendet werden. Wenn keine Flamme vor dem Sensor erfasst wird; "Fall 2" wird aktiviert und "No Fire" wird an die serielle Monitor gesendet werden. * Um die Ausgabe anzuzeigen, weisen einen seriellen Monitor wie Putty an Ihrem Arduino. * Dieser Code wird ständig aktualisiert, um eine Echtzeit-Feedback der Flammensensor bereitzustellen. Code: Aufgrund der Formatierung angebracht.

                4 Schritt:Schritt 1: Einführung in Ihren Regen-Sensor wissen: Schritt 2: Testen und Fehlersuche: Schritt 3: Verdrahtung auf ein Arduino: Schritt 4: Arduino Sketch Beispiel:

                Schnelle und einfache Startanleitung für die Verwendung und manchmal die Erkundung der Regen-Sensor-Modul als "Regentropfen-Sensor-Modul" mit einem Arduino. Ich dachte mir, da ich vor kurzem schrieb eine Instructable über Flammensensoren, vielleicht eine Art von Wassersensor nur eine gute Equalizer können. Benötigte Materialien: Regen-Sensor (Modell mit einem analogen out) 3x männlich zu weiblich Schaltdrähte 2x Buchse auf Buchse Schaltdrähte Ein Arduino, jede Geschmacksquelle waterStep 1: Einführung in Ihren Regen-Sensor wissen: Verbrauch: Regen Sensoren werden in der Erfassung von Wasser über das für einen Feuchtigkeitssensor erfassen kann, verwendet wird. Wie funktioniert es: Die regen Sensor Wasser, das die Schaltungen auf seiner Sensorboards 'gedruckte Leitungen vervollständigt. Die Sensorplatte wirkt als variabler Widerstand, der von 100k Ohm, wenn sie nass bis 2M Ohm verändern wird, wenn sie trocken. Kurz gesagt, der Brief der Platine je mehr Strom, der durchgeführt werden soll. Pins: A0 .......... Analogausgang D0 ......... Digitalausgang GND Masse ..... VCC ...... Positive Spannung (Eingang: 5V für analoge 3,3V für Digital.) Loop-Pins: + .......... Sensorplatine Anschluß A - .......... Sensorplatine Anschluß B Abmessungen: 2,17 in x 1,57 in x 0,31 in (5,5 cm x 4,0 cm x 0,8 cm) Gewicht: 0,28 Unzen (8 g) Schritt 2: Testen und Fehlersuche: Test: Um den Regen-Sensor zu testen und sicherzustellen, dass es einwandfrei funktioniert verbinden die VCC an einen 5V-Stromquelle und GND. Versuchen Sie, ein paar Tropfen von Wasser auf dem Regen-Sensor Erfassungsplatine und dem D0-LED sollte leuchten. Fehlerbehebung: Wenn die D0-LED nicht leuchtet prüfen Sie folgendes: Wird das Modul richtig eingehakt? Manchmal Salinität ist ein Thema, mit diesen Geräten, feine mit gefilterter, Mineralwasser arbeiteten diese, aber in einigen Fällen müssen Sie möglicherweise ein wenig Salz hinzufügen, um die Gewässer Leitung zu erhöhen. Dies könnte ein wenig komplizierter sein, aber aus irgendeinem Grund zwei verschiedene Modelle von zwei verschiedenen Herstellern haben Mängel in ihren Löten Fähigkeiten hatten. Stellen Sie sicher, all die kleinen SMD und Anschlüsse wurden auf richtig verlötet. IE - sind Lötstellen verlötet eigentlich? Verdrahtung mit einem Arduino: Wenn keiner der vorherigen macht die D0-LED leuchten, kann Ihr Sensor defective.Step 3: Um den Regen-Sensor an das Arduino Draht für analog, schließen Sie einfach die folgenden, wie gezeigt: Regen-Sensor ................. Arduino VCC ............................... 5V GND GND .............................. A0 .................................. Analog in 0 Regen-Sensor ................ Sensor Board + .................................... + -..................................... -Schritt 4: Arduino Sketch Beispiel: Die folgenden Codekarten und liest die Analogwerte durch den Regen-Sensor (0-1024) angegeben. Der Regen-Sensor wird die folgende Reaktion mit diesem Code: Wenn der Sensor Board ist völlig durchnässt; "Bei 0" wird aktiviert und "Hochwasser" wird an die serielle Monitor gesendet werden. Wenn der Sensor Board verfügt über Wassertropfen auf sie; "Fall 1" wird aktiviert und "Regen Warning" wird an die serielle Monitor gesendet werden. Wenn der Sensor Board trocken ist; "Fall 2" wird aktiviert und "nicht regnet" wird an die serielle Monitor gesendet werden. * Die Ausgabe im "Fall 2", "nicht regnet" ist nur für diese Demonstration. Als ich diesen Code in der Produktion I verzichtet die Ausgabe für diesen Fall und hatte nur den Alarm für "Regen Warnung" und "Hochwasser". * Um die Ausgabe anzuzeigen, weisen einen seriellen Monitor wie Putty an Ihrem Arduino. * Dieser Code wird ständig aktualisiert, um eine Echtzeit-Feedback der Regen-Sensor bereitzustellen. Code: Aufgrund der Formatierung angebracht.

                  12 Schritt:Schritt 1: Komponenten Liste Schritt 2: Schematische Darstellung Schritt 3: Hardware-Wiring-Programm Schritt 4: Führen Sie in der Stromversorgung Kabel und geerdetem Kabel Schritt 5: Setzen Sie in MQ-2 Gas-Sensor-Modul Schritt 6: Setzen Sie in 1602 LCD Schritt 7: Setzen Sie in DHT11 Temperatur und Temperatursensor Schritt 8: Setzen Sie in aktiven Summermodul Schritt 9: Setzen Sie in Schalter und Widerstand Schritt 10: Setzen Sie in LED Leuchtdiode Schritt 11: Geben Kodex und experimentelle Wirkung Schritt 12: Video, um die Wirkung zu zeigen

                  ICStation Team vorstellen, wie man diese Temperatur und Luftfeuchtigkeit und Rauchalarmsystem DIY basierend auf ICStation Mega 2560 mit Arduino.The Arbeitsspannung dieses Systems wird DC5V.It können die aktuelle Temperatur, Feuchtigkeit und Rauch messen kompatibel. Es kann Echtzeit-Daten von der 1602 LCD-Display und die Ton-und Licht-Alarm, wenn in der gefährlichen Temperatur und Luftfeuchtigkeit zu realisieren. Es ist eine einfache Art und Weise, um die Überwachung Alarmsystem über Temperatur Feuchtigkeit und Rauch zu betreiben. Funktionen 1. Wenn die Verbindung zum Netzteil, nach der Initialisierung der Hardware, der 1602 LCD zeigt die aktuelle Temperatur, Luftfeuchtigkeit und Rauchvolumen anzuzeigen 2. Wenn wir die NO.1 Taste drücken, wird the1602 LCD die Seite drehen und geben Sie den gefährlichen Temperatureinstellung page.At dieser Zeit, drücken NO.2 Taste einmal, wird die gefährliche Temperatur hinzuzufügen. Wenn die tatsächliche Temperatur höher ist als der Sollwert, wird der gree LED-Licht, zur gleichen Zeit der Summer alarmiert. Wenn die tatsächliche Temperatur niedriger als die gefährliche Temperatur ist, wird die LED erlöschen und der Summer Alarm zu stoppen. 3.Wenn der 1602LCD Display bleibt auf der zweiten Seite, die Nr.1-Taste drücken wir, werden Sie sehen das 1602LCD wird Seite an der dritten Seite einzuschalten und den gefährlichen Feuchtigkeitseinstellung page.At dieser Zeit, drücken Sie die Taste NO.3 die gefährliche Feuchtigkeit wird hinzuzufügen one.If die tatsächliche Luftfeuchtigkeit höher als der Sollwert, die rote LED leuchtet, zur gleichen Zeit die Summer Alarme. Wenn die tatsächliche Feuchtigkeit niedriger als die gefährliche Luftfeuchtigkeit ist, wird die LED erlöschen und Summer zu stoppen alarming.Step 1: Komponentenliste Sie benötigen folgende Komponenten: 1. ICStation ATmega2560 Mega2560 R3 Vorstand unterstützte Arduino 2. DHT11 Digital-Feuchte-Temperatursensor 3. MQ-2 Gas-Sensor-Modul Smoke Methan Butan-Erkennung für Arduino 4. 1602A HD44780 Character LCD Display-Modul LCM blauer Hintergrundbeleuchtung 5. Aktive Buzzer-Modul für Arduino 6 0,830 Punkt Solderless PWB-Brot-Brett MB-102 Test-DIY 7. 100K ohm 3296W Trim Pot Trimmer Potentiomete 8. 1K Ohm 1 / 4W 1% Genauigkeit Metallschichtwiderstand 9. Jumper Drähte 10 .3P DuPont Linie 11. Tact Switches 4 Legs 12. Grüne LED 5mm DIP Loch Obwohl 13. Red LED 5mm DIP Loch Obwohl 14 5 Spannungsstrom supplyStep 2: Schematische Darstellung Schritt 3: Hardware-Wiring-Programm Schritt 4: Führen Sie in der Stromversorgung Kabel und geerdetem Kabel Von ICStation Mega-Entwicklungsboard, führen die 5V Versorgungsspannung und GND an das Brett Brot. Die rote wie Stromversorgungskabel und schwarze als GND wire.Step 5: Setzen Sie in MQ-2 Gas-Sensor-Modul Schließen Sie MQ-2 Gas-Sensor-Modul auf den ICStation Mega-Entwicklungsboard, Netzteil und GND.Step 6: in 1602 LCD Setzen Schließen Sie den LCD-1602 und Potentiometer mit dem Brotbrett und verbinden Sie es mit der Stromversorgung und GNDStep 7: in DHT11 Temperatur und Temperatursensor Setzen Stecken Sie den DHT11 Feuchte- und Temperatursensor-Modul, um die Brotbrett und eine Verbindung zum ICStation Mega-Entwicklungsboard, Netzteil und GNDStep 8: in aktiven Summermodul Setzen Schließen Sie das aktive Summer-Modul auf den Brotbrett und verbinden Sie es mit dem ICStation Mega-Entwicklungsboard und Netzteil und GNDStep 9: in-Schalter und den Widerstand Setzen Schließen Sie den Schalter, Widerstand mit dem Brotbrett und verbinden Sie es mit dem ICStation Mega-Entwicklungsboard und GNDStep 10: Setzen Sie in der LED-Leuchtdiode Schließen Sie das LED-Leuchtdiode mit dem Brotbrett und verbinden Sie es mit dem ICStation Mega-Entwicklungsboard, Netzteil und GNDStep 11: Bereitstellung-Code und experimentelle Wirkung Code für Ihre Referenz: http://www.icstation.com/newsletter/eMarketing/alarm System Code.txt Die experimentelle Wirkung: Zunächst wird eine Verbindung zum Netzteil, das LCD wird die erste Seite des aktuellen Temperatur, Feuchtigkeit und Rauch volume.When wir die NO.1 Taste angezeigt werden, zeigt das LCD die Seite drehen und geben Sie den gefährlichen Temperatureinstellung page.At dieser Zeit Drücken NO.2 Taste einmal, die gefährliche Temperatur hinzuzufügen one.When wir im gefährlichen Temperatureinstellung Seite, wieder die Nummer 1-Taste drücken wir, Sie werden sehen, das LCD-Display zur ersten Seite drehen, in dieser Zeit nutzen Sie Ihre Hand zu berühren DHT11 Feuchte- und Temperatursensor-Modul, können Sie beobachten, dass die Temperatur und Feuchtigkeitsanstieg allmählich (Da die Feuchtigkeit und Temperatur der Hand größer ist als die Luft. Wenn die Temperatur höher ist als die Temperatur, die wir festgelegt, die grüne LED leuchtet und der Summer. wird Alarm Wenn die Feuchtigkeit größer als der gefährliche Feuchtigkeit setzen wir die rote LED leuchtet und der Summer 12 alarm.Step: Video, um die Wirkung zu zeigen Bitte folgen Sie ICStaon Instructables mehr wunderbaren Projekten Arduino zu sehen!

                    9 Schritt:Schritt 1: Komponenten Liste Schritt 2: Die schematische Darstellung Schritt 3: Blei in die Stromversorgungsleitung und GND Schritt 4: Die Verbindung der LCD1602 Schritt 5: Die Verbindung des Summermodul Schritt 6: Die Verbindung der Infrarotaufnahmerohr Schritt 7: Die Verbindung der Infrarotsenderöhre Schritt 8: Die Verbindung von Schaltern und begrenzten Stromwiderstand Schritt 9: Die Demonstration Experiment Wirkung

                    ICStation Team gemacht hat dieses Projekt über die Flüssigkeitstropfen-Geschwindigkeitsmessung system.It nutzt DC 5V an die Arbeit. Wenn es keine Flüssigkeit im Infrarotbereich, der Summer alarmiert und wenn es im Infrarotbereich flüssig, wird der Summer nicht Alarm. Der LCD-1602 können die Flüssigkeitstropfen jede 10 Sekunden angezeigt. Sie können die Flüssigkeitstropfen jede 10 Sekunden für reference.It ist eine kostengünstige und einfache Flüssigkeitstropfen Geschwindigkeitsmesssystem eingestellt. Es ist geeignet für die Bereiche, wie beispielsweise Arbeiten, Krankenhaus. Funktionen 1) Nach der Initialisierung der Hardware, der LCD1602 wird die voreingestellte Schnittstelle anzuzeigen. 2) Wenn keine Flüssigkeit im Infrarotbereich, der Summer und das Alarm LCD1602 wird die N auf den Spalten YN anzuzeigen. 3) Wenn es im Infrarotbereich Flüssigkeit, der Summer nicht Alarm und der LCD1602 das Y an der Säule YN anzuzeigen. Und wenn es einen Tropfen der Flüssigkeit, wird die Anzeige der LCD1602 hinzuzufügen. 4) Sie können die Flüssigkeitstropfen jede 10 Sekunden durch Schlepptasten eingestellt. Code als Referenz: http://www.icstation.com/images/custom/code/Liquid_Drop_Speed.zip Schritt 1: Komponenten Liste 1. ICStation ATMEGA328P UNO R3 Dev. Vorstand unterstützte Arduino 2. 830 Punkt Solderless PWB-Brot-Brett MB-102 Test-DIY 3 .5mm Infrarot-Sende-LED 4. TL1838 VS1838B VS1838 Universal-Aufnahmekopf 5. Aktive Buzzer-Modul für Arduino 6. 65pcs Breadboard-Stecker-Drahtseil-Reifen 7. 12X12X5mm Tact Switches 4 Legs 8. 100pcs 1K Ohm 1 / 4W 1% Genauigkeit Metallschichtwiderstand 9. + 5V DC-Netzteil 10 .1602A HD44780 Character LCD Display-Modul LCM blauer Hintergrundbeleuchtung Schritt 2: Die schematische Darstellung Schritt 3: Blei in die Stromversorgungsleitung und GND Stecken Sie den + 5V Stromversorgungsleitung und GND aus ICStation UNO R3 in der Brotbrett .Die rote Brot Draht wird die Energieversorgungsleitung und das Schwarzbrot Draht wird die GNDStep 4: Die Verbindung der LCD1602 1.Platz die 1602LCD auf dem Brotbrett 2. Entsprechend der schematischen Darstellung, schließen Sie das LCD1602 Modul an den ICStation UNO R3 Schritt 5: Die Verbindung von Summermodul 1.Place Summermodul auf dem Brotbrett 2.Schalten dem Pin 1 des Summers mit der Anode, Pin 3 mit der Kathode der Pin 2 des Summermodul zu Pin 6 des ICStation UNO R3 Schritt 6: Die Verbindung der Infrarotaufnahmerohr 1.Platz die Infrarot-Empfangsröhre auf dem Brotbrett 2.Verbinden Sie das Pin 1 des Infrarotaufnahmerohr zu dem 220K Strombegrenzungswiderstand, und dann eine Verbindung zu der A3 Stift ICStation UNO R3 .Connect Der PIN2 des Infrarot-Aufnahmerohr zur Kathode und Pin3 des Infrarot-Aufnahmerohr, um die A2 Stift ICStation UNO R3. Schritt 7: Die Verbindung der Infrarotsenderöhre 1.Platz den Infrarot Senderöhre auf dem Brotbrett 2.Connect die Anode der Infrarotsenderöhre mit dem Widerstand und dann zur Anode. Und verbinden Sie die Kathode zur GND.Step 8: Der Anschluss von Schaltern und begrenzten Stromwiderstand 1.Platz die Schalter und begrenzten Stromwiderstand auf dem Brotbrett 2. Schließen Sie den Stift 1 von vier Schaltern an die + 5V und alle Pin3 mit dem GND, schließen Sie den PIN2-Add-Schalter in die AO, den PIN2 der Abnahme Schalter auf die A1, schließen Sie den Ein-Aus-swith auf die A4Step 9: Die Demonstration Experiment Wirkung

                      4 Schritt:Schritt 1: Zubehör Listing Schritt 2: Zubehör Einführung Schritt 3: Installation Schritt Schritt 4: Dacing Spinnen-Roboter

                      ICStation Teams vorstellen, wie man die DIY Hexapod4 Spinnen-Roboter. Um diese Roboter Zug zu machen, brauchen wir nur die Steuerungssoftware und die folgenden Komponenten: 1. 6 Legs 18 DOF Robot Black Spider Robot 18pcs SG90 Servo Motor 2. 32 Kanäle Servo Motor Controller Robot Contorller Servotreiber 3.7.4V Netzteil Hinweise: 1. Die Steuerung 3509 kann mit 32 PC-Servomotoren anzuschließen, verbinden Sie den Stift "+" mit dem roten Draht des Servomotors, den Stift "-" mit dem orangefarbenen Draht des Servomotors, schließen Sie den Stift "S" mit der gelbe Kabel des Servomotors. 2. Sie können auch andere Controller wie Arduino, aber wir haben nicht die damit verbundenen Material hergestellt jetzt. Und Sie können den Joystick verwenden, wenn Sie den Controller 3509 zu verwenden, aber Sie müssen es selbst bestellen müssen. 3. Sie können den Roboter über USB-Kabel mit Hilfe der Steuereinheit 3509 zu steuern und es ist Steuersoftware. Aber wenn Sie eine andere Steuerung verwenden, müssen Sie einen anderen Weg zu versuchen, den Roboter zu steuern, wir Zubehörstoffe für andere Controller riht now.Step 1 nicht: Zubehör Listing Schritt 2: Zubehör Einführung 1> .Zubehör Einleitung 1 (In-Kit) Teil 1: Host Körperhalterung x1 Teil 2: Arm 1_1 x6 Teil 3: Arm 1_2 x6 Teil 4: Arm 2 x6 Teil 5: Leg x6 Teil 6: M3 * 20 Screw x12 Teil 7: M3 Nut x12 2> .Zubehör Einleitung 2 (Herstellung nach sich selbst, werden wir senden in kit) Teil 8: M1.5 * 11 Screw x24 Teil 9: M1.5 Nut x24 3> .Zubehör Einleitung 3 (Bereiten Sie selbst, werden wir nicht senden Sie als Bausatz. Part 11 ~ 15 Part 10-Accessoires, sie sind alle in einem Set. Wenn Sie Part 10 kaufen, werden Verkäufer, den Sie Part 11 ~ 15 zu senden) Teil 10: SG90 Servo motor x18 Teil 11: "+" Servohalterung (Wir verwenden es in zu installieren) Teil 12: "-" Servohalterung (Wir verwenden es in zu installieren) Teil 13: Servohalterung x18 Teil 14: M2 * 7 Schraube x18 Teil 15: M2 * 5 Schraube x18Step 3: Installation Schritt Alle 21 Artikel anzeigen Schritt 4: Dacing Spinnen-Roboter

                        4 Schritt:Schritt 1: Was wirst du brauchen? Schritt 2: Anschließen alle zusammen Schritt 3: Der Code Schritt 4: Ergebnisse!

                        Auf dieser instructable Ich werde versuchen zu zeigen, wie eine RFID-Sensor mit dem Arduino Schnittstelle. Ich bin mit dem RFID-Sensor von seeedstudio die serielle Version davon. Es gibt ein paar Teile, die Sie benötigen werde. Ich kaufte auch einige RFID-Schlüssel. UPDATE: Jetzt funktioniert es mit IDE-021 Schritt 1: Was wirst du brauchen? - Arduino Board - RFID-Sensor aus seeedstudios - Drähte - Protoboard - RFID-Tags (125 kHz) aus seeedstudios Schritt 2: Anschließen alle zusammen Schließen Sie die Antenne an den entsprechenden Stiften wie das erste Foto. Stecken Sie den RFID-Sensor an das Lochrasterplatinen wie das zweite Bild oben. Nur 3 Adern werden benötigt, um eine Schnittstelle, 2 Leitungen für die Versorgung und eine andere für die serielle Schnittstelle (Kommunikation) Die Drähte verbunden, wie die dritte Foto zeigt. Auf RFID-Sensor: PIN 1 -> Tx PIN 2 -> Rx (nicht verwendet) PIN 3 -> NC PIN 4 -> GND PIN 5 -> VCC (+ 5V) Tx von RFID Bord geht an Digital-PIN 2 auf Arduino Board. Das ist alles, wirst du brauchen, um Draht. Übergang zu nächsten Schritt der Software. Schritt 3: Der Code Ich bin nicht ein Software-Kerl, sodass dieser Code nur für die Demonstration. Ich glaube nicht, machen jede Art von Prüfsumme an der Tags Code, aber es scheint gut zu funktionieren. Der Code ist wirklich einfach. Ich habe eine neue Bibliothek für die serielle, mit Software-Emulation. Mit den beiden weißen Karten können Sie verweigern oder erlauben den Zugang anderer Tasten. Im Zweifelsfall bitte anfragen. Edit (05/11/12): Code-Update für neue Arduino versionStep 4: Ergebnisse! Es gibt keine LED, Ton oder LCD für Debug oder Visualisierung, nur über die serielle Schnittstelle. Das Video zeigt, wie Sie die Software verwenden. Ich habe nicht jede Art von Erklärung als Text auf dem Video zu posten. Ich hoffe, dass die Bilder Speichen mehr als Worte, xD Jeder Zweifel oder Vorschläge, zögern zu fragen, oder korrigieren Sie mich. Bitte, wenn es Ihnen gefällt, bewerten Sie es, Danke

                          5 Schritt:Schritt 1: Things benötigt Schritt 2: [Optional] Austauschen der ATmega328 Chip der Arduino Uno Schritt 3: Speichern von Text in die ATmega Chip Schritt 4: Speichern von Bildern in den ATmega Chip Schritt 5: Das ist alles!

                          Hallo allerseits! In diesem instructable, werde ich Ihnen zeigen, wie Text und Bilder in einer kleinen ATmega328P Chip zu speichern. Lasst uns anfangen! Dieser Artikel ist auch verfügbar auf Lab Notebook Jordaniens Schritt 1: Things benötigt Dinge benötigt: - Arduino Uno - ATmega Chips (Optional, können Sie das Original-Chip der Arduino UNO verwenden) - Arduino IDE - Internet AccessStep 2: [Optional] Austauschen der ATmega328 Chip der Arduino Uno Um den ATmega Chip Sie Dinge speichern wollen, zu ersetzen, nur einfach die Original-Chip, dann setzen Sie den neuen Chip. Bitte beachten, dass die kleinen Kreis sollte in der rechten oberen Ecke, wenn Sie die chip.Step 3 einzulegen: Die Speicherung von Texten in die ATmega Chip Um Text in den Chip zu schreiben, zuerst müssen wir Arduino IDE öffnen. Dann fügen Sie den Code unten in die Arduino IDE. Vor dem Hochladen den Code in Ihre Arduino UNO, ersetzen Sie "Text Here !!!" in Zeile 5 auf den Text, den Sie in den Chip gespeichert werden soll: Leere setup () { Serial.begin (9600); während (Serial!); Serial.println ("Text Here !!!"); } Leere Schleife () {} In dem obigen Code haben wir die 9600 Baud Serien, um die gespeicherte Text in der Chip anzuzeigen. Um die gespeicherte Text angezeigt, stecken Sie Ihre Arduino UNO (mit dem Chip gespeicherten Text) in den Computer ein, offene Arduino IDE, und klicken Sie auf Serien Monior. Ihre gespeicherte Text wird auf der seriellen Monitor angezeigt werden. Wenn es nicht bis dargestellt ist, prüfen Sie, ob die Datenrate auf 9600 Baud eingestellt. In den ATmega Chip Bildspeicherung: Es sollte fine.Step 4 arbeiten Speichern von Bildern in die ATMEGA328P Chip ist ganz dasselbe wie Speichern von Text. Der Unterschied ist, müssen wir das Bild in eine base64 String zu konvertieren. http: //base64.wutils.com/encoding-online/image-to -... Dies ist eine kostenlose Online-Bild, um Base64-Konverter. Zuerst müssen wir unser Bild hochladen. Man beachte, dass das Bild nicht zu groß sein, da die atmega hat nur eine begrenzte Speicherkapazität. Nachdem Sie das Bild hochgeladen wurde, klicken Sie auf die Schaltfläche Konvertieren. Dann eine Reihe von Basis-64-Codes werden bis angezeigt. Kopieren Sie diesen Code in die Linie 5 des Codes: Leere setup () { Serial.begin (9600); während (Serial!); Serial.println ("Base64-Code hier !!!"); } Leere Schleife () {} Genau wie Speichern von Text, die wir auch eine 9600 Baud Serien an der Basis angezeigt werden 64 Codes. Um die base64-Codes zu entschlüsseln, fügen Sie den Code in dieser Website: http: //base64.wutils.com/encoding-online/base64-de ... Dies ist die base64-Decodierung Werkzeug. Schritt 5: Das ist alles! Jetzt können Sie Texte und Bilder in einer kleinen ATmega328P Chip zu speichern! Wenn Sie diese Intructables möchten, wenden Sie sich bitte gerne und teilen! Fühlen Sie sich frei, um unten zu fragen, ob Sie irgendwelche Probleme haben :) Dank für das Lesen dieses Instructable!

                            6 Schritt:Schritt 1: Antriebssystem - Ketten und Zahnräder Schritt 2: Power-System Schritt 3: Leuchten Schritt 4: Drosselklappensteuerungssystem Schritt 5: LCD Schritt 6: Zusätzliche Fotos + Code

                            Hallo an alle! Wie der Titel schon sagt, baute ich eine elektrische Go-Kart, die von arduino versorgt wird! Hier ist eine kurze Video, das Sie sicher, dass dies die nächste Sache, die Sie erzeugen wollen zu machen. NEUES VIDEO HINZUFÜGEN! Gemacht für die Boca Bearings Innovation Contest - Für mich bitte stimmen, wenn es im September beginnt! (Old Video als Referenz: http://tinypic.com/player.php?v=w8x2s9&s=8) Mein Hintergrund: Ich bin ein 15 Jahre alter Gymnasiast aus Kalifornien. Meine Hobbys sind bauen Sachen, Lesen und Studieren Japanisch. Ich habe auch in den Epilog Challenge-Wettbewerb getreten, Bitte stimmen Sie für mich! Eine schnelle Disclaimer: Ich übernehme keine Verantwortung für Verletzungen an sich selbst oder jemand anderes. Strom ist gefährlich. Kettenantriebe sind sogar noch gefährlicher. Sie könnten leicht zu schneiden mit einem Finger weg oder noch schlimmer. Tragen Sie einen Helm, wenn Sie versuchen, Dinge wie diese. Mit diesem aus dem Weg :) Übersicht: Das Laufwerk Setup verwendet eine Hobbywing Xerun 150A Brushless Fahrtenregler, um eine Savox BSM5065 450kV Motor zu steuern. Batterien 3x zippy Lithium-Polymer - 5-Zellen, 5000mAh. Der Motor verfügt über zwei große Ventilatoren Ich zog von einem alten Computer für Kühlung, montiert direkt über dem Motor. Der Kettenantrieb ist ein Gesamtverhältnis 1:10, unter Verwendung einer 15 Zahn des Motors auf einen 30 Zahn an der Zwischenwelle verkettet, und einen 9 Zahn von einer Zwischenwelle 45 an einen Zahn auf dem Rad. Die Reifen sind 10 "Durchmesser so bei 20 Volt die Höchstgeschwindigkeit liegt bei 30 Meilen pro Stunde. Der Ausschuss wird über PWM aus dem Arduino kontrolliert. Ein Drossel Potentiometer an den Schaltwippen am Lenkrad das. Konstantstrom ist etwa 40-50A, und die Batterien etwa 30 Minuten mit einer Durchschnittsgeschwindigkeit von 10-15mph. Es erfordert einen kleinen Schubs, um zu beginnen (wirklich, nur muss der Motor rotieren) und beschleunigt extrem schnell. (Und wenn jemand fragen, warum es sagt FTL auf der linken Steuerfeld , es ist die Abkürzung für schneller als das Licht, das den Namen gab ich es.) Dies wird nicht eine Anleitung zum Aufbau sein, denn es ist viel zu komplex, und jeder Schritt wurde nicht dokumentiert, sondern detaillierte Informationen für alle, die etwas Ähnliches machen will. Ich werde den Leser davon ausgehen, hat eine anständige Verständnis der Elektronik, Arduino und Funksteuerung Strom systems.Step 1: Drive System - Ketten und Zahnräder (ungefähr) Stückliste: (alle Ritzel sind für die # 35-Kette) 1x - 5/8 "Durchmesser Blindwelle 2x - 5/8 "Bohrung Lagerböcke mit Kugellager 1x - 5/8 "Bohrung 45 Ritzel (Rad) 1x - 5/8 "Bohrung 9 Ritzel (Blindwelle # 2, um Rad angekettet) 1x - 5/8 "Bohrung 30 Ritzel (Blindwelle # 1, um Motor verkettet) 1x - (siehe unten)? Bohrung 15 Ritzel (Motor) 3-4x - 5/8 "Bohrung Domschachtkragen rotes Loctite - 1 Röhrchen sollte genug sein, ich kaum verwendet, die Hälfte davon. genug, # 35 Kette Nur eine kurze Notiz: Diese verwendet eine sensorlose bürstenlosen Motor. Sie sind nicht in der Lage, ausgehend unter Last. Es kann brauchen eine schnelle Push, bevor sie beginnen. Versuchen Sie nicht, um sie unter Last zu starten. Ich hatte schon ein Motor durchbrennen, weil sie ins Stocken geraten, und der Strom der Spulen "Isolations verbrannt. Sensored Motoren dieses Problem überwinden. Dies ist recht einfach. Wählen Kettenräder mit der richtigen Bohrung und Kettengröße (die in meinem Fall war 5/8 "und # 35) und Ketten sie zusammen. Das Motorritzel jedoch wird schwieriger. Mein Motors Welle war 6mm, eine metrische Größe. Ich fand, eine Buchse mit einem Innendurchmesser von 6 mm und einem äußeren Durchmesser von 3/4 ", effektiv als eine Metrik Kaiser Wandler wirkt. Ich habe dann angebracht einen 3/4 "Bohrung Kettenrad auf die Buchse und legte es auf den Motor. Positionieren Sie die Befestigungsschrauben des Kettenrades in einer Weise, um die Buchse auf der Motorwelle zu klemmen, und fügen Sie Loctite (es sei denn, Sie wollen in der Lage, es zu entfernen). Seien Sie vorsichtig, um die bereits aus dem Motor anstelle des (in der Regel) enthalten Propelleradapter. Andernfalls kann der Motor von seitlichen Belastungen, die sie nicht ausgelegt zu biegen. (Bergwerk war ein erstreckende Welle verwenden . rc Flugzeug-Motor, so dass es für die Spinnerei Propeller gebaut) Die Motorhalterung ich war der Great Planes Große Motorhalterung Allerdings musste ich zusätzliche Löcher zu bohren, da der Motor hatte eine andere Befestigungs pattern.Step. 2: Power-System Die 3 LiPo-Akkus liefern eine Nenn 19-20V. Dies wird durch einen Hella Stoppschalter (große rote Schalter auf dem Foto) und einem 120A-Sicherung auf den ESC und zu einer Batterie Beseitigungsschaltung (BEC) geleitet. Die Macht geht durch eine 3A-Sicherung und einem Schlüsselschalter, bevor an der BEC, die den 20V auf eine für die Arduino und der Rest der Elektronik 12V fällt anreisen. Die rote LED in der Bild bedeutet 12V und die grüne LED 5V Strom aus dem Arduino. Der ESC verfügt über einen kleinen Schalter, über die nicht viel Strom fließt, um tatsächlich schalten Sie ihn ein. Das Arduino hat Zugriff auf diese durch ein Relais, und es ist durch den Schalter auf dem Foto markiert ESC gesteuert. Die 3. LED (grau im pic, aber rot / grün, wenn auf bicolor) wird auch durch diese gesteuert. Der letzte Schalter auf der Rückseite steuert die fans.Step 3: Leuchten Nur einige Ersatzwagen 12V LED-Leuchten ich von ebay für 2 € pro Stück. Von der Arduino durch die PWM-Pins und einem MOSFET 2N7000 Bord Ich baute gesteuert. Enthält 11 Glühbirnen. 2 Scheinwerfer, Rücklicht 2, 4 Blinker, 1 Rückwärtsgang, und 2 Bremssignal. Die Bremssignale bleiben, solange eine der folgenden Bedingungen erfüllt ist: Drossel unterhalb der Neutralpunkt, esc wird, nach links Joystick nicht gedrückt (Der linke Joystick ermöglicht die Drossel, wie im nächsten Schritt, sagte). Die Blinker sind, indem Sie den Joystick nach links in die jeweilige Richtung freigegeben. Scheinwerfer und Rücklichter werden von der linken Seite drei Kippschalter im Bild gesteuert. Boden aus ist, Mitte 50% PWM, ist Top 100% PWM. Die anderen Schalter ermöglicht "Gefahren", das heißt, alle Blinker blinken gleichzeitig. Drosselklappensteuersystem: Die blaue LED in der Mitte ist mit dem Brems lights.Step 4 verbunden Dies wird durch die rechte (1-Achse) Potentiometer am Lenkrad abgewickelt. Das Arduino ordnet den Analog in der Drossel (0-1023) an die esc-Ausgang (0 bis 179). Die Drosselklappe ist nur funktionsfähig, während der rechte Joystick (2-Achsen) nach unten, statt als Sicherheitsmaßnahme. Darüber hinaus ermöglicht zum Ändern "Zahnräder" (eigentlich nur das Verhältnis der Potentiometer an den Ausgang) das große klare Joystick im ersten Bild zu sehen. Dies beruht auf der 7-Segment-Anzeige in dem anderen Bild wider. Die Zahnräder sind R - umzukehren, 1-8 (Vorwärtsfahrt), N - neutral (einfach ausgibt neutral PWM an die ESC) und P - Park (Ausgänge 0 PWM an den ESC, funktioniert wie Bremse). Die einzige Bremse erhältlich eingebaute Funktion des WSA, die durch Bewegen der Drosselklappe unter dem Nullpunkt ausgelöst wird. Darüber hinaus, wenn der Arduino auf, während die Silberdrucktaste markiert KORREKTUR gedrückt gehalten wird angetrieben, wird es in eine "Basic Mode", wo nur die Drossel und der ESC sind funktional starten. Die Drosselklappe ist direkt mit dem ESC abgebildet, nichts anderes wirkt it.Step 5: LCD Das LCD ist ein 320x240 LED Backlit-Modell von ebay. Es ist von einem Arduino Schild, der 5 V an die vom LCD erforderlich 3,3 V umwandelt gesteuert. Es zeigt Drosselwert, Status aller Lichter, und die Spannung der Batterie. Es hat einen Touchscreen und SD-Kartenhalter, aber keiner von ihnen haben in der code.Step 6 implementiert: Zusätzliche Fotos + Code Die linken und rechten Steuerkästen welches Haus die gesamte Elektronik, - und der Batteriehalterung. Ja, ich weiß, es ist chaotisch, aber erstaunlicherweise gibt es keine Kurzschlüsse. Vielen Dank! Fühlen Sie sich frei, Fragen zu stellen. Wenn Sie genauere Bilder oder Schaltpläne will kann ich die machen auch. Die ino Datei wird bei der Code angebracht ist hier nicht richtig angezeigt. Hier ist der Code. Es ist wirklich, wirklich spezifisch zu meinem Build, aber Snippets könnte nützlich sein, euch. Sie können es so viel zu verwenden, wie Sie wollen, aber Kredit geben, wenn Sie es verteilen möchten. #include <SimpleTimer.h> // http://playground.arduino.cc/Code/SimpleTimer #include <FancyLED.h> // http://playground.arduino.cc/Code/SimpleTimer #include <Servo.h> // Standard arduino Servo Bibliothek #include <UTFT.h> // http://playground.arduino.cc/Code/SimpleTimer> extern uint8_t BIGFONT []; const int throttlePin = A11; Servo esc; const int escPWRSwitch = 16; const int escPWR = A13; flüchtigen Byte Umdrehungen; unsigned int min; unsigned long timeold; Float-Spannung; const int voltagePin = A9; schweben Strom; const int currentPin = A10; UTFT myGLCD (ITDB32S, 38,39,40,41); Lang previousMillis = 0; langes Intervall = 300; Simpletimer; FancyLED left_1 = FancyLED (8, HIGH); FancyLED left_2 = FancyLED (6, HIGH); FancyLED right_1 = FancyLED (11, HIGH); FancyLED right_2 = FancyLED (7, HIGH); FancyLED brake_1 = FancyLED (3, HIGH); FancyLED brake_2 = FancyLED (10, HIGH); FancyLED brake_ind = FancyLED (44, HIGH); const int Joystick = A14; int Getriebe = 0; int Drossel = 34; Lang indicatorInterval; int leftIndicatorF; int rightIndicatorF; // R - 11,7 (L - 8,6) int indicatorState; Leere setup () { esc.attach (45); pinMode (escPWR, OUTPUT); pinMode (A1, Ausgang); pinMode (A2, OUTPUT); pinMode (A3, OUTPUT); pinMode (A4, Ausgang); pinMode (A5, OUTPUT); pinMode (A6, OUTPUT); pinMode (A12, Ausgang); </ p> <p> digital (escPWR, HIGH); myGLCD.InitLCD (PORTRAIT); myGLCD.setFont (BIGFONT); left_1.turnOff (); left_2.turnOff (); right_1.turnOff (); right_2.turnOff (); leftIndicatorF = timer.setInterval (450, leftIndicatorFunct); rightIndicatorF = timer.setInterval (450, rightIndicatorFunct); timer.disable (rightIndicatorF); timer.disable (leftIndicatorF); </ p> <p> myGLCD.clrScr (); myGLCD.fillScr (255, 0, 0); myGLCD.setColor (255, 255, 255); myGLCD.setBackColor (255, 0, 0); ///// Wenn Override-Taste während des Startvorgangs gehalten wird, geben Sie "Basisbetrieb" - nur Gas und Display sind funktional int basic_test = digitalRead (14); if (basic_test == HIGH) { myGLCD.print ("Basic Mode", Mitte, Mitte); pinMode (13, OUTPUT); </ p> <p> digital (13, HIGH); einfach (); } } Leere Schleife () { ////////// Strom = ((analogRead (currentPin))); ///////// Spannung = (analogRead (voltagePin)) * (0,02441); ////////// if (digitalRead (escPWRSwitch) == HIGH) { digital (escPWR, LOW); } else { digital (escPWR, HIGH); } /////////// </ p> <p> Drossel = analogRead (throttlePin); Drossel = map (Drossel, 0, 1023, 0, 179); </ p> <p> Wenn (Getriebe> 0) { if (Drossel> 35) { Drossel = map (Gas, 0, 179, 35, ((140/8) * Getriebe) 40); } } else if (Getriebe == 0) { Drossel = 34; } else if (Getriebe == -1) { Drossel = 34; </ p> <p>} else if (Getriebe == -2) { Drossel = 0; } </ p> <p> if (analogRead (A8)> 1000) { esc.write (Gas); } sonst { esc.write (34); } </ p> <p> ////////////// unsigned long currentMillis = millis (); int joystick_val = analogRead (Joystick); </ p> <p> if (currentMillis - previousMillis> Intervall) { if (joystick_val <1000) { if (830 <joystick_val) { // up if (Getriebe <8 && Getriebe> 0) { Getriebe ++; } else if (Gang! = 8) { Getriebe = 1; } </ p> <p>} else if (680 <joystick_val) { // nach unten if (Getriebe> 1) { GANG--; } } else if (350 <joystick_val) { // nach links (rückwärts) Getriebe = -1; } </ p> <p> else if (70 <joystick_val) { //Recht if (Getriebe == 0) { Getriebe = -2; } else { Getriebe = 0; } }} } ////////////// if (Getriebe == 1) { digital (A3, LOW); digital (A2, HOCH); digital (A6, LOW); digital (A4, HIGH); digital (A1, LOW); digital (A12, LOW); digital (A5, LOW); </ p> <p>} else if (Getriebe == 2) { digital (A3, HOCH); digital (A2, LOW); digital (A6, HIGH); digital (A4, HIGH); digital (A1, HOCH); digital (A12, LOW); digital (A5, HIGH); </ p> <p>} else if (Getriebe == 3) { digital (A3, HOCH); digital (A2, LOW); digital (A6, HIGH); digital (A4, LOW); digital (A1, HOCH); digital (A12, HIGH); digital (A5, HIGH); </ p> <p>} else if (Getriebe == 4) { digital (A3, LOW); digital (A2, HOCH); digital (A6, HIGH); digital (A4, LOW); digital (A1, LOW); digital (A12, HIGH); digital (A5, HIGH); </ p> <p>} else if (Getriebe == 5) { digital (A3, HOCH); digital (A2, HOCH); digital (A6, HIGH); digital (A4, LOW); digital (A1, HOCH); digital (A12, HIGH); digital (A5, LOW); </ p> <p>} else if (Getriebe == 6) { digital (A3, HOCH); digital (A2, HOCH); digital (A6, HIGH); digital (A4, HIGH); digital (A1, HOCH); digital (A12, HIGH); digital (A5, LOW); </ p> <p>} else if (Getriebe == 7) { digital (A3, HOCH); digital (A2, LOW); digital (A6, LOW); digital (A4, LOW); digital (A1, LOW); digital (A12, HIGH); digital (A5, HIGH); </ p> <p>} else if (Getriebe == 8) { digital (A3, HOCH); digital (A2, HOCH); digital (A6, HIGH); digital (A4, HIGH); digital (A1, HOCH); digital (A12, HIGH); digital (A5, HIGH); </ p> <p>} else if (Getriebe == 0) { digital (A3, LOW); digital (A2, LOW); digital (A6, HIGH); digital (A4, HIGH); digital (A1, LOW); digital (A12, HIGH); digital (A5, LOW); </ p> <p>} else if (Getriebe == -2) { digital (A3, HOCH); digital (A2, HOCH); digital (A6, HIGH); digital (A4, HIGH); digital (A1, LOW); digital (A12, LOW); digital (A5, HIGH); </ p> <p>} else if (Getriebe == -1) { digital (A3, HOCH); digital (A2, HOCH); digital (A6, HIGH); digital (A4, HIGH); digital (A1, LOW); digital (A12, HIGH); digital (A5, HIGH); </ p> <p>} </ p> <p> ////////////// if (analogRead (A15)> 1000) { digital (12, HOCH); digital (4, HIGH); digital (5, HIGH); digital (9, HOCH); } else if (analogRead (A15) <10) { digital (12, LOW); digital (4, LOW); digital (5, LOW); digital (9, LOW); } sonst { analogWrite (12, 128); analogWrite (4, 128); analogWrite (5, 128); analogWrite (9, 128); } </ p> <p> ////////////// if (digitalRead (15) == HIGH) { timer.enable (rightIndicatorF); timer.enable (leftIndicatorF); indicatorState = 1; } else if (timer.isEnabled (leftIndicatorF) && timer.isEnabled (rightIndicatorF) && digitalRead (15) == LOW) { timer.disable (rightIndicatorF); timer.disable (leftIndicatorF); left_1.turnOff (); left_2.turnOff (); right_1.turnOff (); right_2.turnOff (); indicatorState = 0; } else if ((analogRead (A7)> 1000 || analogRead (A7) <10) && indicatorInterval == 0) { indicatorInterval = millis (); } </ p> <p> if (millis () - indicatorInterval> 250 && indicatorInterval = 0) { if (analogRead (A7)> 990) { timer.toggle (leftIndicatorF); if (! timer.isEnabled (leftIndicatorF)) { left_1.turnOff (); left_2.turnOff (); indicatorState = 0; } sonst {IndicatorState = 2; } timer.disable (rightIndicatorF); right_1.turnOff (); right_2.turnOff (); </ p> <p>} else if (analogRead (A7) <30) { timer.toggle (rightIndicatorF); (! timer.isEnabled (rightIndicatorF)) </ p> <p>, wenn { right_1.turnOff (); right_2.turnOff (); indicatorState = 0; </ p> <p>} sonst {IndicatorState = 3; } timer.disable (leftIndicatorF); left_1.turnOff (); left_2.turnOff (); </ p> <p>} indicatorInterval = 0; } timer.run (); ////////////// if (Drossel <35 || digitalRead (16) == LOW || analogRead (A8) <1000) { brake_1.turnOn (); brake_2.turnOn (); brake_ind.turnOn (); } sonst { brake_1.turnOff (); brake_2.turnOff (); brake_ind.turnOff (); </ p> <p>} //////////// </ p> <p> if (currentMillis - previousMillis> Intervall) { previousMillis = currentMillis; myGLCD.printNumF (Spannung, 3, CENTER, 10); if (digitalRead (16) == HIGH) { myGLCD.print ("ESC ON", CENTER, 40); } sonst { myGLCD.print ("ESC OFF", CENTER, 40); } if (analogRead (A8)> 1000) { myGLCD.print ("ACTIVE", CENTER, 70); } sonst { myGLCD.print ("", CENTER, 70); } if (analogRead (A15)> 1000) { myGLCD.print ("SCHEINWERFER 100%", CENTER, 100); } else if (analogRead (A15) <10) { myGLCD.print ("SCHEINWERFER AUS", CENTER, 100); } sonst { myGLCD.print ("SCHEINWERFER 50%", CENTER, 100); } ///////// if (indicatorState == 1) { myGLCD.print ("GEFAHREN", CENTER, 170); } else if (indicatorState == 2) { myGLCD.print ("<------", CENTER, 170); } else if (indicatorState == 3) { myGLCD.print ("------>", CENTER, 170); } else if (indicatorState == 0) { myGLCD.print ("", CENTER, 170); } if (Spannung <18,5) { myGLCD.print ("LV WARNING", CENTER, 200); } sonst { myGLCD.print ("", CENTER, 200); } myGLCD.printNumI (Drossel, CENTER, 140, 3); myGLCD.printNumI (Getriebe, CENTER, 240, 3); </ p> <p> myGLCD.printNumF (Strom, 3, CENTER, 280); } //////////// } </ p> <p> void leftIndicatorFunct () { left_1.toggle (); left_2.toggle (); } </ p> <p> void rightIndicatorFunct () { right_1.toggle (); right_2.toggle (); } </ p> <p> void Grund () { ////// Grundmodus für Testzwecke digital (escPWR, LOW); </ p> <p> while (true) { Drossel = analogRead (throttlePin); </ p> <p> Drossel = map (Drossel, 0, 1023, 0, 179); myGLCD.printNumI (Drossel, CENTER, 140, 3); </ p> <p> esc.write (Gas); } } </ p>

                              7 Schritt:Schritt 1: Materialien Schritt 2: Elektronik Schritt 3: Mechanical Design Schritt 4: Arduino Sketch - Cube Solving Algorithm Schritt 5: Python GUI Schritt 6: Verbinden sie alle - Serielle Kommunikation Schritt 7: So verwenden Sie

                              Also hier ist ein Projekt, das ich gearbeitet habe für eine Weile ... Dieser Roboter, die ein Zauberwürfel zu lösen, kann mit Arduino. Ich habe gelernt, wie man einen Rubiks Cube lösen im letzten Jahr, und ich war auch in Arduino, so schließlich landete ich mit einer Idee zu meiner eigenen Zauberwürfel Löser zu machen. Wie viele Menschen auf der Suche nach "Zauberwürfel Solver" auf Google, einer der ersten Roboter ich fand, war der gekippten Twister Design von Hans Andersson: Ich sah mich auf einige andere Zauberwürfel Löser, aber ich wegen seiner (relativen) Einfachheit mochte diesen Entwurf, also baute ich eine ähnliche Version davon mit Popsicle Sticks, einem Arduino und 2 Servos. Am Ende nimmt meine Roboter ca. 20 Minuten, um den Würfel Staat und solve.Step 1 eingeben: Baustoffe Elektronik: - Arduino UNO R3 - 2 Servos (I verwendet Hitec HS-311 ist) - Drähte - USB Kabel Sie können alle diese Teile aus jeder Robotik Laden zu bekommen. Ich habe sie von canadarobotix.com Hardware: - Popsicle Sticks - Holzspieße - Dünnes Sperrholz - Holzrad (Spieß muss in das Loch zu passen) - Heißkleber - Papierhandtuchrolle Software: - Arduino IDE - (Algorithmen in C ++) - Python 2.7+ und Tkinter - (GUI) - PyserialStep 2: Elektronik Verdrahtung der Servos an den Arduino ist ziemlich einfach 1. Schließen Sie die gelbe (Signal) Drähte von den Schub- und Dreh Servos an Pin 6 bzw. 9. 2. Schließen Sie die positiven und negativen Leitungen an den 5V-Stromquelle und Masse. Manchmal hatten die Servos Nervosität, so dass ich denke, ein paar Kondensatoren könnten die current.Step 3 geglättet haben: Mechanical Design Ich sah ein paar Entwürfe, sondern ließ sich auf dem Tilted Twister, weil es nur erforderlich, 2 Servos für den Betrieb, die als komplexe mechanisch wie andere Roboter wie der nicht war CubeStormer. Also hier ist, wie der Mechanismus funktioniert im Grunde: 1. Eine Plattform hält und dreht den Würfel. 2. Der Arm drückt und hält den Würfel. Als ich versuchte, den Solver zu bauen, habe ich versucht, Bauanleitung hier folgen: Aber ich war ziemlich faul und nicht folgen Sie den Anweisungen, also machte ich eine hölzerne Nachbildung mit ein paar Veränderungen. Ich habe nicht jeden Schritt der Build-Prozess dokumentiert, aber ich glaube, Sie können die geneigten Twister-Design mit ein paar Veränderungen zu reproduzieren: 1. Slanted klebt an den Würfel von Hängenbleiben zu vermeiden. 2. Um die Armgelenken zu bauen, - Ich bohrte ein Loch in Enden der Popsicle Sticks. - Ich schnitt 2 cm von einem Holzstäbchen. - Ich habe den Spieß in den Stöcken - Geklebte Holzräder, die als Scheiben an jedem Ende zu handeln. Ehrlich Aufbau der physische Löser war viel schwieriger und komplexer, als ich erwartet hatte, so dass, wenn Sie irgendwelche Fragen auf, wie ich baute die Solver, nur ask.Step 4: Arduino Sketch - Cube Solving Algorithm [Code: https://github.com/matt2uy/Cube-Solver] Also im Grunde der Code schrieb ich verwendet Kombinationen drückt hält und Plattformdrehungen um Algorithmen, um den Würfel gelten. Es gibt 3 Teile meines Codes: die algortihm, GUI (Geben Sie cube Zustand) und die serielle Kommunikation Beginnen wir mit dem beginnen Arduino Sketch. Es benutzt im Grunde Algorithmen, um die Cube-Farben manipulieren: 1. Es gibt 6 char-Arrays jeweils für Seite des Würfels. 2. Mit einem Grund Schicht für Schicht-Methode von den Zauberwürfel zu lösen, eine Funktion, cube_decide () machte ich, geht, dass in jeder Phase oder den Cube Lösungsprozess. 3. Innerhalb jeder Stufe wie cube_decide_cross () (die Lösung des grenz), würde das Programm für bestimmte Standorte von Farben in dem Würfel zu überprüfen, und wenn ein Algorithmus mit der Bedingung, würfel-Notation wie "U" (Up) oder abgestimmt gesamten Algorithmen, wie fix_cross_instance_1 () würde ausgeführt werden. 4. Der Würfel Notation und Algorithmen steuern die Servofunktionen wie push_cube () oder rotate_one (). Hier ist eine grundlegende Übersicht über die Codestruktur (Abstraktionsschichten): Cube Entscheiden Funktionen <Cube Algorithmen <Cube verschieben Funktionen <Servo-Funktionen <Move-Funktion Ein wichtiger Durchbruch ich hatte, war, dass ich tatsächlich Bewegungen des Würfels simuliert im Programm. Das Programm ordnet die Werte in den Arrays zu simulieren und Würfeldrehung. Auf diese Weise kann das Programm den Würfel bewegen zu simulieren, bevor es physisch führt it.Step 5: Python GUI Ich brauchte eine bessere Möglichkeit der Eingabe der Würfel Staat als direkte Eingabe sie in die Arduino Sketch, so bekam ich die Idee der Schaffung einer GUI von diesem Roboter: Denn ich bin neu zu machen Tkinter GUI (Graphical User Interface) und wollte nicht zu einem von Grund auf neu zu machen, fand ich ein Tic Tac Toe-GUI hier: http://www.dzone.com/snippets/gui-tic- tac-toe-weniger ... Dann drehte ich die 3x3-Anordnung von Tasten in etwas einen Würfel ähnlich und fügte ein paar Knöpfe. Ich habe auch Schaltflächen, die Farbe jedesmal, wenn sie angeklickt wurden verändern sollte. Schließlich machte ich 5 weitere Fenster, die Pop-up würde eine nach der anderen, und übertragen Sie die in ein lokales Array in das Skript eingegeben Farben. Allerdings, ich schlug den Code zusammen in einem Durcheinander, da ich einfach kopieren und eingefügt 6 separaten Fenstern, mit fast identischen Funktionen. Alle Vorschläge, wie ich konnte bereinigen Sie den Code sind willkommen Schritt 6: Verbinden sie alle - Serielle Kommunikation! Sobald der Algorithmus in der Arduino Sketch und die Python-GUI bereit waren, brauchte ich etwas, etwas, das den Würfel Zustand von der GUI gesammelt verwenden und übertragen sie an die Arduino Sketch würde. Nachdem die Skizze die Daten empfängt, kann er den Würfel Zustand durch die Algorithmen setzen und den Würfel physisch zu lösen. Um das zu tun, habe ich eine Bibliothek namens pyserial, die hilft, meine Python-Skript kommunizieren mit dem Arduino über eine serielle Schnittstelle. Im Grunde ist dies, wie ich kodiert die die serielle Kommunikation: 1. Nach den Würfelfarben wurden in der GUI in eingegebenen Send_Cube_State.py, in einen String umgewandelt ich die Daten 2. Verwendet ein "Handshake", die in diesem Fall die Arduino sagt dem Computer, es ist bereit, dann den Computer überträgt die Daten an den Roboter. 3. Der Arduino wandelt die in Zeichen, die auf Arrays in der Skizze zugeordnet sind, erhalten String. 4. Nun, da die Würfelfarben wurden erfolgreich aus dem Computer auf die Arduino übertragen, die Würfelfarben können durch die Algorithmen zu setzen und zu lösen, die Rubiks cube.Step 7: So verwenden Sie Wenn Sie versuchen, den Roboter selbst zu bauen sind, oder einfach nur versuchen, den Code, hier ist eine Checkliste, um Ihnen zu helfen: 1. Downloaden und installieren Sie diese Pakete und Anwendungen - Arduino IDE (http://arduino.cc/en/Main/Software) - Python 2.7 (Tkinter ist enthalten) (https://www.python.org/downloads/) - Pyserial (https://pypi.python.org/pypi/pyserial) 2. Laden Sie die Quelldateien hier: https://github.com/matt2uy/Cube-Solver 3. Kopieren Sie Cube_Solver.cpp auf die Arduino IDE. 4. Stecken Sie das Arduino in und laden Sie die Skizze. 5. Gleich nach dem Hochladen, beachten Sie die serielle Port-Nummer in der unteren rechten Ecke. (Siehe Bild oben) 6. In Send_Cube_State.py, ändern Sie die Adresse in der Leitung 18, um die Zahl auf der IDE lassen. (Siehe Bild oben) 7. Öffnen Sie die Eingabeaufforderung (Windows) oder Terminal (Mac / Linux) 8. Sie in das Verzeichnis, wo Sie setzen in die Quelldateien gehen: - Mit dem Befehl 'cd', zum Beispiel: - CD 'path / to / Cube-Solver' 9. Führen Sie das Skript mit .py: python send_cube_state.py 10. Wenn Sie sehen, eine Reihe von "y ist als Druck auf dem Bildschirm: - Warten Sie ca. 5 Sekunden - Verlassen Sie mit Strg-C oder Befehl-C - Wiederholen Sie Schritt 9 erneut. - Es sollte ein GUI, das zeigt sein. 11. Geben Sie die Cube Farben in der richtigen Orientierung: Farbe in Vorder | auf Top Farbe 1. Yellow | Blau 2. Weiß | Grüne 3. Blau | Weiß 4. Rot | Weiß 5. Green | Weiß 6. orange | Weiß 12. Setzen Sie den Würfel in der Solver in der Orientierung hier zu sehen: http://goo.gl/tSqSpp 13. Klicken Sie auf 'Lösen Sie!' 14. Wenn das nicht funktioniert: - Kopieren Sie Cube_Solver_No_GUI.cpp auf die Arduino IDE - Im Einklang 32-54, geben Sie die Cube-Farben in der gleichen Konvention wie in Schritt 11. - Führen Sie Schritt 12 - Laden Sie die Skizze auf das Arduino.

                                1 Schritt:

                                Alle 7 Artikel anzeigen Dies ist ein animatronic Hand I gebaut. Die Finger, die Handfläche und der Unterarm sind ganz aus Holz (Pappel genau zu sein). Die Finger werden durch Sehnen (Angelschnur), die durch Motoren gezogen artikuliert. Im Moment werden die 5-Servomotoren mit einem Arduino UNO kontrolliert. Dieser Prototyp kann eine gute Menge von verschiedenen "Griffe" durchzuführen und zu nehmen oder kneifen so ziemlich alles. Die Hand als eine erstaunliche Menge an Kraft, auch wenn die Teile aus Holz. Insgesamt ist es eine sehr kompakte und starke Hand, und ich bin wirklich glücklich mit den Ergebnissen. Fühlen Sie sich frei, um Fragen darüber zu stellen! Ich bin nicht wirklich in das Schreiben Hunderte von Zeilen der Dokumentation über das, was ich mache, so gehen Sie vor! Vielen Dank für Ihr Interesse und auf rockin 'zu halten!

                                  1 Schritt:

                                  Ich habe durch viele Tutorials online zu lesen, um ein Arduino Clone auf ein Steckbrett zu machen, und einige von ihnen sind groß, aber keiner von ihnen wirklich scheinen alles zu haben, also werde ich versuchen, sie alle hier zusammen zu bringen und bieten eine Anleitung mit Schaltplänen, Steckbrett Bilder und Beschreibungen aller Materialien. Meine Empfehlung: Bevor Sie versuchen, Ihre eigenen zu machen, kaufen ein. Es ist viel einfacher, dies zu beheben, wenn Sie wissen, wie es funktioniert und was los ist. Wenn Sie ein kaufen oder auch nur ausleihen und haben eine Chance, mit ihm zu spielen, laden Sie einige Programme, testen sie alle aus, wird es viel einfacher zu beheben, was falsch ist, wenn Sie mit dem Entwurf beginnen. Schritt 1: Was wird benötigt Hier finden Sie eine Liste aller für dieses Lernprogramm benötigten Materialien. Der nächste Schritt wird mehr in die Tiefe der einzelnen Komponenten, was notwendig ist zu gehen, und was geändert werden kann. Komponenten: 1. 1 x LM1117T-3.3 / NOPB Voltage Regulator (3,3 V) 2. 1 x LM7805CT Spannungsregler (5 V) 3. 1 x LED RED 4. 1 x LED grün 5. 2 x 220 Ohm Widerstand 6. 1 x 10k Ohm Widerstand 7. 4 x 10 uF Kondensator 8. 2 x 22 pF-Kondensator 9. 1 x 16-MHz-Taktkristall 10. 1 x Atmel ATmega328P-PU-AVR-Mikrocontroller Arduino Bootloader 11. 1 x 28 Kontakt DIP-Sockel 12. 1 x 9 Volt Battery Connector 13. 1 x 9 Volt Batterie Auch erforderlich (nicht im BOM enthalten): 14. 22 AWG 15. 5 Pin Header 16. 1 x kleine momentane Schließer ("off") Taste 17. 1 x FTDI FT232 USB Breakout Board 18. Breadboard (Prototyping-Board) Schritt 2: Die Komponenten Jede Komponente wird Thema für einige persönliche Anpassungen sein. Es gibt einige grundlegende Parameter, die Sie benötigen, um für jeden gerecht zu werden, aber es gibt auch Dinge, die, je nach Ihren Wünschen oder Anforderungen geändert werden können. Ich werde jetzt ins Detail der einzelnen Komponenten zu gehen und erklären, was für das System, was möglicherweise nicht erforderlich erforderlich und welche Parameter Sie aufpassen müssen. Bei der Einstellung auf die Komponenten beobachten Sie die Original-Spezifikationen für sie und einen Blick auf den Datenblättern zu den Komponenten zu vergleichen. Die Datenblätter können leicht auf dem Newark Website. Folgen Sie dem Link auf die Produktseite in der Stückliste und suchen Sie die "Technical Data Sheet" pdf. LM1117T-3.3 / NOPB Voltage Regulator (3,3 V) Diese Komponente ist ein Spannungsregler, der 5 V zu 3,3 Volt umwandelt. Dieser Spannungsregler ist nicht erforderlich. Ich lege sie in meine System für Komponenten, die 3,3 Volt Strom später auf der Straße erfordern. Sie können wählen, ob Sie es brauchen oder nicht, basierend auf Ihren Anforderungen. Wenn Sie sich nicht mit diesen, können Sie auch zwei der 10 uF Kondensatoren aus der Stückliste zu entfernen. LM7805CT Spannungsregler (5 V) Diese Komponente ist ein Spannungsregler, der 10 Volt (oder aus 9 Volt Leistung) bis 5 Volt umwandelt. Dadurch werden alle Komponenten, die 5 Volt Strom zusammen mit unserer gesamten Bord benötigen Energie. Dieser Regler ist für dieses Lernprogramm notwendig. Die CT auf der Produkt-ID ist nicht wichtig, nur, dass es ein LM7805 Spannungsregler. LED RED Dies wird eine Anzeige-LED für Macht. Sie können eine beliebige Standard-LED Sie möchten, zielen darauf ab, die Vorwärtsbetriebsspannung etwa 2,2 Volt haben zu wählen, aber es wird wirklich funktionieren, solange es unter 5 Volt. LED GREEN Dies wird eine weitere Anzeige LED sein. Sie können eine beliebige Standard-LED Sie möchten, zielen darauf ab, die Vorwärtsbetriebsspannung etwa 2,2 Volt haben zu wählen, aber es wird wirklich funktionieren, solange es unter 5 Volt. 220 Ohm Widerstand Diese werden verwendet, um den Strom zu den LEDs zu begrenzen. Nicht viel zu erklären. Nehmen Sie einfach ¼ Watt 220 Ohm Widerstände. 10k Ohm Widerstand Dieser Widerstand wird zum Reset-Taste benutzt werden. Nicht viel zu entweder zu erklären. Einfach nur ein ¼ Watt 10 kOhm-Widerstand 10 uF Kondensator Diese Kondensatoren gehen, um im Leistungsteil von unserem Board verwendet werden. Sie werden verwendet, um die Eingangs- und Ausgangsleistung an jeden der Spannungsregler zu konditionieren. Das System würde wahrscheinlich immer noch, ohne sie zu arbeiten, aber es wird dringend empfohlen, die Sie ihnen verwendet. Nur müssen jede 10 uF Elektrolytkondensator, der für 10 Volt oder höher bewertet wird. Wenn Sie nicht mit dem 3.3 Spannungsregler sind Sie nur noch zum Kauf 2 davon. (2 für jede Spannungsregler) 22 pF-Kondensator Diese werden auf das Zeitsteuerungssystem verwendet wird. Sie werden benötigt, um es richtig zu bedienen. Sie sollten zwei Keramik 22 pF Kondensatoren erhalten. 16-MHz-Taktkristall Dies ist die wichtigste Komponente in der Ventilsteuerung. Es ist erforderlich, dass der Prozessor korrekt mit dem Arduino-Programmierer arbeiten. Sie können eine beliebige Standard-16-MHz-Taktkristall mit zwei Stiften erwerben. Atmel ATmega328P-PU-AVR-Mikrocontroller Arduino Bootloader Dies ist der Hauptteil in unserem System des Mikrocontrollers. Der ATmega328 ist der gleiche Chip in der Arduino UNO eingesetzt. In der Stückliste habe ich die ATmega328P-PU mit Arduino Bootloader Vorinstallierte aufgenommen. Das bedeutet, Sie werden in der Lage, es mit der Arduino Software verdrahten und Programm es ohne zusätzliche spezielle Ausrüstung benötigen. Wenn Sie möchten, können Sie eine leere ATmega328P-PU zu kaufen, aber Sie müssen dann eine ISP-Programmer verwenden, um den Arduino Bootloader zu laden. Ich werde dies später mehr decken. 28 Kontakt DIP-Sockel Dies ist einfach eine Aufnahme für das ATmega328 Chip. Es ist eigentlich nur notwendig, wenn Sie auf Löten des Chips auf einem Brett zu planen. Wenn Sie den Chip auf einem Versuchsaufbau nur dort, wo Löten nicht erfolgen verwenden möchten, dann müssen Sie nicht diesen Teil. 9 Volt Battery Connector Jede Art von 9 Volt Batterie-Anschluss funktioniert. Ich habe mich entschieden ein einfaches Stecker mit Draht führt in der Stückliste. 9 Volt Batterie Alle 9 Volt Batterie funktioniert. Ich entschied mich für meinen basiert off Preis, zu dem Kaufzeit. 22 AWG Dies wurde aus der Stückliste ausgeschlossen, da hatte ich einige schon. Jede Art von Prüfung oder Prototypen Draht sollte funktionieren. Sie können entweder kaufen Sie online bei Ihrem Auftrag oder in einem örtlichen Hobby-Shop, wenn Sie nicht in der Umgebung haben 5 Stiftleisten Dies ist notwendig, um den FTDI Breakout-Board zu verbinden. Hier werden wir unsere Einstellung Bord, so wird es 5 Pins ragte aus dem Brett, wo wir die Verbindung schnell und Programm zu machen. Jede Form von Header-Pins oder Litzen, die machen die Verbindung funktioniert. Wählen Sie einfach etwas einfach für Sie. Kleine momentanen Schließer-Taste ("off") Dies wurde aus der Stückliste ausgeschlossen, da hatte ich einen Haufen herumliegen. Man kann wirklich wählen Sie eine beliebige Schalt Sie möchten, solange es sich um eine Momentschalter, die normal offen oder ausgeschaltet ist. Sie können die, die ich später auf den Fotos zu sehen wählte. FTDI FT232 USB Breakout Board Sie brauchen eine FTDI Anschluss mit dem Arduino zu programmieren. Ich empfehle nur käuflich vom Sparkfun.com. Sie verfügen über hochwertige Ausstattung für gar nicht so schlecht Preisen. Suchen FTDI auf ihrer Website und nur sicherstellen, dass Sie die 5-Volt-Version erwerben. Breadboard (Prototyping-Board) Alle Standard-Breakout-Board oder Prototyping-Board Sie möchten, um Werke zu verwenden. Für uns zu testen und zu beheben auf nur etwas. Auch hier können Sie wählen, zu justieren oder weglassen alle Materialien, die Sie möchten, aber wenn man weiß nicht genau, was Sie tun wissen, würde ich empfehlen, nur den Kauf der genauen Stückliste. Als ich diesen Kauf die Gesamtkosten für alle meine Teile nur € 10, so ist es nicht schlecht, nur die gleiche Kauf zu tätigen. Schritt 3: Schematische Dieses Schema enthält alle der oben aufgeführten Teile. Einige von ihnen sind abgekürzt oder anders symbolisiert, nur auf die Werte und Namen auf sie schauen, um festzustellen, welche Teil ist dem. Wenn Sie mit einem Steckbrett sind, können Sie diese schematische als Referenz für jeden Pin-Verbindung verwenden. Ich würde dem Öffnen des Bildes in einem anderen Tab des Browsers empfehlen, so können Sie es leicht zu finden Außerdem habe ich einen Stift Mapping Darstellung sowohl für die Atmega328 Stifte und ihre entsprechenden Arduino Stiften befestigt. Seien Sie vorsichtig beim Verkabelung an die Stifte werden genannt. Die meiste Zeit werde ich gemeint sein, um den Atmega328 Pin-Nummern. Schritt 4: Montage des Vorstands â € "Teil 1 â €" Power Der erste Teil der Montage der Platine wird der Leistungsteil ist. Nehmen Sie sich LM7805 Spannungsregler und legen Sie sie irgendwo am Anfang Ihrer Brotbrett ähnlich, wie es auf dem Foto abgebildet. Wenn der Regler auf Sie gerichtet ist, ist die linke Pin der Eingang, der richtige Stift ist der Ausgang und der Mittelstift ist der Boden. Verbinden Sie Ihren 9-Volt-Batterie-Anschluss mit dem Eingang und Masse. Dann einen 10 uF Kondensator zwischen dem Eingang und Masse und ein weiteres zwischen dem Ausgang und Masse. Nächster Ort ein 220 Ohm Widerstand und die rote LED zwischen dem Ausgang und Masse des Reglers. Dies ist unsere Stromanzeige-LED. Stellen Sie sicher, der Stift, wo der Widerstand und LED verbunden sind getrennt von anderen Stiften, die wir bisher verwendet. Der Widerstand LED sollte einen Weg von der 5-Volt-Ausgang auf Masse und der kurzen Pin des LED sollte dabei sein, zu erden. Als nächstes können Sie die 5-Volt-Ausgang und Masse an den Schienen auf dem Steckbrett zu verbinden. Dies wird es uns ermöglichen, in den Strom und Masse von der gesamten Länge des Steckbrett tippen. Das war es für die 5-Volt-Netz. Für die 3,3-Volt-Netz (falls Sie es verwenden) folgen Sie einfach den gleichen Richtlinien wie für den 5-Volt-Strom mit Ausnahme der folgenden: Es ist nicht auf den Schaltplänen gezeigt, aber das gleiche Format, so dass Sie sollten in der Lage zu sein, repliziert er leicht. Die Pins sind DIFFERENT. Bitte lesen Sie das Datenblatt für die Belegung. Die Eingabe in die 3,3-Volt-Regler wird die Ausgabe des 5-Volt-Regler sein, brauchen Sie nicht eine Anzeige-LED, wenn Sie mögen, und Sie die Ausgabe der 3,3-Volt-Regler nicht zu befestigen, um den gleichen Schienen der 5-Volt-Regler angeheftet. Ich lass es einfach in einem kleinen Bereich auf der anderen Seite des Steckbrett für die Erschließung, wenn nötig. Schritt 5: Montage des Vorstands â € "Teil 2 â €" der Chip Wir werden nun werden indem die Haupt-Chip auf der Platine. Platzieren Sie den Chip über einen der Kanäle auf dem Brett, so dass die Stifte nicht kurzgeschlossen mit Stiften der Gegenseite. Nun die Macht, dem Chipsatz. Bitte beachten Sie, das sind die ATmega328 Pin-Nummern, sie nicht direkt entsprechen müssen, um den Arduino Pins. Sehen Sie die Abbildung für die Atmega328 Pin-out-Kennzeichnung. Es gibt zwei Orte, wo man, um sowohl Strom und Masse anschließen müssen, und wenn man sich die Schienen auf beiden Seiten des Steckbrett gesetzt wird dies sehr einfach. Sie müssen die Macht Pins 7 und 20 und Masse an den Pins 8 und 22 zu verbinden. Das war es für die Stromversorgung des eigentlichen Chip. Vor dem Einschalten der Stromversorgung, sicherzustellen, dass diese Verbindungen korrekt sind. Wenn Sie ihnen zu wechseln zufällig Sie den Chip heraus brennen und brauchen, um einen neuen zu kaufen. Schritt 6: Montage des Vorstands â € "Teil 3 â €" The Clock Wir werden nun Einrichten der Uhr-Kristall für den Chip. Dies kann uns ein wenig kompliziert, aber es ist einfacher, als es aussieht. Die Zapfen für die Kristall Stifte 9 und 10. Schließen Sie zunächst den Kristall zwischen diesen beiden Pins. Dann nehmen Sie die 22 pF Keramikkondensatoren und eine Verbindung einer aus jeder Pin mit Masse. Der einfachste Weg, dies zu tun ist, einfach eine Verbindung von dem Kanal der Stift eingeschaltet ist, um die Bodenschiene an der Seite. Werfen Sie einen Blick auf die Fotos zu sehen, wie ich das tat. Das war es für die Uhr, wenn Ihr Timing scheint ausgeschaltet zu sein beim Ausführen von Programmen kommen zurück, um diese und stellen Sie sicher, dass Sie es richtig angeschlossen und verwendet die richtigen Kondensatoren. Schritt 7: Montage des Vorstands â € "Teil 4 â €" die Reset-Taste Dies wird die Reset-Taste zum Zurücksetzen des Programms auf Ihrem Bord sein. Stellen Sie den Schalter (mir hat 4 Pins) über den gleichen Kanal Ihr Chip ist über oben. Schließen Sie einen Widerstand zwischen dem 5-Volt-Strom und der oberen linken Stift des Switch. Schließen Sie dann das gleiche oben links pin Ihrer Schalter auf Pin 1 des Chip (der Reset-Pin). Schließen Sie dann das unten links Stift des Schalters an Masse. Dieses Setup ermöglicht es Ihnen, Ihr Programm durch kurzzeitiges Drücken der Taste zurückgesetzt. Wenn Ihr Programm scheint nicht zu sein Anfahren, kann dies ein Ort, um zu überprüfen. Schritt 9: Montage des Vorstands â € "Teil 5 â €" Die FTDI-Header Dies wird der Ort für uns, um das FTDI Breakout Board anschließen zu programmieren out Bord sein. Wir müssen 4 Verbindungen herzustellen. Abholung ca. 6 Zeilen auf Ihrem Steckbrett, in dem Sie Kopf- oder Drähten zu platzieren, um zu verbinden. Die erste Verbindung wir Zeile 1. rufen Dies wird die obere Reihe zu sein. Sie können auf die schematische oder Bilder beziehen sich auf eine bessere Vorstellung davon zu bekommen. Schließen Sie die Zeile 1 auf Masse. Wir werden dann überspringen Sie die nächsten zwei Reihen. Schließen Sie Zeile 4 (TX) zu der ATmega328 die Pin 3. Schließen Reihe 5 (RX) auf der ATmega328 die Pin 2. Schließen Reihe 5 (DTR) durch ein 1 uF Elektrolytkondensator zu der ATmega328 ist Pin 1 (Reset Pin wir früher behandelt). Zwei wichtige Dinge zu wissen. Erstens sind wir nicht dem Anschließen des Netzstift. Wir tun dies, weil der Vorstand durch die Batterie zu jeder Zeit mit Strom versorgt werden und wir nicht über ein Sicherheitssystem eingerichtet, um zu verhindern, Kurzschließen der Batterie und Rechenleistung. Dies bedeutet, dass Sie immer Ihre Batterie angeschlossen ist, auch während der Programmierung es muss angeschlossen werden. Wenn Sie möchten, um den Computer an die Macht zu verwenden, entfernen Sie einfach die Batterie und schließen Sie das Netz (Zeile 3), um den Stromschienen auf dem Board. Zweitens, die DTR-Pin. Das Pin-Verbindung durch den Kondensator ermöglicht es dem Programm, um den Chip automatisch zurückgesetzt, während der Programmierung es. Wenn Sie nicht über diese Verbindung hergestellt Ihr Chip nicht programmieren und Sie erhalten eine Fehlermeldung. Alternativ können Sie die Reset-Taste auf dem Board bei der Programmierung drücken, aber diese Verbindung ist nur einfacher. Und das ist es für den Aufbau der Platine, können wir nun zum Programmieren des ersten Programms. ** Hinweis ** - Ich entschuldige mich für nicht darunter ein Bild von der FTDI Brett zu den Kopfstiften verbunden. Sie sollten in der Lage, aus der Verkabelung, die Erde ist, usw. zu erzählen, und legen Sie sie korrekt mit dem FTDI Bord sein, aber für die Hilfe ich werde erklären, dass bei der Anzeige Bild # 2, das erste Bild des Board Hier wird die FTDI Bord Top Fläche (mit dem Chip und LEDs an) würde mit Blick werden auf der rechten Seite. Schritt 10: Programmieren Sie Wir werden den freien Arduino-Software verwenden, um unsere Bordprogramm (weil wir bereits einen Chip mit dem Arduino Bootloader auf sie). Gehen Sie zu ihrer Website Arduino.cc und downloaden Sie die neueste Software. Wenn Sie die Software öffnen, wählen Sie das Menü Extras. Unter der Option "Board", wählen Sie "Arduino UNO". Sie müssen auch sicherstellen, dass die "Port" Anschluss korrekt ist. Wenn Sie können nicht sagen, was los ist mit ihm, versuchen Lesung am Arduino.cc Website zur Problembehandlung. Zu Testzwecken verwenden wir das Beispielprogramm Blinkt LED in unserem Vorstand zu testen. Wir müssen einen weiteren Widerstand zu nehmen und LED und verbinden Sie es von Arduino Pin 13 auf Masse (Put das kurze Ende der Diode an Masse). Laden Sie das Programm, indem Sie auf Datei >> >> Beispiele 1.Basics >> Blink oder indem Sie hier das Herunterladen und Öffnen sie. Es sollte identisch mit dem ersten Bild zu suchen. Schließen Sie das FTDI Anschluss und Hit hochladen und sehen was passiert. Denken Sie daran, dass entweder nur sollten Sie Ihre Batterie Verbindung hergestellt werden und nicht den FTDI Stromanschluss, oder umgekehrt. Wenn Sie alles richtig folgen und richtig gemacht die Verbindungen, sollte alles gut zu funktionieren. Einige Leuchten blinken und sobald die Software das Hochladen der LED beendet ist sollte blinken beginnen und aus. Wenn Sie eine Fehlermeldung erhalten, doppelte Überprüfung alle Verbindungen. Wenn Sie irgendwelche Lichter blinken Scheck, der Port, den Sie in der Software ausgewählt haben, nicht sehen, und stellen Sie sicher das FTDI Stecker korrekt angeschlossen ist. Wenn alles gut gegangen ist, und Sie sehen die LED an zu blinken, dann ist dieses Lernprogramms. Wenn nicht, auch leid, aber das ist, wo es mühsam wird. Sie müssen jede Verbindung zu beheben. Überprüfen Sie jeden, überprüfen Sie jede Komponente korrekt ist, versuchen Sie Ihre Themen auf Google, um zu sehen, ob jemand das gleiche Problem hatten. Ich kann die Beratung durch Nachrichten und Kommentare zu geben, aber es gibt nur so viel, was ich tun kann, ohne die Schaltung vor mir für Messing mit. Schritt 11: OPTIONAL - Programmierbootloader mit ISP Programmer Ich habe eine andere instructable bedeckt nur den ISP-Programmer geschrieben. Check it out hier, wenn Sie Interesse an der Nutzung dieser Technik sind. Vorteile: Kein Bootloader, die schnellere Inbetriebnahme / Reset-Zeiten bedeutet, Mehr Platz auf dem Chip zur Verfügung zu bedienen (den Raum der Bootloader verwendet werden, um zu verwenden) Nachteile: ein wenig mehr Arbeit Weitere Ausrüstung erforderlich DANKE SIR für das Ansehen DIES IST ANGELO CASIMIRO http://www.instructables.com/member/ASCAS/ MY CLAP gesteuerter Lüfter: https://www.youtube.com/watch?v=puDsuOVxMUg

                                    6 Schritt:Schritt 1: Anschließen der Knopf Schritt 2: Probennahme, Aufhebung von Störimpulsen und Lesestaaten Schritt 3: Erfassen von Kanten Schritt 4: Die Unterscheidung von Long Short Pressen Schritt 5: Hinzufügen von Buttons und Gehen OO Schritt 6: Fazit

                                    Was ist einfacher und dümmer als eine Schaltfläche, fragen Sie ... Ich sage: hinter einem Button, unerwartete Dinge verstecken. Und innerhalb eines Programms, das verschiedene Dinge tut, kann Umgang mit einer Schaltfläche tückisch sein. Das Schöne daran ist, dass interessante Funktionen mit einem einfachen stumme Taste eingebaut werden. Gegenüber Ereignissen Verkabelung und Konfiguration von Stiften, mit Pull-Up / Pull-Down-Widerstand, zur Aufhebung von Störimpulsen, Zustandserkennung, Erkennung lange drückt, und einige der objektorientierten Programmierung: Dieses Tutorial wird diese Aspekte anzugehen. Die Programmierung Ansatz basiert auf Abruf, beginnend mit den Arduino Schleife () Prinzip gefördert, und die für einfache bis mäßig komplexe Arduino Projekte durchaus akzeptabel ist. Wir werden die Dauer der einzelnen Schleife () Ausführung benötigen, um "fair" jedes Mal gleich sein. Weiter fortgeschrittene Implementierungen, die hier nicht behandelt, kann die Verwendung von Interrupts und Timer sind. Sie sind genauer, aber auch schwieriger zu verstehen. Dieses Tutorial ist es, Menschen mit einer grundlegenden ersten Arduino Erfahrungen bestimmt (dh mit Kenntnis der IDE und der Zusammenstellung, blinkende und Durchführung von Skizzen). In der folgenden ZIP-Datei können die vier Skizzen in diesem Tutorial finden. Schritt 1: Anschließen der Knopf Der Knopf Dies ist ein Taster mit einer stabilen Position (offen), wenn keine Kraft ausgeübt wird, und die Durchführung (geschlossen), wenn sie gedrückt. Es ist eine der einfachsten elektromechanischen Erfassungseinrichtung. Schließen Sie die Taste wie auf dem Foto von diesem Schritt veranschaulicht. (Lassen Sie sich durch die Größe meines Steckbrett beeindruckt sein. Ein kleines tatsächlich handlicher sein.) Die I / O Pin Der AVR (aka ATmega, dh der Atmel-Chip Stromversorgung des Arduino-Board) hat mehrere I / O-Pins. I / O bedeutet, dass sie frei von der Software als Eingang oder Ausgang konfiguriert werden. Pin 2 wird eine gute Wahl für unser Beispiel. Es wird verwendet, um den Zustand der Schaltfläche zu messen: gedrückt oder freigegeben wird. Pull-up Widerstand Der Stift muss irgendwo über den Button verbunden werden. Die Frage ist: wo. Eine erste Idee wäre, mit VCC zu gehen. VCC ist die übliche Bezeichnung für die Versorgungsspannung, hier 5V. Also, wenn die Taste gedrückt wird, würde der Stift mit VCC verbunden werden, und die Software würde lesen HOCH. Aber wenn die Taste losgelassen wird, wird der Stift verbunden zu nirgendwo, auch bekannt als "schwebend" und wird die Lärm ausgesetzt werden, und die Software wird gelesen HIGH und LOW auf unberechenbare Weise. So ist die Lösung, um einen so genannten Pull-up zu verwenden oder Pull-Down-Widerstand. Ein solcher Widerstand wird sichergestellt, dass der Stift immer nach GND oder VCC, direkt oder über den Widerstand verbunden ist, in Abhängigkeit von der Tastenposition. Glücklicherweise ist die AVR-Chip hat intern einen 20 kOhm-Pull-up-Widerstand, der dem Stift (intern) angeschlossen werden kann. Die Pin muss als Eingang konfiguriert werden, und sein Wert, in dieser Situation, sagt, ob die Pull-up wird (andernfalls wird der Wert definiert, wenn der Stift als Ausgang, seinen Ausgangszustand konfiguriert) angeschlossen ist. Mit diesem Pull-up, werden wir den Pin auf GND Verbindung über die Schaltfläche, und haben diese Situationen, wenn die Taste losgelassen wird, jeweils gepresst: Taste nicht gedrückt: VCC | 20K | | Innen | | Pull-up | _ | | | _____ Eingangs ---- * ------ o ----- --------- oo GND pin Freigabe Taste Eingabe von GND getrennt, so dass nur auf VCC über den Widerstand angeschlossen ist. Fließt kein Strom. Ohne den Ziehwiderstand wäre der Eingang als "schwimmend". Taste gedrückt: VCC |: 20K | |: Innen | |: Pull-up | _ |: einige Strom fließt | `- - - - - - - - - -> | Eingangs ---- * ------ --------- o o ----- o ----- GND Stift geschoben Taste Eingang wird nun direkt mit GND verbunden. Fließt ein Teil des Stroms durch den Widerstand. In beiden Fällen haben wir jetzt eine klar definierte Situation. Konsum Wenn die Taste gedrückt wird, wird der Widerstand einer Spannungsdifferenz gleich VCC, und ein Strom I fließt, ist: I = VCC / R = 5 / 20.000 = 0,25 mA Entsprechend dem Konsum der Leistung P: P = VCC 2 / R = 5 2 / 20.000 = 1,25 mW Dies ist nicht wesentlich und wird nur verbraucht, wenn die Taste gedrückt wird. Oft, Pull-up und Pull-down-Widerstände haben sogar größere Werte, verbrauchen somit weniger Strom. Wenn Sie nicht aus besonderen Gründen, Sie mit diesem handlichen 20k internen Pull-up. Polarität Hätten wir ein Pull-down zur Verfügung, würden wir den Stift auf VCC statt GND angeschlossen haben, und lesen Sie hoch auf Presse, die mehr logisch. Aber da wir eine Pull-up nur, wir müssen, um die Polarität durch Software umzukehren, an Pin Probenahme. Für mehr über I / O-Pins, folgen http://www.arduino.cc/en/Tutorial/DigitalPins. Programmierung Die Konfiguration des AVR Stift (als Eingabe und mit Pull-Up aktiviert) wird in dem folgenden Code beschrieben. Code ---------- 8 <---------- #define BUTTON_PIN 2 Leere setup () { ... pinMode (BUTTON_PIN, INPUT); digital (BUTTON_PIN, HIGH); // Verbinden internen Pull-up- ... } Leere Schleife () { ... } ----------> 8 ----------     Schritt 2: Probennahme, Aufhebung von Störimpulsen und Lesestaaten Glitches Tasten sind wie viele Dinge: unvollkommen. Selbst wenn sie eine feste mechanische Gefühl zu geben, erzeugen sie ein paar Schwingungen, wenn die Schaltfläche Position ändert. Diese Schwingungen werden Pannen oder Bounces genannt. Sie können durch Hinzufügen eines Kondensators (Einführung einer gewissen Verzögerung) oder durch Software eliminiert werden. Filterung nach Sampling Oft ist Ihr Arduino Anwendung loop () - basiert, also etwas tut, dann schläft Weile wiederholt. Die Schaltfläche Zustand Sampling-Code kann wie folgt aussehen: Leere Schleife () { // Griff-Taste boolean button_pressed = read_button (); // Andere Dinge tun do_stuff (button_pressed); // Schlafen einen Moment, bevor nächste Iteration Verzögerung (DELAY); } Dies bedeutet, dass zumindest zu verzögern Millisekunden vergehen zwischen aufeinanderfolgenden Abtastungen Taste. Je nach DELAY, das macht uns unsensibel gegenüber den Pannen. Das Ansprechverhalten ist nicht völlig genau, aber bei weitem ausreichend: es wird einige Jitter in der Größe zu verzögern. Es muss versichert, dass die Dinge, die wir während jeder Schleife zu tun nehmen Sie einen "kleinen" und vergleichbare Zeit für jede Iteration werden. Das erste Bild von diesem Schritt zeigt die Störungen und die periodische Abtastung (in blau dargestellt). Lesen des Zustands Der folgende Code zeigt, wie die regelmäßige Stichproben durchgeführt wird. Wenn der Knopf ist zu sehen, wie nicht gedrückt wird, wird ein Punkt an die serielle Schnittstelle gesendet werden; wenn der Knopf gedrückt wird, wie ersichtlich wird das Caret-Zeichen gesendet. Das zweite Bild von diesem Schritt zeigt den seriellen Ausgang, für einen langen Druck gefolgt von zwei kurzen Druckmaschinen. Programmierung In dem folgenden Code, Notiz, die ich habe einen Variablennamen (button_pressed), die einen hohen Abstraktionsebene (die Schaltfläche Zustand), und nicht den elektrischen Zustand ausgewählt (Taste, leitenden oder nicht, noch elektrische Größe auf dem Stift lesen), die wäre wegen der Tatsache, dass aufgrund der Pull-up-Widerstand, liest die HIGH, wenn die Taste losgelassen ist verwirrend. Pro / Contra Sehr einfache Implementierung. Geeignet für die kontinuierliche Steuerung (zB Bremspedal). Ungeeignet für inkrementale Steuerung (zB klingen inkrementelle Lautstärkeregelung) -, die im nächsten Schritt erklärt wird. Code ---------- 8 <---------- #define BUTTON_PIN 2 // Button- #define DELAY 20 // Verzögerung pro Schleife in ms Leere setup () { pinMode (BUTTON_PIN, INPUT); digital (BUTTON_PIN, HIGH); // Pull-up- Serial.begin (9600); } boolean handle_button () { int button_pressed = digitalRead (BUTTON_PIN!); // Pin Low -> gedrückt Rück button_pressed; } Leere Schleife () { // Griff-Taste boolean button_pressed = handle_button (); // Andere Dinge tun Serial.print (button_pressed "^":? "."); // Newline fügen manchmal static int counter = 0; if ((++ Gegen & 0x3f) == 0) Serial.println (); Verzögerung (DELAY); } ----------> 8 ----------     Schritt 3: Erfassen von Kanten Kanten Als wir an Kanten oder Übergänge fangen wollen, müssen wir das Programm von dem vorherigen Schritt ein wenig zu verbessern. Wir stellen eine globale Variable (button_was_pressed), die die letzte Lesezustand erinnert sich, so dass wir eine Zustandsänderung zu erkennen. In diesem Beispiel erkennen wir die Übergänge von nicht gepreßt, und wird sie durch ein Ereignis signalisieren, da auf das erste Bild dieses Schritts dargestellt. Programmierung Bei jeder Iteration, wenn wir ein Ereignis, wir werden einen Cursor an die serielle Schnittstelle, sonst einen Punkt zu senden. Siehe das zweite Bild von diesem Schritt. Auch für eine lange drücken und zwei kurzen Druckmaschinen. Beachten Sie, dass die lange Presse hat nur ein Ereignis generiert. In dem folgenden Code, beachten Sie auch, dass ich Variablennamen gewählt (button_now_pressed), die einen hohen Abstraktionsebene (die Schaltfläche Zustand), und nicht die der elektrische Zustand (Taste, leitenden oder nicht, noch elektrische Größe auf dem Stift lesen). Pro / Contra Noch einfache Implementierung. Die Einführung von globalen Variablen beginnt, um die Skalierbarkeit des Programms gefährden. Für einen Knopf, wenn auch noch ganz okay. Code ---------- 8 <---------- #define BUTTON_PIN 2 // Button- #define DELAY 20 // Verzögerung pro Schleife in ms boolean button_was_pressed; // Vorherigen Zustand Leere setup () { pinMode (BUTTON_PIN, INPUT); digital (BUTTON_PIN, HIGH); // Pull-up- Serial.begin (9600); button_was_pressed = false; } boolean handle_button () { boolean Ereignis; int button_now_pressed = digitalRead (BUTTON_PIN!); // Pin Low -> gedrückt event = button_now_pressed && button_was_pressed!; button_was_pressed = button_now_pressed; Rück Ereignis; } Leere Schleife () { // Griff-Taste boolean raising_edge = handle_button (); // Andere Dinge tun Serial.print (raising_edge "^":? "."); // Newline fügen manchmal static int counter = 0; if ((++ Gegen & 0x3f) == 0) Serial.println (); Verzögerung (DELAY); } ----------> 8 ----------     Schritt 4: Die Unterscheidung von Long Short Pressen Pulslänge Viele Geräte mit wenigen Kontrollen (zB Digitaluhren) packen mehrere Funktionen pro Taste. Es ist sehr nützlich, spart wertvolle Volumen, sondern müssen mit Bedacht verwendet werden, sonst kann das Gerät intuitiv zu bedienen sein. Die Unterscheidung kurz aus langPressen ist etwa die Messung der Pulslänge. Das Ereignis wird nicht mehr auf Tastendruck ausgesendet, sondern auf der Freigabe. Hiermit kann der Reaktionsfähigkeit beeinflussen. Aber bis nichtkausale Geräte können gekauft werden, können wir nicht vorhersagen, die Dauer und muss daher so vorgehen. Dies ist eine kombinierte Veranstaltung und staatlichen Umgang: wir erkennen die Zustandsänderung (ein Ereignis) und die Dauer, die das sich ergebende Zustand ist dauerhaft. Programmierung Also müssen wir eine weitere globale Variable (button_pressed_counter) einzuführen. Beachten Sie auch, dass das Ereignis nicht mehr einen booleschen Wert (Ereignis vorhanden ist oder nicht, wie im vorherigen Schritt), aber drei Staaten. Sie zeichnen sich durch eine Enumeration definiert. (Ich hatte Probleme Definition eines Aufzählungstyp;? Arduino-spezifisches Problem Also ich enum Konstanten definieren). Das erste Bild von diesem Schritt zeigen einen langen Druck und eine kurze Presse Timing, mit einem langen Druck Schwelle von 3 Abtastperioden (die viel zu kurz ist, aber geeignet, um der Zeichnung). Das zweite Bild zeigt den seriellen Ausgang für einen langen Druck gefolgt von zwei kurzen Druckmaschinen. Pro / Contra Schön verbessert die Button-Funktionalität (falls sinnvoll genutzt, um eine gute Usability zu gewährleisten). Aber der Code beginnt zu wachsen und durch globale Variablen verschmutzt zu werden ... Der nächste Schritt ist die OO-Variante, für die Skalierung vorgenommen. Code ---------- 8 <---------- #define BUTTON_PIN 2 // Button- #define LONGPRESS_LEN 25 // Min nr von Schleifen für eine lange Presse #define DELAY 20 // Verzögerung pro Schleife in ms enum {EV_NONE = 0 EV_SHORTPRESS, EV_LONGPRESS}; boolean button_was_pressed; // Vorherigen Zustand int button_pressed_counter; // Presselaufdauer Leere setup () { pinMode (BUTTON_PIN, INPUT); digital (BUTTON_PIN, HIGH); // Pull-up- Serial.begin (9600); button_was_pressed = false; button_pressed_counter = 0; } int handle_button () { int Ereignis; int button_now_pressed = digitalRead (BUTTON_PIN!); // Pin Low -> gedrückt if (! button_now_pressed && button_was_pressed) { if (button_pressed_counter <LONGPRESS_LEN) event = EV_SHORTPRESS; sonst event = EV_LONGPRESS; } sonst event = EV_NONE; if (button_now_pressed) ++ button_pressed_counter; sonst button_pressed_counter = 0; button_was_pressed = button_now_pressed; Rück Ereignis; } Leere Schleife () { // Griff-Taste boolean event = handle_button (); // Andere Dinge tun Schalter (event) { Bei EV_NONE: Serial.print ("."); Unterbrechung; Bei EV_SHORTPRESS: Serial.print ("S"); Unterbrechung; Bei EV_LONGPRESS: Serial.print ("L"); Unterbrechung; } // Newline fügen manchmal static int counter = 0; if ((++ Gegen & 0x3f) == 0) Serial.println (); Verzögerung (DELAY); } ----------> 8 ----------     Schritt 5: Hinzufügen von Buttons und Gehen OO Fragen Aufstockung Wie wir im vorherigen Schritt gesehen, ist es schwer zu zu skalieren. Es gibt globale Zustandsgrößen, die bei bestimmten Funktionen bezeichnet werden. Stellen Sie sich das Hinzufügen einer zweiten Taste: der Alptraum beginnt; nicht um eine dritte Taste, sprechen ... Programmierung: Gehen OO (objektorientierten) Arduino verwendet die Bearbeitungssprache auf der Oberseite des C ++ gebaut, also warum nicht einige OO-Features? Wir müssen diese globalen Variablen in Strukturen, die wir nach Belieben erstellen packen. Solche Strukturen, mit zugehörigen Handling-Funktionen sind Klassen und Methoden in der OO-Welt genannt. Eine Klasse ist nur die Beschreibung des Objekts, während die effektive Speicher für jedes Objekt zugewiesen wird als Beispiel. Das erste Bild von diesem Schritt zeigt, dass wir eine zweite Schaltfläche hinzu. Das zweite Bild zeigt die jetzt traditionellen Long / Short-Pressen, unabhängig zu arbeiten sehr schön. Die 2. Taste hat übrigens eine längere lang drücken Schwelle. Pro / Contra Dieser Code wird immer komplexer, was normal ist, da beim Skalieren hebt der Komplexität mit einem wesentlichen Schritt. Die gute Nachricht ist, dass es dann unterstützt eine beliebige Anzahl von zusätzlichen Tasten ohne die Komplexität zu erhöhen. Verarbeitungssätze einige Einschränkungen (zB gibt es keine dynamische Erstellung: der neue und löschen Betreiber sind nicht verfügbar). Welche ist nicht schlecht, denn wir wollen ja auch nicht in einige der besonders blutigen Seiten der C ++ verloren gehen, das sind (wohl) nicht notwendig in kleinen Embedded-Systeme wie Arduino. Sicher, das gleiche könnte in reinem C durchgeführt werden, so dass, wenn Sie / bevorzugen eine C Implementierung, nur mich fragen. Code ---------- 8 <---------- #define BUTTON1_PIN 2 // Button 1 #define BUTTON2_PIN 3 // Taste 2 #define DEFAULT_LONGPRESS_LEN 25 // Min nr von Schleifen für eine lange Presse #define DELAY 20 // Verzögerung pro Schleife in ms ////////////////////////////////////////////////// //////////////////////////// enum {EV_NONE = 0 EV_SHORTPRESS, EV_LONGPRESS}; ////////////////////////////////////////////////// //////////////////////////// // Klassendefinition Klasse ButtonHandler { Öffentlichkeit: // Konstruktor ButtonHandler (int Stift, int longpress_len = DEFAULT_LONGPRESS_LEN); // Initialisierung nach dem Bau durchgeführt, um statische Instanzen zulassen void init (); // Handler, um in der Schleife () aufgerufen werden int handle (); geschützt: boolean was_pressed; // Vorherigen Zustand int pressed_counter; // Presselaufdauer const int Stift; // Stift auf die Schaltfläche verbunden ist const int longpress_len; // Longpress Dauer }; ButtonHandler :: ButtonHandler (int p, int lp) : Pin (p), longpress_len (LP) { } Leere ButtonHandler :: init () { pinMode (Pin, INPUT); digital (Pin, HIGH); // Pull-up- was_pressed = false; pressed_counter = 0; } int ButtonHandler :: handle () { int Ereignis; int now_pressed = digitalRead (Pin)!; if (! now_pressed && was_pressed) { // Handle Release Event if (pressed_counter <longpress_len) event = EV_SHORTPRESS; sonst event = EV_LONGPRESS; } sonst event = EV_NONE; // Update Presse läuft Dauer if (now_pressed) ++ pressed_counter; sonst pressed_counter = 0; // Erinnern Zustand, und wir sind fertig was_pressed = now_pressed; Rück Ereignis; } ////////////////////////////////////////////////// //////////////////////////// // Instanzieren Tastenobjekte ButtonHandler button1 (BUTTON1_PIN); ButtonHandler button2 (BUTTON2_PIN, DEFAULT_LONGPRESS_LEN * 2); Leere setup () { Serial.begin (9600); // Init Knöpfe Stifte; Ich nehme an, es ist am besten, hier zu tun button1.init (); button2.init (); } Leere print_event (const char * button_name, int Ereignis) { if (Ereignis) Serial.print (button_name); Serial.print (". SL" [Event]); } Leere Schleife () { // Griff-Taste int event1 = button1.handle (); int event2 = button2.handle (); // Andere Dinge tun print_event ("1", event1); print_event ("2", event2); // Newline fügen manchmal static int counter = 0; if ((++ Gegen & 0x1f) == 0) Serial.println (); Verzögerung (DELAY); } ----------> 8 ----------     Schritt 6: Fazit Wenn Sie neu in die Programmierung und haben dieses Tutorial bisher gelesen habe, ein dickes Lob! zögern Sie nicht, um die vorgesehenen Codes zu studieren, sei kritisch, und Fragen stellen. Der vollständige Code-Archiv kann im Intro Schritt gefunden werden, und ist die Verbindung wieder hier: arduino--button_tut.zip Ich hoffe, dass Sie dieses kleine Tutorial genossen haben. Jetzt erhalten einige Schaltflächen, Programm etwas ehrfürchtig, und zeigen Sie uns, was Sie gemacht! Nützliche Links Eine kurze und grundlegende Artikel über programmierbare Ein- / Ausgangsstifte Arduino: http://www.arduino.cc/en/Tutorial/DigitalPins Eine eingehende Artikel über Eingangsstifte, Pull-up / down Widerstände, Pannen: http://www.ladyada.net/learn/arduino/lesson5.html Anreise eine schnelle Vorstellung von OO und C ++: http://www.mactech.com/articles/mactech/Vol.09/09.10/CPPBasics/index.html

                                      9 Schritt:Schritt 1: Schritt 2: Komponenten Schritt 3: Schaltplan Schritt 4: PCB Montage Schritt 5: Anbindung an arduino Schritt 6: Arduino Schaltplan Schritt 7: Arbeiten Video Schritt 8: Anwendungsbeispiel Schritt 9: Downloads

                                      Dies ist eine einfache, aber effektive IR Näherungssensor in der Umgebung des Moduls TSOP 1738. Das TSOP-Modul ist allgemein an dem Empfangsende eines IR-Fernsteuerungssystem gefunden wird; zB in TV, CD-Player etc. Diese Module erfordern, daß die ankommenden Daten mit einer bestimmten Frequenz moduliert sein und würde alle anderen IR-Signale zu ignorieren. Es ist auch immun gegen IR ligh t Ambient, so kann man einfach nutzen diese Sensoren im Außenbereich oder unter stark beleuchteten Bedingungen. Solche Module sind für verschiedene Trägerfrequenzen von 32 kHz bis 42 kHz zur Verfügung .. In diesem speziellen Näherungssensor, werden wir erzeugen einen konstanten Strom von Rechtecksignal mit IC555 bei 38 kHz zentriert ist und es verwenden, um zu fahren ein IR geführt. Also, wenn dieses Signal springt die Hindernisse, würde der Empfänger es zu erkennen und ändern Sie seinen Ausgang. Da das Modul TSOP 1738 arbeitet in der Active-Low-Konfiguration würde seinen Ausgang in der Regel hoch bleiben und gehen würde geringer, wenn es das Signal (das Hindernis) erkennt. Beschreibung Quelle: http://robotiks4u.blogspot.in/2008/05/this-is-simple-yet-effective-ir.htmlStep 1: Schritt 2: Komponenten Liste Komponenten 1, 555 ic 2, PCB 3, Widerstände 330Ohm, 100 Ohm 4, Kondensatoren 0.1uF, 0.02uf, 1uF 5, LED-IR-LED, LED-Gelb 6, Diode 1N4148 7, Preset Widerstände 5K, 1K 8, Steckverbinder 3-polig 9, TSOP Metall Typ 1738 [38 kHz IR Empfänger] 10, Schrumpfschlauch 11, Anschlussdrähte - 3 Schritt 3: Schaltplan Schritt 4: PCB Montage Alle 8 Artikel anzeigen PCB-Datei tatsächliche Größe Schritt 5: Anbindung an arduino // TSOP IR Sensortest - Arduino UNO-Programm const int buttonPin = 2; // Die Anzahl der Drucktaste pin const int ledPin = 12; // Die Anzahl der LED-pin // Variablen zu ändern: int Buttonstate = 0; // Variable zum Lesen der Drucktaste Status Leere Setup () { // Initialisierung der LED-Pin als Ausgang: pinMode (ledPin, OUTPUT); // Initialisierung der Drucktaste Pin als Eingang: pinMode (buttonPin, INPUT); // Initialisierung der seriellen Kommunikation mit 9600 bps: Serial.begin (9600); Serial.println ("TSOP IR Sensor Testing"); } Leere Schleife () { // Lesen Sie den Zustand des Druckknopf-Wert: Button = digitalRead (buttonPin); // Überprüfen, ob die Taste gedrückt wird. // Wenn ja, ist die Button HIGH: if (Button == HIGH) { // LED aus abbiegen: digital (ledPin, LOW); } else { // LED einzuschalten: digital (ledPin, HIGH); Serial.println ("Sensor aktiv"); } } Schritt 6: Arduino Schaltplan Schritt 7: Arbeiten Video Schritt 8: Anwendungsbeispiel Robocar mit 2 Sensor Schritt 9: Downloads Downloads

                                        3 Schritt:Schritt 1: Schneiden Sie die Leiterplatte Schritt 2: Das Ätzen der Leiterplatte Schritt 3: Der letzte Schliff

                                        Liebe Spark ist eine herzförmige Anhänger, der eine LED alle drei Sekunden blinkt und dass die Zeit weg von einer Studie von Amy Witter an der Universität von Melbourne durchgeführt Schluss, dass die Menschen von ihren Freunden und Lieben im Durchschnitt alle 3 Sekunden denken, basiert. Also es ist nicht alles nur eine Phantasie, blinky-blinly Anhänger. Jedes Mal, blinkt LED, es erinnert Sie, wie oft Sie die von den Menschen, die Sie lieben, dachte, und das ist ein ganz besonderes Gefühl. Außerdem ist es eine hervorragende Gesprächsstarter! Denkt nicht, ich könnte eine bessere Valentinstag für ihr Geschenk in ein Wochenende gekocht haben. Sehr Mindest Teile verwendet, mit Arduino, sieht der Code einfacher als Blink programmiert! Benötigte Teile: 1. ATtiny13 (austauschbar mit einem Tiny25 / 45/85) 2. Red SMD LED (1206/0805) 3. 3V-Knopfzelle (1220/1225) 4. Zellhalter (Hab ich selbst gemacht) 5. Dual-Layer-Kupfer verkleidet (vorzugsweise Glasfaser) 6. SMD STDP Schalter (KPS-1290) 7. Einige handwerklichen Fähigkeiten + Geduld 8. Ein Valentinsgruß 9. Alles Liebe Die letzten drei Teile sind von unschätzbarem Wert, der Rest kostete mich rund 300 INR (US 5 €) Schritt 1: Schneiden Sie die Leiterplatte 1. Drucken Sie die Vorlage, wählen Sie eine wünschenswerte Anhänger Größe und schneiden Sie es aus 2. Verfolgen Sie die Umrandung aus der Aussparung 3. Schneiden Sie die Platine mit einer feinen Säge oder einer Drahtsäge 4. Lassen Sie den Umriss in schön und abgerundeten Kanten mit einigen Dateien. Schritt 2: Das Ätzen der Leiterplatte Alle 9 Artikel anzeigen Ich maskiert die Leiterplatte mit Tonerübertragungsverfahren auf der einen Seite und dauerhafte Markierung auf der anderen Seite und geätzt mit Eisenchloridlösung. Sie können die Leiterplatten-Vorlage in der Download-Link auf der letzten Stufe zu finden, laden Sie es und Laser ausdrucken. Für den Rest der wie-zu, es gibt Tonnen von Artikeln im Internet und schön instructables, wie PCBs zu Hause zu ätzen, die meisten dieser Artikel machen einen besseren Job zu erklären, den Prozess, als ich es jemals könnte. Dieses Zwei seitige Leiterplatten unter Verwendung von Toner Methode jmengel macht einen guten Job zu erklären too.Step 3: Der letzte Schliff Ich bin kein großer Fan von der gelblichen Farbe von geätzten Leiterplatten, ich habe einige der Suche, wie man hausgemachte PCBs schmerzlos Farbe und kam in dieser schönen Artikel. Er benutzt Textilfarbe, da meine Faulheit, habe ich einige schwarze Haare färben, gekochte die Leiterplatte in dem Farbstoff-Wasser-Gemisch für etwa 10 Minuten und der PCB wurde verwandelt! Stellen Sie sicher, Leiterbahnen verzinnt, bevor Sie es in die heiße Farbstoff-Mix eintauchen. Programmieren Sie die ATtiny, löten Sie alle Komponenten und du bist gut zu gehen! Dies ist mein dritter Prototyp. Die erste habe ich versucht, eine Seite, ohne Maskierung der anderen Seite der Leiterplatte zu ätzen, und wissen Sie, es wurde der Feststellung, links davon. Die zweite, durcheinander ich den Schaltkreis und verlötet die Tiny falsche Weg, wirklich, wirklich dumme Fehler. Der dritte, der schönste Etch in meinem DIY Geschichte, war es das alles wert. Insgesamt Es kostete mich vier LEDs, drei Mikrocontroller, drei Schalter, FeCl2 Flecken auf meinem T-Shirt und ein Wochenende in meinem Arbeitsraum versteckt, sie besser like it! Falls Sie sich wundern, warum niedlichen Haar. ;) DIY-Dateien: Downlaod Und für alle, Sie faul, ungeduldig und nicht-Hackern, Kitables macht einen Funken Liebe DIY-Kit, das Sie kaufen können Sie hier.

                                          3 Schritt:Schritt 1: Schritt 2: Schritt 3:

                                          Also dieses Mal, es ist eine andere Spaß und funktionale Mikrocontroller DIY, einem g-Messsystem mit Datenaufzeichnung auf SD-Karte. Eingesetzte Hardware: 1) Arduino UNO w / ATmega328P 2) 3-Achsen-Beschleunigungsmesser Breakout 3) SD-Karte 4) SD-Karte Breakout w / Pegelverschiebungsschaltung 5) LED WIE FUNKTIONIERT ES: Grundsätzlich verwendet das System einen Beschleunigungsmesser, um G-Force und eine SD-Karte zur Speicherung der Daten zu messen. Ein Arduino UNO wird verwendet, um die Daten, die von dem Beschleunigungsmesser verarbeiten und speichern Sie sie auf eine SD-Karte. Das System wurde ursprünglich für das Setup Tuning und Performance-Optimierung in RC-Cars entwickelt. Es nutzt Ch3 auf dem Rx für die Einleitung oder Beendigung der Datenaufzeichnung Sequenz, die bedeutet, dass Sie eine Drei-Kanal-Funk brauchen, um diese Arbeit zu machen. Allerdings, wenn Sie mit Arduino vertraut sind, können Sie einfach den Code ändern, um geeignete Kontrollmaßnahmen zu ersetzen und glücklich verwenden Sie es, wo immer und was auch immer Sie wollen. Technisch gesehen, ich bin mit einem ADXL335 3-Achsen-Beschleunigungssensor, der bis zu +/- 3g messen kann. Es muss nicht eine beeindruckende Ausgabeauflösung, aber ich finde es gut genug für meine Anwendung. Das System liest Daten aus allen drei Achsen, das heißt, es kann eine anständige Menge an nützlichen Daten zu messen. In RC Autos, Seitenführungskräfte, Vorwärts- / Rückwärtsbeschleunigung, Brechen / Kollisionskräfte, vertikale Stöße und Fahrwerkdämpfung Analysedaten können erfasst werden. All diese Daten werden auf der SD-Karte in den unabhängigen TXT-Dateien für jede axis.Step 1 protokolliert: HOW TO USE: Montieren Sie die GForce Lehre an Ihrem RC-Car, wire es an Ch3 auf Rx, drücken Ch3 auf Ihrem Tx zur Datenerfassung zu starten, tun einige harte Beschleunigung / brechen oder machen Sie bei einigen schnellen Kurven oder was auch immer Sie messen und drücken Ch3 möchten erneut, um die Datenprotokollierung Sequenz zu beenden. Eine kleine LED wird verwendet, um die Datenerfassung in Prozesses kennzeichnen. Ziehen Sie die SD-Karte, schließen Sie es an einen Computer und Sie haben die Daten, die Sie analysieren können und die notwendigen Änderungen an Ihrem RC-Car zu machen, schneller und reibungsloser laufen. Das Arduino schema nicht die Pegelverschiebeschaltung für die SD-Karte erforderlich, zu zeigen, aber es ist notwendig, beziehen sich auf die "SDcard Breakout DIY" schematisch. Formatieren Sie die SD-Karte in FAT32-Dateisystem vor dem Gebrauch. Bitte benutzen Sie ältere weniger Kapazität SD-Karten wie 2 GB oder weniger. Nicht mit SDHCs noch und MicroSD-Karten mit SD-Adapter verwendet werden geprüft, aber wieder, oder weniger nur 2GB MicroSD-Karten. Noch ein paar Warnungen in der Arduino Sketch selbst genannt wurden, sind sie bemerkenswert. Das Arduino Code kompiliert in eine binäre Skizze von rund 17,24 KB groß, so dass die Arduino-Boards auf Basis ATmega8 und ATmega168 werden nicht aufgrund ihrer Einschränkungen bei Flash-Speichergröße zu arbeiten. Ich habe versucht, den Code so weit wie möglich zu schrumpfen, aber meine kleinste Skizze ist 15.79 KB und es ist 1,5 KB zu viel, um auf einem ATmega168 passen. Ich bin kein Experte, so dass, wenn jemand in der Lage, deutlich Schrumpfen der Code ist, bitte teilen Sie es mit mir. Denn jetzt ist ein ATmega328 / Arduino Uno apt und ein ATmega2560 / Arduino Mega mit seiner Vielzahl von I / Os gibt viel. Bitte beachten Sie die Spannungswerte Ihres I / O-Geräte. Meine ADXL335 Breakout-Board kam mit einem On-Board 3,3 V Spannungsregler, weshalb meine Schaltpläne zeigen Sie verbunden mit dem 5V-Versorgung. Gleiches gilt für die SD-Karte Breakout board.Step 2: FAZIT: Es ist nicht so viel von einem komplizierten DIY, aber Sie Zwischenelektronik Fähigkeiten auf Minimum benötigen. Nicht wenige Dinge schief gehen kann, ich würde nicht vorschlagen, dass Sie versuchen, diese als erste Elektronik-basierte Projekt. Jedoch wird niemand stoppen Sie-Braten ein Mikrocontroller-Chip ist ein Verbrechen, das Gesetz nicht strafbar! COMING UP: Außerdem, ich bin in den Prozess der Entwicklung einer Echtzeit-g-Force-Analyse-System mit Wireless-Transceiver-Module, wie Xbee und Putting die gesamte Hardware auf einem einzelnen PCB, keine sperrigen deveopment Bord Hektik. Einem Telemetriesystem gekoppelt ist, eine Softwareschnittstelle, die die ankommenden Daten in Echtzeit liest und gibt dasselbe in Form eines Graphen auf einem Computerbildschirm. Das gleiche Stück Software kann auch verwendet werden, um die SD-Karte Daten lesen und erzeugen eine graph.Step 3 werden: KÜNFTIGE ENTWICKLUNG: Schließlich werden ein paar von euch wahrscheinlich schon plant, die GForce Anzeige an einem Modellflugzeug oder so ähnlich bleiben, in diesem Fall, wir sind auf dem gleichen Boot. Ich plane, eine kleinere und leichte System für Modellflugzeuge, Hubschrauber und multirotors mit dem ADXL345, die eine höhere Auflösung und eine beeindruckende Palette von bis / -16g hat zu bauen. Soll Spaß prahlen an Ihre Freunde zu sein, "My Heli zieht 2Gs auf 3D !!" Für Fragen und weitere Informationen, lassen Sie einen Kommentar unter den instructables oder mailen Sie mir an [email protected] Viel Glück, Heimwerker!

                                          Seiten: « Zurück 1 2 3 4 5 6 7 ... 10 Nächster »