360 Radar (die gegevens op een afbeelding codeert)
Componenten en benodigdheden
| × | 1 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 |
Benodigde gereedschappen en machines
| ||||
|
Apps en online services
| ||||
|
Over dit project
Ik ben hier en ik ga je laten zien hoe je een 360 Radar maakt. Stuur gegevens naar de computer en teken na verwerking de radar in realtime en sla na een omwenteling (360 beurt) de vorige radar op en teken de nieuwe. en na al deze ENCODE de gegevens en verberg ze in een afbeelding. Bijvoorbeeld als u alleen de coderingsgegevens verzendt en iemand heeft deze gegevensoverdracht waargenomen, zal hij ontdekken dat u een ENCODED-gegevens hebt overgedragen . Maar als je de gecodeerde gegevens in een afbeelding verbergt, zal hij er nooit achter komen wat je hebt gedaan en alleen maar denken dat je een foto voor iemand anders hebt gestuurd.
Stap 1 (Verzamel wat je nodig hebt)
In dit project heb je nodig:
- Arduino (ik gebruikte Uno R3)
- Servomotor (we hebben er 2 nodig omdat we 360° beweging beschikbaar moeten hebben)
- Ultrasone sensor (we gebruiken deze om afstand te berekenen)
- Draden zodat u de ultrasone sensor en de servo kunt bevestigen.
Stap 2 (Zet ze in elkaar)
Sluit de servo en ultrasone sensor aan op de Arduino, net zoals in het onderstaande schema (net boven de C++-code). Je kunt de code uploaden en ze op de computer bekijken.
Let op:als je niet weet wat de naam van de poort is, ga dan naar Apparaatbeheer en zoek naar Poorten. je kunt de naam daar zien (COM3 of COM5).
Als je het project voltooit, vraag me dan om de EXE van Radar Drawer te sturen.
*Update*:Download het EXE-bestand op deze pagina.
Als je problemen hebt met het werken met EXE of als je je eigen EXE wilt maken, vraag het me dan en ik ben hier om te helpen.
Wanneer u een foto importeert om de AI te coderen, kiest u de beste methode om deze veiliger te maken.
Code
- Servobesturing
ServobesturingC/C++
Deze code op C++ is voor het besturen van de servo en moet worden geüpload naar Arduino#includeServo Down;Servo Up;const int trigPin =9;const int echoPin =10;long duration;int pos =0;int pos2 =0;int afstand;int _graden;void setup() {pinMode(trigPin, OUTPUT);pinMode(echoPin, INPUT); Omlaag.bevestigen (2); Up.attach(3);Serial.begin(9600); }void loop() { Down.write(0); Omhoog.schrijven(0); for (pos =0; pos <=180; pos +=1) { Down.write(pos); _graden =pos; dis(); vertraging (50); if (pos ==180){ for (pos2 =0; pos2 <=180; pos2 +=1) { Up.write(pos2); _graden =pos + pos2; dis(); vertraging (50); } } } voor (pos =180; pos>=0; pos -=1) { Down.write(pos); Omhoog.schrijven(pos); vertraging (5); }}void dis(){ digitalWrite(trigPin, LOW);delayMicroseconds(2);digitalWrite(trigPin, HIGH);delayMicroseconds(10);digitalWrite(trigPin, LOW);duration =pulseIn(echoPin, HIGH);distance=duur *0.034/2;Serial.print(afstand);Serial.print(",");Serial.println(_graden); }
Aangepaste onderdelen en behuizingen
Download het EXE-bestand van hier circulaire_draw_qP2ROsoPds.rarSchema's
Productieproces