Inhaltsverzeichnis:
Video: ATTiny-RAT, ATTINY Powered Mini Lightfollower - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Hallo Leute, Es ist eine Weile her, seit ich mein letztes instructable gepostet habe. Nun, es gehen gerade viele Dinge in meinem Kopf herum, aber ich habe es geschafft, meine "ersten Schritte" mit der ATTiny-Serie von Chips in diesem kurzen instructable für Sie zu dokumentieren.
Ich habe ein paar ATTINY85-Muster bestellt, nur weil ich sie testen wollte:-) (jeder liebt es, Dinge zu testen, oder?). Danach habe ich angefangen, einige Ideen in mein Notizbuch zu zeichnen. Um ehrlich zu sein, war das erste, was ich tat, eine LED zu blinken, was wie immer ein guter Anfang ist, um zu überprüfen, ob Ihr Setup / Ihre Toolchain funktioniert. Ich habe auch einen Temperatur- und Feuchtigkeitslogger mit DHT22 und SoftwareSerial ausprobiert. Das war schwierig, da die DHT-Bibliotheken hauptsächlich für 16-MHz-Takt ausgelegt sind (wenn Sie so etwas vorhaben, überprüfen Sie, wie Sie die interne Uhr vorskalieren). Aber ich habe mich entschlossen, dir etwas zu zeigen, das einfach nur lustiger ist. Übrigens: Ich habe eine meiner Zeichnungen für dich hochgeladen, es ist kein Rembrandt, aber es wird dir zeigen, wie ich diese (wirklich) dumme Idee auf ein Blatt Papier gebracht habe: -P.
Ich habe nur Sachen verwendet, die ich herumliegen hatte, um dieses Projekt (für mich) so günstig wie möglich zu halten. Das Ergebnis dieses kleinen Abenteuers ist ein netter kleiner "Lichtfolger-Roboter" für ca. 10-15$ (3$ für mich:-P)
Wenn Sie sich also selbst für ATTINY interessieren, lesen Sie einfach weiter.
Übrigens: Entschuldigung für mein schlechtes Englisch (ich bin kein Muttersprachler)
Schritt 1: Erste Schritte mit ATTiny & Tools & Materials
Was Sie für den Anfang benötigen:
- ein ATTiny85-Chip
- ein Arduino UNO oder ähnliches
- Abreadboard mit Jumper-Draht oder einem ATTINY-Programmierer oder machen Sie selbst ein Programmer-Shield für Arduino (siehe die beigefügten Bilder, es gibt einen Schaltplan von avdweb.nl). Diese habe ich auch gemacht und bin sehr zufrieden damit. Die einzige Modifikation die ich gemacht habe war, dass ich einen Sockel für die ATTinyx4 Serie hinzugefügt habe (siehe Bild und Pinbelegung).
- die Arduino-IDE (hier herunterladen)
- die Hardwaredateien für die ArduinoIDE (herunterladen und installieren)
Info-Link zum Playgrounddirect Link zu den von mir verwendeten Github-Dateien
- Laden Sie den Arduino als ISP-Skizze auf die UNO (dies wird Ihr Programmierer sein)
- Folgen Sie dieser Anleitung (https://highlowtech.org/) oder dieser Anleitung (von ardutronix) und versuchen Sie die "Blink" -Skizze (ändern Sie die PIN-Nr. verwenden Sie das ATTINY-Bild als Referenz! Sie benötigen die vorgeflashte ATTINY eine LED und ein ~ 220 Ohm Widerstand dafür)
Machen Sie ein kleines Steckbrett-Setup, um alles zu überprüfen. Wenn Sie alles richtig gemacht haben, blinkt die LED und Sie können loslegen
WERKZEUGE
- Lötkolben - etwas Lötzinn - ein kleiner Drahtschneider - ein Dremel oder ein anderes Drehwerkzeug (nur zum Schneiden der Platine!) - einige Heißkleber - Pinzetten - Drähte
MATERIALIEN
- Prototyping PCB (~4cmx6cm reicht aus)- 2x LDR- 5x 10k Widerstand (2x für die LDRs und 2x für die Transistoren BE, 1x LED) - 1x 330Ohm Widerstand (1x NEOPIXELS)- 2x LDR- 1x LED (Farbe deiner.) Wahl, statt Lenkrad)- 3x NEOPIXEL WS2812- 2x Transistor (BD137 oder ähnlich)- 2x Diode (1N4001 oder ähnlich)- 2x Mikromotor (zB von einem Hubsan Micro-Quadcopter)- 1x ATTINY85 + optional (empfohlen) 8PIN IC Sockel- 1x 1s LIPO (ich habe einen 140Ah aus einem alten RC-Helikopter verwendet)- einige Stiftleisten/Buchsen- Schrumpfschlauch (LDR Gehäuse)
Fahren wir mit dem Bau der Hardware fort…
Schritt 2: Hardware
Wenn Sie sich die Schaltpläne ansehen, die ich angehängt habe, ist das Hardware-Setup ziemlich einfach. Wenn Sie also Schaltpläne lesen und einen Lötkolben verwenden können, ist das der halbe Trick. Schaut euch auch die Fotos an, ich habe ein paar Anmerkungen für euch hinzugefügt.
Ich liefere keinen Plan für das Schneiden der Platine, Sie haben die Freiheit, Ihr eigenes Design zu erstellen (sei kreativ und zeige uns deine Tiny Bots). Die Platzierung aller elektronischen Komponenten liegt ebenfalls in deiner Hand. Einige Hinweise von meiner Seite:
Versuchen Sie, die Motoren genau auszurichten (achten Sie auf den Winkel!) Wir verwenden nur die Motorwelle anstelle der Räder. (dadurch wird weniger Energie verbraucht) Ich empfehle die Motoren unter dem Akku zu platzieren (Gewicht) und die LDRs auf der Vorderseite (45° abgewinkelt) gepaart mit einer LED zu verwenden (ich versuche diese Kombination zur Vermeidung von Hindernissen zu verwenden, weiter) Tests erforderlich).
Außerdem empfehle ich einen kleinen Ein/Aus-Jumper zu machen, damit die Batterie nicht so leicht verloren geht.
Bei Unklarheiten oder Fragen fragen Sie mich einfach. Es macht wenig Sinn, aus diesem kleinen Projekt eine Abschlussarbeit zu machen.
Schritt 3: Software
Laden Sie zunächst die ADAFRUIT Neopixel Library herunter und installieren Sie sie
Hier ist mein Code mit einigen wichtigen Beschreibungen (ich habe auch die Skizzendatei hinzugefügt). Ich habe nicht jeden Schritt kommentiert, weil ich denke, dass es nicht notwendig ist.
Lade die Skizze auf deinen ATTiny85 hoch und hab Spaß mit deinem neuen Spielzeug
Ideen für die Funktion "Persönlichkeit" + vielleicht Code-Beispiele sind sehr willkommen:-)
Wenn es Fragen gibt, können Sie diese gerne stellen.
Ich hoffe, Sie haben meine kurze instructable und die kleine Reise in die Welt von ATTINYs genossen.
/* ATTINY85-Rata einfacher ATTINY85-betriebener Lichtfolgeroboter. Version 2.0, von Auer Markus */
#enthalten
#enthalten
//Motoren
#define LMOTOR 0 #define RMOTOR 1 //LEDs #define PIXELPIN 2 #define NUMPIXEL 3 //LDRs #define LLDR A2 #define RLDR A3
// Sonstiges Emo = 0; Schwimmerkalibrierung; boolesches Emostat; lange alte Millise; // Neopixels definierenAdafruit_NeoPixel PIXEL = Adafruit_NeoPixel (NUMPIXEL, PIXELPIN, NEO_GRB + NEO_KHZ800);
Void-Setup ()
{ //Upscale Clock sonst werden Sie auf einige Timingprobleme stoßen (die Neopixel-Lib ist für 16MHz geschrieben) #if definiert (_AVR_ATtiny85_) if (F_CPU == 16000000) clock_prescale_set(clock_div_1); #endif
// PINMODE PinMode (LMOTOR, AUSGANG); pinMode (RMOTOR, AUSGANG); pinMode (LLDR, EINGANG); pinMode (LLDR, EINGANG); // Pixel initialisieren PIXEL.begin (); PIXEL.show(); Verzögerung (500); //Startsequenz for(int i=0;i
Leere Schleife ()
{ if (lightfollow () == 1) { links (); aufrechtzuerhalten. Sonst if (lightfollow() == 2) {right(); aufrechtzuerhalten. Sonst if (lightfollow () == 0) { forward (); } Emotion (); }
int lightfollow() {
int-Schwelle = 14; int-Ergebnis = 0; schweben links = 0; Schwimmer rechts = 0; int-Samples = 1; // LDRs lesen für (int j = 0; j<samples; j++){
links = links + analogRead (LLDR); rechts = rechts + (analogRead(RLDR)*calib);
}
// Ergebnis berechnen (aus welcher Richtung kommt das Licht?)
if((links/Beispiele) > ((rechts/Beispiele)+Schwellenwert)) {Ergebnis = 2;}
else if((links/Beispiele) < ((rechts/Beispiele)-Schwellenwert)) {Ergebnis = 1;}
sonst {Ergebnis = 0;}
Ergebnis zurückgeben; aufrechtzuerhalten. Void forward () {//Weiterleiten analogWrite (LMOTOR, 230); analogWrite (RMOTOR, 230); PIXEL.setPixelColor(0, PIXEL. Color(0, 0, 255)); PIXEL.setPixelColor(2, PIXEL. Color(0, 0, 255)); PIXEL.show(); }
Leere links () {
// LINKS analogWrite (LMOTOR, 150); analogWrite (RMOTOR, 255); PIXEL.setPixelColor(0, PIXEL. Color(0, 0, 255)); // PIXEL.setPixelColor (1, PIXEL. Color (75, 0, 0)); PIXEL.setPixelColor(2, PIXEL. Color(0, 100, 0)); PIXEL.show(); }
nichtig rechts () {
// RECHTS analogWrite (LMOTOR, 255); analogWrite (RMOTOR, 150); PIXEL.setPixelColor(0, PIXEL. Color(0, 100, 0)); PIXEL.setPixelColor(2, PIXEL. Color(0, 0, 255)); PIXEL.show(); }
// dies ist für weitere experimente, um diesem ein wenig persönlichkeit zu verleihen:-) ich teste, was möglich sein könnte, aber noch keine guten ideen.
Leere Emotion () { Int-Emotimer = 2500; int-Dauer = zufällig (250, 750); if (millis () - oldmillis > emotimer) { oldmillis = millis (); emo = zufällig (1, 4); } if (millis() - oldmillis > Dauer) { emostate = !emostate; } if (emostate == true) { switch (emo) { case 1: PIXEL.setPixelColor (1, PIXEL. Color ((255), (255), (255))); PIXEL.show(); brechen; Fall 2: PIXEL.setPixelColor(1, PIXEL. Color((255), (0), (0))); PIXEL.show(); brechen; Fall 3: PIXEL.setPixelColor(1, PIXEL. Color((0), (255), (0))); PIXEL.show(); brechen; Standard: PIXEL.setPixelColor(1, PIXEL. Color(zufällig (0, 255), zufällig (0, 255), zufällig (0, 255))); PIXEL.show(); brechen; } } Else { PIXEL.setPixelColor (1, PIXEL. Color (25, 0, 0)); PIXEL.show(); } }
Empfohlen:
Wie man aus einem alten Computer einen persönlichen Mini-Schreibtischventilator macht – passt in Ihre Tasche – wikiHow
Wie man aus einem alten Computer einen persönlichen Mini-Schreibtischventilator macht – passt in Ihre Tasche: Ich zeige Ihnen, wie Sie aus einem alten Computer einen persönlichen Mini-Schreibtischventilator machen. Ein Bonus ist, dass es sogar in Ihre Tasche passt. Dies ist ein sehr einfaches Projekt, daher ist nicht viel Erfahrung oder Fachwissen erforderlich. Fangen wir also an
Ein günstiges Attiny Arduino Board herstellen – wikiHow
Wie man ein billiges Attiny Arduino Board herstellt: Nun, die meiste Zeit bekomme ich Probleme, wenn ich Arduino in einigen Projekten benötige, bei denen ich nur wenige I / O-Pins benötige 85/45Arduino-Tiny ist ein Open-Source-Set von ATtiny
Mini-CNC-Maschine herstellen – wikiHow
Wie man eine Mini-CNC-Maschine herstellt: Hallo, alle hoffen, es geht Ihnen gut. Ich bin hier mit einem anderen sehr coolen Projekt, das Sie mit einigen Schrott / gebrauchten Teilen des Computers bauen können. In diesem Instructables werde ich Ihnen zeigen, wie Sie zu Hause eine Mini-CNC-Maschine aus dem alten DVD-Wri machen können
In 5 Minuten einen Mini-Bug-Roboter bauen – wikiHow
Wie man in 5 Minuten einen Mini-Bug-Roboter macht: In diesem Projekt werden wir einen einfachen kleinen Bug-Roboter mit einigen grundlegenden Komponenten herstellen. Sie benötigen 5 bis 10 Minuten, um diesen einfachen beweglichen Mini-Insektenroboter herzustellen
ESP8266/ESP-12 Arduino Powered SmartThings DS18B20 Temp. Sensor: 4 Schritte (mit Bildern)
ESP8266/ESP-12 Arduino Powered SmartThings DS18B20 Temp. Sensor: Wir alle möchten gerne wissen, wie die aktuelle Raumtemperatur ist und manchmal auch die Temperatur in einem anderen Raum oder vielleicht sogar in Ihrem Ferienhaus am anderen Ende der Welt. Vielleicht möchten Sie die Temperatur im Haus Ihres Haustiers Eidechse überwachen