Sommario:

MrK Blockvader: 6 passaggi (con immagini)
MrK Blockvader: 6 passaggi (con immagini)

Video: MrK Blockvader: 6 passaggi (con immagini)

Video: MrK Blockvader: 6 passaggi (con immagini)
Video: La vera faccia di Strecatto,Giorgio,Cico😱 2024, Novembre
Anonim
Image
Image
Stampa 3D
Stampa 3D

Nel corso degli anni, ho visto molti progetti interessanti di robot rover stampati in 3D e adoro il modo in cui la tecnologia di stampa 3D ha aiutato la comunità robotica a far crescere una maggiore diversità nelle scelte di design e materiali. Voglio aggiungere un piccolo contributo alla comunità robotica pubblicando MrK_Blockvader su Instructable per la Maker Community.

MrK_Blockvader è un piccolo robot divertente con un piccolo cicalino, ma non lasciarti ingannare dall'aspetto a blocchi. Potrebbe essere equipaggiato con il sensore di colore, sensore di distanza, un modulo radio per comunicare con altri Blocky con capacità simili, con una base o con un controller.

MrK_Blockvader farà parte di una rete di robot in cui uno può essere assegnato come comandante a un gruppo di robot per archiviare lo stesso obiettivo.

Forniture

1 * Arduino Nano

1 * driver del motore CC

2 * motore DC con cambio

Batteria Venom LiPo da 1 * 650 mAh

Ruote per camion 2 * 1/24 RC

2 * LED bianchi

1 * Sensore di distanza

1 * Sensore di colore

1 * scheda breakout nRF24

1 * scheda radio nRF24

1 * Cicalino

1 * Interruttore

1*26 AGO Filo nero

1*26 AGO Filo blu

1*22 AGO Filo nero

1*22 AGO Filo rosso

Passaggio 1: stampa 3D

Uso la stampante CEL Robox 3D stampata con materiale in carbonio per leggerezza e durata. Allegherò i file STL di seguito. Si prega di inserire il commento se avete domande riguardanti il processo di stampa 3D e l'impostazione.

Passaggio 2: prepara l'Arduino Nano

Prepara l'Arduino Nano
Prepara l'Arduino Nano
Prepara l'Arduino Nano
Prepara l'Arduino Nano
Prepara l'Arduino Nano
Prepara l'Arduino Nano
Prepara l'Arduino Nano
Prepara l'Arduino Nano

Ho imparato che eseguire lavori di preparazione a tutti i componenti elettrici è la chiave per un progetto pulito.

Questo progetto include il cablaggio della scheda breakout nRF24, l'ho fatto in un progetto separato chiamato NRF24 Wireless LED Box, qui è dove puoi trovare le informazioni su come collegare la scheda breakout nRF24 a un Arduino.

Nota: utilizzo un cavo 22AWG più spesso per alimentare il Nano e cavi blu e neri sottili 26 AWG per tutti gli altri scopi di segnale. Adoro questi cavi di dimensioni 26 AWG, sono flessibili ma resistenti e offrono il meglio di entrambi i mondi.

Preparazione di Arduino Nano:

  1. Saldare l'intestazione del pin del segnale all'Arduino Nano.
  2. Bagnare questi pin con la saldatura renderà la saldatura molto più semplice in seguito.
  3. Saldare un gruppo di filo blu al 5V per fornire alimentazione a tutti i sensori e LED.
  4. Saldare un gruppo di filo nero al GND per fornire la massa a tutti i sensori e LED.

Lavoro di preparazione della scheda breakout NRF 24:

  1. Saldare 5 fili alla scheda breakout nRF24 per i segnali.
  2. Saldare 2 fili alla scheda breakout nRF24 per l'alimentazione.
  3. Controlla il link per assicurarti come collegare la breakout board a un Arduino.
  4. Saldare i 5 fili di segnale dall'nRF24 all'Arduino Nana.

Lavoro di preparazione del cicalino:

  1. Saldare un filo nero a una delle gambe del cicalino per la messa a terra.
  2. saldare un filo blu all'altra gamba del cicalino per il controllo del segnale.

Preparazione della fotoresistenza: (schema disponibile)

  1. Saldare un filo blu a una delle gambe della fotoresistenza per 5V.
  2. Saldare una resistenza da 10K all'altra gamba della fotoresistenza.
  3. Saldare un filo blu tra la resistenza da 10K e la fotoresistenza per il segnale.
  4. Saldare un filo nero al resistore da 10K per la messa a terra.

Preparazione dei LED:

  1. Saldare un filo blu dal LED positivo destro al LED positivo sinistro.
  2. Saldare un filo nero dal LED negativo destro al LED negativo sinistro.
  3. Saldare un filo blu al LED destro positivo per il controllo del segnale.
  4. Saldare un filo nero al LED negativo di destra per la messa a terra.

Passaggio 3: preparare il motore CC, il driver del motore CC e i sensori

Preparare il motore CC, il driver del motore CC e i sensori
Preparare il motore CC, il driver del motore CC e i sensori
Preparare il motore CC, il driver del motore CC e i sensori
Preparare il motore CC, il driver del motore CC e i sensori

Il MrK_Blockvador ha un paio di opzioni di sensore e i sensori aggiuntivi non influiscono sul funzionamento generale, tuttavia, il sensore di colore non sarà in grado di installare dopo che il motore CC è stato incollato in posizione.

Lavoro di preparazione del motore DC:

  1. Saldare un filo nero e uno rosso al motore CC.
  2. Avvolgere l'estremità del motore con del nastro adesivo.
  3. Riempi l'area con colla a caldo per sigillare i connettori del motore.

Lavoro di preparazione del driver del motore CC:

  1. Saldare i 6 fili di segnale sul driver del motore.
  2. Saldare il cavo del segnale al pin corretto su Arduino Nano.
  3. Installare i cavi da 12 V per alimentare il driver del motore dalla batteria. Assicurati di avere i fili abbastanza lunghi da farlo scorrere sotto e fuori la parte posteriore del robot.
  4. Installa i cavi 5V per alimentare Arduino Nano dal driver del motore.

Lavoro di preparazione del sensore di colore (opzionale):

  1. Saldare i 2 fili per il segnale.
  2. Saldare i 2 fili per l'alimentazione.
  3. Saldare il filo 1 per controllare il LED super luminoso.

Preparazione del sensore di distanza: (opzionale)

  1. Saldare un filo blu per il segnale.
  2. Saldare un altro filo blu sulla porta positiva per 3V positivi.
  3. Saldare un filo nero per sulla porta negativa per terra.

Passaggio 4: assemblare

Image
Image
Assemblare
Assemblare

Dopo tutto il lavoro di preparazione, ora è il momento in cui le cose si uniscono.

Nota: utilizzo la colla a caldo per il motore CC e il driver del motore CC perché la colla a caldo può fornire un minore assorbimento degli urti e se è necessario rimuoverla, un po' di alcol denaturato rimuoverà immediatamente la colla a caldo.

Processo di assemblaggio:

  1. Incolla a caldo il sensore di colore sul telaio e fai passare il cavo del sensore di colore attraverso il canale. (opzionale)
  2. Incolla a caldo i motori CC sul telaio, assicurati che il motore CC sia a filo con il telaio.
  3. Super colla testa Blocvader al suo telaio assicurandosi che tutti i cavi passino attraverso.
  4. Sensore di distanza per colla a caldo. (opzionale)
  5. LED per colla a caldo per occhi Blockvador.
  6. Inserire i cavi del motore CC nel driver del motore CC fino in fondo e avvitare saldamente.
  7. Far passare i cavi di alimentazione da 12 V dal driver CC sotto e fuori dal retro del telaio per l'interruttore di accensione/spegnimento.
  8. Assicurati che tutti i cavi di tutti i sensori siano liberi prima di incollare il driver del motore CC.
  9. Carica il codice di prova e risolvi i problemi se ce ne sono.

Passaggio 5: codice

Image
Image
Che cosa dopo?
Che cosa dopo?

Codice di base:

Il robot utilizza la sua fotoresistenza e rileva il livello di luce della stanza e reagisce se c'è un cambiamento di livello di luce nel tempo

Il cuore del codice:

void loop() { lightLevel = analogRead(Photo_Pin); Serial.print("Livello luce: ");Serial.println(Livelloluce); Serial.print("Luce corrente: ");Serial.println(Luce_corrente); if (lightLevel >= 200){ Chill_mode();analogWrite(eyes_LED, 50);Serial.println("Chill mode");} if (lightLevel < 180){ Active_mode();analogWrite(eyes_LED, 150);Serial. println("Modalità attiva");} }

Il robot può essere controllato utilizzando un controller e passando alla modalità parzialmente autonoma tramite il controller.

Il cuore del codice:

void loop() {int debug = 0; lightLevel = analogRead(Photo_Pin); Dis = analogRead(Dis_Pin); // Controlla se ci sono dati da ricevere if (radio.available()) { radio.read(&data, sizeof(Data_Package)); if (data. C_mode == 0){Trim_Value = 10; Direct_drive();} if (data. C_mode == 1){Trim_Value = 0; Autonomous_mode();} if (data. C_mode == 2){Trim_Value = 0; Chill_mode();} if(debug >= 1) { if (data. R_SJoy_State == 0){Serial.print("R_SJoy_State = HIGH; ");} if (data. R_SJoy_State == 1){Serial.print("R_SJoy_State = LOW; ");} if (data. S_Switch_State == 0){Serial.print("S_Switch_State = HIGH; ");} if (data. S_Switch_State == 1){Serial.print("S_Switch_State = LOW; ");} if (data. M_Switch_State == 0){Serial.println("M_Switch_State = HIGH");} if (data. M_Switch_State == 1){Serial.println("M_Switch_State = LOW");} Serial.print("\n"); Serial.print("Modalità Rover: ");Serial.println(data. C_mode); Serial.print("L_XJoy_Value= ");Serial.print(data. L_XJoy_Value); Serial.print("; L_YJoy_Value= ");Serial.print(data. L_YJoy_Value); Serial.print("; R_YJoy_Value= ");Serial.print(data. R_YJoy_Value); Serial.print("; Throtle_Value= ");Serial.println(data. Throtle_Value); ritardo(debug*10); } lastReceiveTime = millis(); // In questo momento abbiamo ricevuto i dati } // Controlla se continuiamo a ricevere dati o se abbiamo una connessione tra i due moduli currentTime = millis(); if (currentTime - lastReceiveTime > 1000) // Se l'ora corrente è superiore a 1 secondo da quando abbiamo ricevuto gli ultimi dati, { //significa che abbiamo perso la connessione resetData(); // Se la connessione viene persa, reimposta i dati. Previene comportamenti indesiderati, ad esempio se un drone ha il gas in alto e perdiamo la connessione, può continuare a volare a meno che non ripristiniamo i valori } }

Passaggio 6: cosa succederà?

Questo progetto è l'inizio di un progetto più ampio, in cui una rete di questi piccoli ragazzi lavora insieme per archiviare un obiettivo comune.

Tuttavia, questi robot dovrebbero segnalare il loro stato a una stazione di comunicazione, quindi questa stazione combinerebbe tutti i report di tutti i robot per poi prendere una decisione su quale sarebbe la prossima azione necessaria.

Per questo motivo, la fase successiva del progetto sarebbe un controller che fungesse da stazione di comunicazione. Questo aiuterà a sviluppare ulteriormente il progetto.

Il controller stesso è un robot, tuttavia è più passivo del Blockader. Pertanto il controller abbandona il proprio articolo istruibile, quindi sintonizzati per un progetto futuro;D

Consigliato: