Recherche par propriété

Cette page fournit une simple interface de navigation pour trouver des entités décrites par une propriété et une valeur nommée. D’autres interfaces de recherche disponibles comprennent la page recherche de propriété, et le constructeur de requêtes ask.

Recherche par propriété

Une liste de toutes les pages qui ont la propriété « Step Content » avec la valeur « You can also dye, sew, cut, print on your Scooby! This is only the beginning :-) ». Puisqu’il n’y a que quelques résultats, les valeurs proches sont également affichées.

Affichage de 101 résultats à partir du n°1.

Voir (200 précédentes | 200 suivantes) (20 | 50 | 100 | 250 | 500).


    

Liste de résultats

  • SolarOSE - Guide 1: Support structure of the mirror field  + (Use the grinder to cut at the length of 2130 mm the two main squared tubes and at the length of 1430 mm the 2 square tubes for the support.)
  • SolarOSE - Guide 1: Support structure of the mirror field  + (Use the grinder to cut at the length of 2130 mm the two main squared tubes and at the length of 1430 mm the 2 square tubes for the support.)
  • Glowing LED Butterfly  + (Use TinkerCad to design the component thatUse TinkerCad to design the component that will be 3D printed. This is a great opportunity to develop your computer aided design (CAD) skills! What to think about.. - Needs to have holes for the light to go through - Needs to be big enough to hide the Arduino and PCB - Needs to be able to sit on the top of the 9V battery Pre-made butterfly design can be found through this linkrfly design can be found through this link)
  • Circuit de bille  + (vous devez mettre la bille en haut du circuit et lancez le programme sur l'ordinateur. Répondez bien à toutes les questions et vous pourrez passer. La vidéo montre comment s'active le servomoteur.)
  • Système d'irrigation autonome à zone d'arrosage contrôlée  + (Le Wakatlab accueille ou va à la rencontre d’un jeune public. Il organisera une formation pour permettre l'acquisition de compétences technologiques pour la construction de ce système.)
  • ESP32 with WebSerial: A Comprehensive Guide  + (WebSerial is a web standard that allows weWebSerial is a web standard that allows websites to communicate with serial devices. It bridges the web and the physical world, enabling web applications to interact with hardware devices. This opens up a world of possibilities for IoT projects, allowing real-time interaction between web applications and physical devices.een web applications and physical devices.)
  • Implementing Web Server on ESP32  + (=== What is a Web Server? === A web server=== What is a Web Server? === A web server is a software application that serves web pages to users. When a user requests a web page, the web server processes the request and sends the requested page back to the user’s browser. This forms the backbone of data communication on the World Wide Web. === What is ESP32? === The ESP32 is a series of low-cost, low-power systems on a chip microcontroller with integrated Wi-Fi and dual-mode Bluetooth. The ESP32 series employs a Tensilica Xtensa LX6 microprocessor and includes built-in antenna switches, an RF balun, a power amplifier, a low-noise receiver amplifier, filters, and power management modules. It is suitable for a wide variety of applications, from low-power sensor networks to more demanding tasks such as music streaming.e demanding tasks such as music streaming.)
  • Thermostat control activity v12  + (== What you need[https://docs.google.com/d== What you need[https://docs.google.com/document/d/1HVWFDdyiLj6ORTMYcQF-VPyJCPGuPzeTj_FaKip4pS4/edit#heading=h.kft4zwyruhwh ?] == * A pair of scissors * An old shoe box * Pastels / glue / colored sheets * A small fan How to create the environment As in the previous activity, the children have a box that will simulate the home environment. The moderator can leave room for children to decorate their boxes and express their creativity. Even in this case, children will have to cut the smaller sides: on one side they will be able to look into the box, on the other they can insert a small fan. The device, inserted in the box, will detect if there is the right temperature. By accessing the fan, the environment will become colder, although there is no need. Thanks to the signaling of the device, children will understand that the fan can be turned off. == How to build the box[https://docs.google.com/document/d/1HVWFDdyiLj6ORTMYcQF-VPyJCPGuPzeTj_FaKip4pS4/edit#heading=h.rocl9tvc6md5 ?] == * We take a box of shoes that we no longer use; * With the help of a pair of scissors with a rounded tip, let's cut one of the shorter sides of the box. From here we could observe inside the box itself what will be simulated; * Let's cut the other minor side in the same way. From this we will insert the small fan; * By inserting the device inside the box, we created our miniature room and we are ready for the experiment. room and we are ready for the experiment.)
  • Empty room activity v12  + (What you need[https://docs.google.com/docuWhat you need[https://docs.google.com/document/d/1HVWFDdyiLj6ORTMYcQF-VPyJCPGuPzeTj_FaKip4pS4/edit#heading=h.kft4zwyruhwh ?] 1 - A remote control device #Deedu; 2 - Environments Nodered and Blynq; 3 - A box whose purpose is to abstract the concept of the home environment. How to create the environment Here we have to describe how the miniature house is created, the environment to be simulated and the things you need to do it: How to build the box[https://docs.google.com/document/d/1HVWFDdyiLj6ORTMYcQF-VPyJCPGuPzeTj_FaKip4pS4/edit#heading=h.rocl9tvc6md5 ?] * We take a box of shoes that we no longer use; * With the help of a pair of scissors with a rounded tip, let's cut one of the shorter sides of the box. From here we could observe inside the box itself what will be simulated; * Let's cut the other minor side in the same way. From this we will insert the small fan; * By inserting the device inside the box, we created our miniature room and we are ready for the experiment. How to build the device? For the construction of the device, consult the guide at the following link: [LINK PINTEREST]. https://studio.youtube.com/video/Kr0x0o6c8DM/edit https://www.youtube.com/watch?v=UEqjpMs15jo To close everything in a wrapper, it may be useful to 3D print the suitable box whose source can be downloaded at the following link. https://www.thingiverse.com/thing:4062244 === How to put precisely the[https://docs.google.com/document/d/1HVWFDdyiLj6ORTMYcQF-VPyJCPGuPzeTj_FaKip4pS4/edit#heading=h.sci31hnwrn1 Blynk app]? === To set up the software system via Blynk, follow the guide: https://www.instructables.com/id/Digital-Environmental-Education-Domotics/ How to put precisely the server Nodered on Raspberry? To set up the Nodere software system, follow the guide: [LINK PINTEREST]. on Raspberry? To set up the Nodere software system, follow the guide: [LINK PINTEREST].)
  • Brightness control activity v12  + (What you need[https://docs.google.com/docuWhat you need[https://docs.google.com/document/d/1HVWFDdyiLj6ORTMYcQF-VPyJCPGuPzeTj_FaKip4pS4/edit#heading=h.kft4zwyruhwh ?] 1 - A remote control device #Deedu; 2 - Environments Nodered and Blynq; 3 - A box whose purpose is to abstract the concept of the home environment. How to create the environment Here we have to describe how the miniature house is created, the environment to be simulated and the things you need to do it: How to build the box[https://docs.google.com/document/d/1HVWFDdyiLj6ORTMYcQF-VPyJCPGuPzeTj_FaKip4pS4/edit#heading=h.rocl9tvc6md5 ?] * We take a box of shoes that we no longer use; * With the help of a pair of scissors with a rounded tip, let's cut one of the shorter sides of the box. From here we could observe inside the box itself what will be simulated; * Let's cut the other minor side in the same way. From this we will insert the small fan; * By inserting the device inside the box, we created our miniature room and we are ready for the experiment. room and we are ready for the experiment.)
  • VERBIS - Desktop 8x8 RGB LED Matrix Word Clock  + ('''Wooden photo frame''' You can make you'''Wooden photo frame''' You can make your own frame, there are a dozen of articles about this, even here on Instructables. But a simpler solution would be finding a framing company where you can order a personalized frame with your required dimensions and you can choose from many frame types. This is exactly what I did. I ordered my frames with a specific dimension: the framed photo, in my case object (display) is 80x80mm. I also asked for an accurate dimension, I didn't want the frame to be too big for the 3D printed plastic grid. '''Plexiglass support''' The plexiglass support can be also be made DIY but for an amateur it is not very easy to cut and blend plexiglass. So I ordered several supports from an advertising company that makes all kinds of plexiglass objects. The dimensions I used are: width - 120mm, first part length - 180mm, second part length - 50mm, 15° bending angle. '''Display plexiglass sheet''' The 3mm grey smoked plexiglass sheet can be cut from a bigger sheet, obtaining the required 80x80mm dimension. '''Plastic grid''' The STL file for 3D printing can be downloaded from [https://www.tinkercad.com/things/arRYOVE5Lbk Tinkercad] '''Display Printed Paper Sheet''' The SVG file for the Printed Paper Sheet is attached, and it can be edited with Inkscape. You can make your own display layout based on this SVG file, I used [https://www.wordsearchkit.com/ Word Search Construction Kit] software to generate a words layout for the time display. You can print the file repeatedly on the same sheet of paper to achieve a good, opaque, black background. I got very good results with a cheap inkjet printer and standard white copier paper. I cut off the layout with a pair of scissors. '''Plastic box for electronics''' The files that you can 3d print are also on [https://www.tinkercad.com/things/2vKBHQ1HEI3 Tinkercad]. I used some already purchased jewelry boxes, I only designed a new box base because the boxes were too tall. The files on Tinkercad are based on this type of boxes. '''Detailed instructions''' (follow the images above) * choose (and mark) a side of the frame to be the top of the clock, clean the smoked plexiglass sheet, put it in the frame; * place the printed paper sheet and the 3D printed grid; * drill with 2 mm diameter bit through the plastic grid to make room for the screws in the frame; * screw the plastic grid; * mark on the frame the place for holes and lock the frame to the plexiglass support; * drill the holes with a 2mm diameter bit (enlarge the holes in the support with a 3mm diameter bit, make the coining with a 10mm diameter bit) and screw it all together. The last image shows an almost finished enclosure. image shows an almost finished enclosure.)
  • VERBIS - Desktop 8x8 RGB LED Matrix Word Clock  + ('''Wooden photo frame''' You can make you'''Wooden photo frame''' You can make your own frame, there are a dozen of articles about this, even here on Instructables. But a simpler solution would be finding a framing company where you can order a personalized frame with your required dimensions and you can choose from many frame types. This is exactly what I did. I ordered my frames with a specific dimension: the framed photo, in my case object (display) is 80x80mm. I also asked for an accurate dimension, I didn't want the frame to be too big for the 3D printed plastic grid. '''Plexiglass support''' The plexiglass support can be also be made DIY but for an amateur it is not very easy to cut and blend plexiglass. So I ordered several supports from an advertising company that makes all kinds of plexiglass objects. The dimensions I used are: width - 120mm, first part length - 180mm, second part length - 50mm, 15° bending angle. '''Display plexiglass sheet''' The 3mm grey smoked plexiglass sheet can be cut from a bigger sheet, obtaining the required 80x80mm dimension. '''Plastic grid''' The STL file for 3D printing can be downloaded from [https://www.tinkercad.com/things/arRYOVE5Lbk Tinkercad] '''Display Printed Paper Sheet''' The SVG file for the Printed Paper Sheet is attached, and it can be edited with Inkscape. You can make your own display layout based on this SVG file, I used [https://www.wordsearchkit.com/ Word Search Construction Kit] software to generate a words layout for the time display. You can print the file repeatedly on the same sheet of paper to achieve a good, opaque, black background. I got very good results with a cheap inkjet printer and standard white copier paper. I cut off the layout with a pair of scissors. '''Plastic box for electronics''' The files that you can 3d print are also on [https://www.tinkercad.com/things/2vKBHQ1HEI3 Tinkercad]. I used some already purchased jewelry boxes, I only designed a new box base because the boxes were too tall. The files on Tinkercad are based on this type of boxes. '''Detailed instructions''' (follow the images above) * choose (and mark) a side of the frame to be the top of the clock, clean the smoked plexiglass sheet, put it in the frame; * place the printed paper sheet and the 3D printed grid; * drill with 2 mm diameter bit through the plastic grid to make room for the screws in the frame; * screw the plastic grid; * mark on the frame the place for holes and lock the frame to the plexiglass support; * drill the holes with a 2mm diameter bit (enlarge the holes in the support with a 3mm diameter bit, make the coining with a 10mm diameter bit) and screw it all together. The last image shows an almost finished enclosure. image shows an almost finished enclosure.)
  • Geiger counter 12+  + (<u>https://world-nuclear.org/nuclearhttps://world-nuclear.org/nuclear-basics/what-is-radiation.aspx Radiation is energy travelling through space. Sunshine is one of the most familiar forms of radiation. It delivers light, heat and suntans. While enjoying and depending on it, we control our exposure to it. Beyond ultraviolet radiation from the sun are higher-energy kinds of radiation which are used in medicine and which we all get in low doses from space, from the air, and from the earth and rocks.rom space, from the air, and from the earth and rocks.)
  • Getting Started with ESP-NOW  + (You must check out [https://www.pcbway.comYou must check out [https://www.pcbway.com/ PCBWAY] for ordering PCBs online for cheap! You get 10 good-quality PCBs manufactured and shipped to your doorstep for cheap. You will also get a discount on shipping on your first order. Upload your Gerber files onto [https://www.pcbway.com/ PCBWAY] to get them manufactured with good quality and quick turnaround time. PCBWay now could provide a complete product solution, from design to enclosure production. Check out their online Gerber viewer function. With reward points, you can get free stuff from their gift shop.u can get free stuff from their gift shop.)
  • AWS IoT Core IoT Platform Series - 6  + (You must check out [https://www.pcbway.comYou must check out [https://www.pcbway.com/ PCBWAY f]or ordering PCBs online for cheap! You get 10 good-quality PCBs manufactured and shipped to your doorstep for cheap. You will also get a discount on shipping on your first order. Upload your Gerber files onto [https://www.pcbway.com/ PCBWAY t]o get them manufactured with good quality and quick turnaround time. PCBWay now could provide a complete product solution, from design to enclosure production. Check out their online Gerber viewer function. With reward points, you can get free stuff from their gift shop.u can get free stuff from their gift shop.)
  • M5Stick C Captive Portal  + (You must check out [https://www.pcbway.comYou must check out [https://www.pcbway.com/ PCBWAY] for ordering PCBs online for cheap! You get 10 good-quality PCBs manufactured and shipped to your doorstep for cheap. You will also get a discount on shipping on your first order. Upload your Gerber files onto [https://www.pcbway.com/ PCBWAY] to get them manufactured with good quality and quick turnaround time. PCBWay now could provide a complete product solution, from design to enclosure production. Check out their online Gerber viewer function. With reward points, you can get free stuff from their gift shop.u can get free stuff from their gift shop.)
  • Node Red with Raspberry Pi  + (You must check out [https://www.pcbway.comYou must check out [https://www.pcbway.com/ PCBWAY] for ordering PCBs online for cheap! You get 10 good-quality PCBs manufactured and shipped to your doorstep for cheap. You will also get a discount on shipping on your first order. Upload your Gerber files onto [https://www.pcbway.com/ PCBWAY] to get them manufactured with good quality and quick turnaround time. PCBWay now could provide a complete product solution, from design to enclosure production. Check out their online Gerber viewer function. With reward points, you can get free stuff from their gift shop.u can get free stuff from their gift shop.)
  • Appliances Control with ESPNOW  + (You must check out [https://www.pcbway.comYou must check out [https://www.pcbway.com/ PCBWAY] for ordering PCBs online for cheap! You get 10 good-quality PCBs manufactured and shipped to your doorstep for cheap. You will also get a discount on shipping on your first order. Upload your Gerber files onto [https://www.pcbway.com/ PCBWAY] to get them manufactured with good quality and quick turnaround time. PCBWay now could provide a complete product solution, from design to enclosure production. Check out their online Gerber viewer function. With reward points, you can get free stuff from their gift shop.u can get free stuff from their gift shop.)
  • Temperature Control Neo Pixels with Arduino Nano  + (You must check out [https://www.pcbway.comYou must check out [https://www.pcbway.com/ PCBWAY] for ordering PCBs online for cheap! You get 10 good-quality PCBs manufactured and shipped to your doorstep for cheap. You will also get a discount on shipping on your first order. Upload your Gerber files onto [https://www.pcbway.com/ PCBWAY] to get them manufactured with good quality and quick turnaround time. PCBWay now could provide a complete product solution, from design to enclosure production. Check out their online Gerber viewer function. With reward points, you can get free stuff from their gift shop. Also, check out this useful blog on PCBWay Plugin for KiCad from [https://www.pcbway.com/blog/News/PCBWay_Plug_In_for_KiCad_3ea6219c.html here]. Using this plugin, you can directly order PCBs in just one click after completing your design in KiCad.ick after completing your design in KiCad.)
  • DHT11 with ESPNOW  + (You must check out [https://www.pcbway.comYou must check out [https://www.pcbway.com/ PCBWAY] for ordering PCBs online for cheap! You get 10 good-quality PCBs manufactured and shipped to your doorstep for cheap. You will also get a discount on shipping on your first order. Upload your Gerber files onto [https://www.pcbway.com/ PCBWAY] toget them manufactured with good quality and quick turnaround time. PCBWay now could provide a complete product solution, from design to enclosure production. Check out their online Gerber viewer function. With reward points, you can get free stuff from their gift shop.u can get free stuff from their gift shop.)
  • Ethernet-Enhanced LoRa Gateway Minimizing Delay  + (You must check out [https://www.pcbway.comYou must check out [https://www.pcbway.com/ PCBWAY] for ordering PCBs online for cheap! You get 10 good-quality PCBs manufactured and shipped to your doorstep for cheap. You will also get a discount on shipping on your first order. Upload your Gerber files onto [https://www.pcbway.com/ PCBWAY] to get them manufactured with good quality and quick turnaround time. PCBWay now could provide a complete product solution, from design to enclosure production. Check out their online Gerber viewer function. With reward points, you can get free stuff from their gift shop. Also, check out this useful blog on PCBWay Plugin for KiCad from [https://www.pcbway.com/blog/News/PCBWay_Plug_In_for_KiCad_3ea6219c.html here.] Using this plugin, you can directly order PCBs in just one click after completing your design in KiCad.ick after completing your design in KiCad.)
  • Water Quality Monitoring System Based on IOT  + (You must check out [https://www.pcbway.comYou must check out [https://www.pcbway.com/ PCBWAY] for ordering PCBs online for cheap! You get 10 good-quality PCBs manufactured and shipped to your doorstep for cheap. You will also get a discount on shipping on your first order. Upload your Gerber files onto [https://www.pcbway.com/ PCBWAY] to get them manufactured with good quality and quick turnaround time. PCBWay now could provide a complete product solution, from design to enclosure production. Check out their online Gerber viewer function. With reward points, you can get free stuff from their gift shop.u can get free stuff from their gift shop.)
  • OpenKnit: digital fabrication tool to create your own clothes  + (You'll need to thread: two 20x20x800 mm bars: 6 mm tool on both sides. two 30x30x800 mm bars: 8 mm tool on both sides. two 30x30x162 mm bars: 8 mm tool on ONE side, plus one 8 mm hole on the top (see image).)
  • ESP32 DHT22 IFTTT  + (You will need a Python IDE such as Thonny for this project. You can use any IDE, but for this project, we are using Thonny. To install and use Thonny: *Go to https://thonny.org/ *Download *Install and then open)
  • Energy saving house with ESP32  + (You will need to use Arduino IDE to code aYou will need to use Arduino IDE to code and upload the firmware onto your ESP32 board. Download the software by visiting [https://www.arduino.cc/en/Main/Software? Arduino IDE] > Scroll down until you see the “Download the Arduino IDE” section and choose the version based upon your operating system (e.g. If you have Windows 7, choose “Windows Installer” / if you have Windows 10, choose “Windows app”) > On the next page choose “Just download” and run the installation files. “Just download” and run the installation files.)
  • Energy saving house with ESP32  + (You will need to use Arduino IDE to code aYou will need to use Arduino IDE to code and upload the firmware onto your ESP32 board. Download the software by visiting [https://www.arduino.cc/en/Main/Software? Arduino IDE] > Scroll down until you see the “Download the Arduino IDE” section and choose the version based upon your operating system (e.g. If you have Windows 7, choose “Windows Installer” / if you have Windows 10, choose “Windows app”) > On the next page choose “Just download” and run the installation files. “Just download” and run the installation files.)
  • ESP32 HC-SR04 Ultrasonic IFTTT  + (<nowiki><br/><div class="mw
    import machine
    import time
    import urequests
    import network

    # Wi-Fi credentials
    ssid = 'wifi_name' #input your own wifi name
    password = 'password' #input your own password

    # IFTTT webhook key
    api_key = 'your_own_key' #input your own key

    # Connect to Wi-Fi
    station = network.WLAN(network.STA_IF)
    station.active(True)
    station.connect(ssid, password)
    while station.isconnected() == False:
    pass
    print('Connection successful')
    print(station.ifconfig())

    # Set up ultrasonic sensor
    trigger = machine.Pin(4, machine.Pin.OUT)
    echo = machine.Pin(5, machine.Pin.IN)


    def main():
    while True:
    # Send trigger pulse
    trigger.value(0)
    time.sleep_us(5)
    trigger.value(1)
    time.sleep_us(10)
    trigger.value(0)

    # Measure duration of echo pulse
    while echo.value() == 0:
    start = time.ticks_us()
    while echo.value() == 1:
    end = time.ticks_us()
    duration = time.ticks_diff(end, start)

    # Calculate distance
    distance = duration * 0.034 / 2


    # Send data to IFTTT
    data = {'value1': distance}
    submitData("ultrasonic_distance", data)


    # Delay before next measurement
    time.sleep(5)

    def submitData(event, data):
    try:
    print('Sending data to IFTTT:', data)
    request_headers = {'Content-Type': 'application/json'}
    request = urequests.post(
    'https://maker.ifttt.com/trigger/'+ event + '/with/key/' + api_key,
    json=data,headers=request_headers)
    print(request.text)
    request.close()
    except OSError as e:
    print('Failed to send data to IFTTT.', e)

    if __name__ == '__main__':
    main()
    )<br /> request.close()<br /> except OSError as e:<br /> print('Failed to send data to IFTTT.', e)<br /> <br />if __name__ == '__main__':<br /> main()</pre></div></nowiki>)
  • Arrosage Automatique  + (<nowiki>Le programme est le suivant Le programme est le suivant :

    [code]

    #include

    #define LIGHT_SENSOR A0

    int sensorPin = A5; // Déclaration de la broche d'entrée de thermomètre

    double Thermistor(int RawADC) //Calcul température du capteur correspondant

    {

        double Temp;

        Temp = log(10000.0 * ((1024.0 / RawADC - 1)));

        Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp )) * Temp );

        Temp = Temp - 227.15;            // conversion de degrés Kelvin en °C

        return Temp;

    }

    int PinNumeriqueHumidite=2;

    int humidite;

    void setup() 

    {

      Serial.begin (9600);

      pinMode(10, OUTPUT);

      pinMode(PinNumeriqueHumidite, INPUT);

    }

    void loop() 

    {   

      int readVal = analogRead(sensorPin);

      double temperature =  Thermistor(readVal);

      int luminosite = analogRead(LIGHT_SENSOR);

      Serial.println("Température = ");

      Serial.print(temperature);

      Serial.println(" degrés.");

      delay(500);  

      humidite = digitalRead(PinNumeriqueHumidite);

      Serial.println("Humidité = ");

      Serial.println(humidite);

      delay(500);  

      Serial.println("Luminosité = ");

      Serial.println(luminosite);

      delay(500);

      if (humidite==1) 

         {

           if ((temperature>2) && (temperature<=10))

              {

                if (luminosite>100)

                   {

                    digitalWrite(10, HIGH);

                    delay(500);

                    digitalWrite(10, LOW);

                   }

                else 

                {

                  digitalWrite(10, LOW);

                }

              }              

           if ((temperature>10) && (temperature<25))

              {

                digitalWrite(10, HIGH);   // Pompe allumée

                delay (10000); 

                digitalWrite(10, LOW);      

              }

           if (temperature>=25)

              {

                digitalWrite(10, HIGH);

                delay(15000);

                digitalWrite(10, LOW);

              }

           else 

           {

                digitalWrite(10, LOW);    

           }

         }

    else 

    {

      digitalWrite(10, LOW);

    }

    }

    [/code]
    br /><br />            digitalWrite(10, LOW);      <br /><br />          }<br /><br />       if (temperature>=25)<br /><br />          {<br /><br />            digitalWrite(10, HIGH);<br /><br />            delay(15000);<br /><br />            digitalWrite(10, LOW);<br /><br />          }<br /><br />       else <br /><br />       {<br /><br />            digitalWrite(10, LOW);    <br /><br />       }<br /><br />     }<br /><br />else <br /><br />{<br /><br />  digitalWrite(10, LOW);<br /><br />}<br /><br />}<br /><br />[/code]</nowiki>)
  • Oracle 1Z0-1032-24 Exam Dumps With Practice Questions  + (== '''Oracle 1Z0-1032-24 Exam: Updated Que== '''Oracle 1Z0-1032-24 Exam: Updated Questions Cover the Most Recent Topics''' == It is crucial to successfully complete the Oracle 1Z0-1032-24 exam; however, the preparation process can be difficult. One issue that may arise is the difficulty of locating current Oracle 1Z0-1032-24 study materials. The utilization of Oracle 1Z0-1032-24 materials that are obsolete can be deceptive. Certsadvice comprehends this matter and offers superior-quality 1Z0-1032-24 questions to assist you in achieving success in the demanding Oracle 1Z0-1032-24 exam. Our Oracle 1Z0-1032-24 test dumps have been recently updated and are comprehensively updated to include the most recent Oracle 1Z0-1032-24 exam questions. These [http://www.certsadvice.com/oracle/1z0-1032-24-practice-questions '''Oracle 1Z0-1032-24 valid dumps'''] will enable you to rapidly prepare for the Oracle 1Z0-1032-24 final exam. === '''Examine Diverse Methods for Preparing for Oracle 1Z0-1032-24 Exam Questions!''' === We are aware that candidates for the Oracle 1Z0-1032-24 exam prepare for the test in a variety of methods according to the exam dumps. This is the reason we offer Oracle Exam 1Z0-1032-24 actual questions in three formats: Oracle 1Z0-1032-24 PDF documents, Oracle  1Z0-1032-24 desktop software, and a web-based practice test. These alternatives guarantee that all individuals have the freedom to prepare for the Oracle 1Z0-1032-24 exam in the manner that they prefer. Additionally, you may evaluate the suitability of our Oracle  1Z0-1032-24 practice questions material by utilizing our complimentary demonstrations prior to making a purchase. === '''Certsadvice Oracle 1Z0-1032-24 Desktop Practice Test Software: Advantages!''' === Using the Oracle 1Z0-1032-24 practice exam software on a Windows computer simulates the experience of taking the Oracle 1Z0-1032-24 real test. You have the ability to modify the number of questions and the time allotted for the Oracle Exam 1Z0-1032-24. This alleviates your anxiety regarding the Oracle 1Z0-1032-24 actual exam. In the Certsadvice Oracle 1Z0-1032-24 practice test, you can also monitor your progress and learn from any errors you make. === '''No software installation is required: Take the Oracle 1Z0-1032-24 Practice Exam from any location online with Certsadvice!''' === Certsadvice online practice test for the [http://www.certsadvice.com/oracle/1z0-1032-24-practice-questions '''Oracle 1Z0-1032-24 exam'''] is adaptable and provides a realistic simulation of the actual exam. Our Oracle Exam 1Z0-1032-24 practice exam displays your advancement as you advance. The unique feature is that you can take this Oracle 1Z0-1032-24 practice test online without the need to install any software. Certsadvice Oracle 1Z0-1032-24 practice exam is compatible with all web browsers and operating systems. === '''Large Discounts - Discount Code: OFF-35! - 35% Off Time-Select!Access Oracle 1Z0-1032-24 PDF Questions from Anywhere with Certsadvice!''' === The Oracle Exam 1Z0-1032-24 PDF exam questions are convenient to print and transport. You may utilize the Oracle 1Z0-1032-24 test papers PDF version on your smartphones, tablets, or computers. These [http://www.certsadvice.com/oracle/1z0-1032-24-practice-questions '''Oracle 1Z0-1032-24 PDF questions'''] will enable you to prepare for the Oracle 1Z0-1032-24 test at your convenience, regardless of your location. Additionally, it is possible to print the Oracle 1Z0-1032-24 authentic PDF extracts in order to take notes and study without the use of a smart device. === '''Keep Up-to-Date with Free Certsadvice Oracle 1Z0-1032-24 Exam Question Updates!''' === We take great pride in providing the most up-to-date questions for the Oracle Exam 1Z0-1032-24. Our inquiries pertain to the most recent Oracle 1Z0-1032-24 exam dumps content. Our team of professionals is committed to guaranteeing the authenticity of our Oracle 1Z0-1032-24 genuine exam questions. We offer up to three months of free updates for authentic Oracle Certification Exam Questions in order to assist you in saving money when the domains of the Oracle 1Z0-1032-24 test dumps change. Our Oracle 1Z0-1032-24 dumps updates are available for free. Stay informed. Acquire genuine Oracle 1Z0-1032-24 exam questions today.
    le 1Z0-1032-24 exam questions today. <br/>)
  • New Launch Oracle 1Z0-1033-23 Dumps  + (== '''Oracle 1Z0-1033-23 Exam: Updated Que== '''Oracle 1Z0-1033-23 Exam: Updated Questions Cover the Most Recent Topics''' == It is crucial to successfully complete the Oracle 1Z0-1033-23 exam; however, the preparation process can be difficult. One issue that may arise is the difficulty of locating current Oracle 1Z0-1033-23 study materials. The utilization of Oracle 1Z0-1033-23 materials that are obsolete can be deceptive. Certsadvice comprehends this matter and offers superior-quality 1Z0-1033-23 questions to assist you in achieving success in the demanding Oracle 1Z0-1033-23 exam. Our Oracle 1Z0-1033-23 test dumps have been recently updated and are comprehensively updated to include the most recent Oracle 1Z0-1033-23 exam questions. These [http://www.certsadvice.com/oracle/1z0-1033-23-practice-questions '''Oracle 1Z0-1033-23 valid dumps'''] will enable you to rapidly prepare for the Oracle 1Z0-1033-23 final exam. === '''Examine Diverse Methods for Preparing for Oracle 1Z0-1033-23 Exam Questions!''' === We are aware that candidates for the Oracle 1Z0-1033-23 exam prepare for the test in a variety of methods according to the exam dumps. This is the reason we offer Oracle Exam 1Z0-1033-23 actual questions in three formats: Oracle 1Z0-1033-23 PDF documents, Oracle  1Z0-1033-23 desktop software, and a web-based practice test. These alternatives guarantee that all individuals have the freedom to prepare for the Oracle 1Z0-1033-23 exam in the manner that they prefer. Additionally, you may evaluate the suitability of our Oracle  1Z0-1033-23 practice questions material by utilizing our complimentary demonstrations prior to making a purchase. === '''Certsadvice Oracle 1Z0-1033-23 Desktop Practice Test Software: Advantages!''' === Using the Oracle 1Z0-1033-23 practice exam software on a Windows computer simulates the experience of taking the Oracle 1Z0-1033-23 real test. You have the ability to modify the number of questions and the time allotted for the Oracle Exam 1Z0-1033-23. This alleviates your anxiety regarding the Oracle 1Z0-1033-23 actual exam. In the Certsadvice Oracle 1Z0-1033-23 practice test, you can also monitor your progress and learn from any errors you make. === '''No software installation is required: Take the Oracle 1Z0-1033-23 Practice Exam from any location online with Certsadvice!''' === Certsadvice online practice test for the [http://www.certsadvice.com/oracle/1z0-1033-23-practice-questions '''Oracle 1Z0-1033-23 exam'''] is adaptable and provides a realistic simulation of the actual exam. Our Oracle Exam 1Z0-1033-23 practice exam displays your advancement as you advance. The unique feature is that you can take this Oracle 1Z0-1033-23 practice test online without the need to install any software. Certsadvice Oracle 1Z0-1033-23 practice exam is compatible with all web browsers and operating systems. === '''Large Discounts - Discount Code: OFF-35! - 35% Off Time-Select!Access Oracle 1Z0-1033-23 PDF Questions from Anywhere with Certsadvice!''' === The Oracle Exam 1Z0-1033-23 PDF exam questions are convenient to print and transport. You may utilize the Oracle 1Z0-1033-23 test papers PDF version on your smartphones, tablets, or computers. These [http://www.certsadvice.com/oracle/1z0-1033-23-practice-questions '''Oracle 1Z0-1033-23 PDF questions'''] will enable you to prepare for the Oracle 1Z0-1033-23 test at your convenience, regardless of your location. Additionally, it is possible to print the Oracle 1Z0-1033-23 authentic PDF extracts in order to take notes and study without the use of a smart device. === '''Keep Up-to-Date with Free Certsadvice Oracle 1Z0-1033-23 Exam Question Updates!''' === We take great pride in providing the most up-to-date questions for the Oracle Exam 1Z0-1033-23. Our inquiries pertain to the most recent Oracle 1Z0-1033-23 exam dumps content. Our team of professionals is committed to guaranteeing the authenticity of our Oracle 1Z0-1033-23 genuine exam questions. We offer up to three months of free updates for authentic Oracle Certification Exam Questions in order to assist you in saving money when the domains of the Oracle 1Z0-1033-23 test dumps change. Our Oracle 1Z0-1033-23 dumps updates are available for free. Stay informed. Acquire genuine Oracle 1Z0-1033-23 exam questions today.
    le 1Z0-1033-23 exam questions today. <br/>)
  • Johan  + (== '''Oracle 1Z0-1033-24 Exam: Updated Que== '''Oracle 1Z0-1033-24 Exam: Updated Questions Cover the Most Recent Topics''' == It is crucial to successfully complete the Oracle 1Z0-1033-24 exam; however, the preparation process can be difficult. One issue that may arise is the difficulty of locating current Oracle 1Z0-1033-24 study materials. The utilization of Oracle 1Z0-1033-24 materials that are obsolete can be deceptive. Certsadvice comprehends this matter and offers superior-quality 1Z0-1033-24 questions to assist you in achieving success in the demanding Oracle 1Z0-1033-24 exam. Our Oracle 1Z0-1033-24 test dumps have been recently updated and are comprehensively updated to include the most recent Oracle 1Z0-1033-24 exam questions. These [http://www.certsadvice.com/oracle/1z0-1033-24-practice-questions '''Oracle 1Z0-1033-24 valid dumps'''] will enable you to rapidly prepare for the Oracle 1Z0-1033-24 final exam. === '''Examine Diverse Methods for Preparing for Oracle 1Z0-1033-24 Exam Questions!''' === We are aware that candidates for the Oracle 1Z0-1033-24 exam prepare for the test in a variety of methods according to the exam dumps. This is the reason we offer Oracle Exam 1Z0-1033-24 actual questions in three formats: Oracle 1Z0-1033-24 PDF documents, Oracle  1Z0-1033-24 desktop software, and a web-based practice test. These alternatives guarantee that all individuals have the freedom to prepare for the Oracle 1Z0-1033-24 exam in the manner that they prefer. Additionally, you may evaluate the suitability of our Oracle  1Z0-1033-24 practice questions material by utilizing our complimentary demonstrations prior to making a purchase. === '''Certsadvice Oracle 1Z0-1033-24 Desktop Practice Test Software: Advantages!''' === Using the Oracle 1Z0-1033-24 practice exam software on a Windows computer simulates the experience of taking the Oracle 1Z0-1033-24 real test. You have the ability to modify the number of questions and the time allotted for the Oracle Exam 1Z0-1033-24. This alleviates your anxiety regarding the Oracle 1Z0-1033-24 actual exam. In the Certsadvice Oracle 1Z0-1033-24 practice test, you can also monitor your progress and learn from any errors you make. === '''No software installation is required: Take the Oracle 1Z0-1033-24 Practice Exam from any location online with Certsadvice!''' === Certsadvice online practice test for the [http://www.certsadvice.com/oracle/1z0-1033-24-practice-questions '''Oracle 1Z0-1033-24 exam'''] is adaptable and provides a realistic simulation of the actual exam. Our Oracle Exam 1Z0-1033-24 practice exam displays your advancement as you advance. The unique feature is that you can take this Oracle 1Z0-1033-24 practice test online without the need to install any software. Certsadvice Oracle 1Z0-1033-24 practice exam is compatible with all web browsers and operating systems. === '''Large Discounts - Discount Code: OFF-35! - 35% Off Time-Select!Access Oracle 1Z0-1033-24 PDF Questions from Anywhere with Certsadvice!''' === The Oracle Exam 1Z0-1033-24 PDF exam questions are convenient to print and transport. You may utilize the Oracle 1Z0-1033-24 test papers PDF version on your smartphones, tablets, or computers. These [http://www.certsadvice.com/oracle/1z0-1033-24-practice-questions '''Oracle 1Z0-1033-24 PDF questions'''] will enable you to prepare for the Oracle 1Z0-1033-24 test at your convenience, regardless of your location. Additionally, it is possible to print the Oracle 1Z0-1033-24 authentic PDF extracts in order to take notes and study without the use of a smart device. === '''Keep Up-to-Date with Free Certsadvice Oracle 1Z0-1033-24 Exam Question Updates!''' === We take great pride in providing the most up-to-date questions for the Oracle Exam 1Z0-1033-24. Our inquiries pertain to the most recent Oracle 1Z0-1033-24 exam dumps content. Our team of professionals is committed to guaranteeing the authenticity of our Oracle 1Z0-1033-24 genuine exam questions. We offer up to three months of free updates for authentic Oracle Certification Exam Questions in order to assist you in saving money when the domains of the Oracle 1Z0-1033-24 test dumps change. Our Oracle 1Z0-1033-24 dumps updates are available for free. Stay informed. Acquire genuine Oracle 1Z0-1033-24 exam questions today.
    le 1Z0-1033-24 exam questions today. <br/>)
  • One Shot Keto reviews for Canada  + (One Shot Keto, like any other exogenous keOne Shot Keto, like any other exogenous ketones, has the same function: to boost ketone level in your blood and help the users to reach the stage called ketosis. Ketones are the derivatives of fat that are used by your body as a fuel. This is the most important aspect where most of the people seem to be confused. Let me clarify for you as simply as possible. First, I want to clarify the myths regarding the use of exogenous ketones. '''Does One Shot Keto Perfect Work?''' This is the most important aspect where most of the people seem to be confused. Let me clarify for you as simply as possible. First, I want to clarify the myths regarding the use of exogenous ketones. '''If keto diet is necessary, what is the use of One Shot Keto?''' If you can remain strongly committed to Keto diet no matter how hard it may be, restrain yourself from over-eating no matter how hungry you may feel and wait as long as it may take to lose your weight then you don’t need One Shot Keto or any other supplements. So, the bottom line is, One Shot Keto helps you a lot in your transition from your normal diet to Keto diet and to remain in the Keto diet. '''One Shot Keto Real-Life Usage Experience''' After seeing most of the people claim to have a positive experience with One Shot Keto, I decided to give it a try. Instead of trying at a single time, I took One Shot Keto at different times of the day. '''i. Morning''' I took One Shot Keto in the morning to check whether it curbs my appetite and it did, to some extent. It allowed me to go some extra hours without eating. '''ii. Afternoon''' It is very common to feel dull, lazy, and exhausted during the day, especially at the beginning of keto diet or when we are fasting along with keto diet. Although it wasn’t as quick as I expected, taking One Shot Keto in this situation actually energized me and definitely made me feel a lot better. It took around 10-15 minutes to actually see the results and only lasted a few hours but it felt like taking a painkiller. '''iii. Before Workout''' I could do some light to moderate workout after taking One Shot Keto. I got tired and needed more rest than the time I was on a normal diet but being able to workout on Keto diet is a huge plus point. Doing heavy exercise is a bad idea during keto diet as it may lead one shot keto, so, we avoided it. '''One Shot Keto Pricing''' If you are worry about the one shot Keto price, so just I will reveal here, it is available at afffordable price in canada. I will recommend about purcharse Keto One Shot from Official website.harse Keto One Shot from Official website.)
  • Qubitro Device Data - IoT Platform Series  + (<nowiki>To get started with Qubitro,To get started with Qubitro, we will first need to create an account. Go to the Qubitro website (https://www.qubitro.com/) and click on the "Sign Up" button. You will be prompted to enter ''Full Name'', ''Email Address,Country'', and ''password'' to create your account.


    Once, we have created the account, we can log in from '''https://portal.qubitro.com/login.''' However, we shall automatically be logged in to our account.
    shall automatically be logged in to our account.</nowiki>)
  • Real Time System Telemetry Dashboard with FireBeetle ESP32P4  + ( * '''DFRobot FireBeetle ESP32‑P4''' board * '''DFRobot FireBeetle ESP32‑P4''' board (or compatible ESP32‑P4 board * USB cable (for power, programming, and serial data) * Optional: small breadboard / jumper wires if you want to wire external LED or buttons (onboard LED uses pin 3) '''Display / UI''' * No OLED required for the web UI version — everything is in the browser. '''Software on PC''' * '''Python 3.8+''' * Python packages: '''pyserial''', '''psutil''' (install with pip install pyserial psutil) '''Arduino IDE''' * Latest Arduino IDE or VS Code with PlatformIO * ESP32 board support installed (Espressif package) * Libraries: '''Arduino_JSON''' (install via Library Manager) '''Network''' * Local Wi‑Fi network credentials (SSID and password) for the ESP32 to host the webserver (SSID and password) for the ESP32 to host the webserver )
  • Concentrateur solaire likes  + (On utilise un moteur pas a pas de 2N/m de couple pour que notre tracker puisse suivre le soleil. On relie le moteur avec la mâchoire de tuyau.)
  • Crear perfiles iniciales para HPRO en Orca Slicer  + (Podemos descargar el programa de estos enlPodemos descargar el programa de estos enlaces * https://github.com/SoftFever/OrcaSlicer/releases * https://orcaslicer.com/ Recomendamos descargar la última versión estable.
    Cuidado con páginas webs fraudulentas, ya que en los últimos meses han surgido algunas.
    nas webs fraudulentas, ya que en los últimos meses han surgido algunas.</div> </div>)
  • Static IP Address on Xiao ESP32 S3 Sense  + (An IP address is a unique identifier for aAn IP address is a unique identifier for a device on a network. It consists of four numbers separated by dots, such as 192.168.1.100. A static IP address is an IP address that does not change, unlike a dynamic IP address that is assigned by a router or a DHCP server. === Advantages === * Easier to remember and access. * More reliable and stable connection * Less prone to IP conflicts or errors === Disadvantages === * More difficult to configure and maintain. * Less flexible and scalable * More vulnerable to security risks Therefore, you should only use a static IP address if you have a specific need for it, and if you are aware of the potential drawbacks. you are aware of the potential drawbacks.)
  • Manipulate the CubePro Trio  + (After downloading the program and installing it using it's serial number and activating it, we must launch the program.)
  • Best Method to Upload Apple Music to Dropbox  + (Apple Music songs are protected. FortunateApple Music songs are protected. Fortunately, with today's technology, you are just a few clicks away to get all protection-free music files by a tool such as TunesKit [https://www.tuneskit.com/audio-converter/ Apple Music Converter], which is a top-notch converting tool in the market. It supersedes other tools by integrating the fast and lossless converting technology plus multiple formats and device compatibility so as to promise the ultimate user experience. After the conversion, you can also [https://www.tuneskit.com/apple-music-tips/transfer-apple-music-to-google-drive.html play Apple Music on Google Drive] or other clouds easily.lay Apple Music on Google Drive</u>] or other clouds easily.)
  • Gant Sonar  + ('''Arduino UNO''' '''Capteur Ultrason (H'''Arduino UNO''' '''Capteur Ultrason (HC-SR04)''' - GND = GND - VCC = 5V - Trig = Pin 9 - Echo = Pin8 '''Alternateur 10A , 5V (SRD-5VDC-SL-C)''' -VCC = 5V - GND = GND - IN = Pin 6 - ON = + Moteur - COM = - Moteur '''Moteur''' + Moteur= - COM ( Alternateur) - Moteur = GNDeur= - COM ( Alternateur) - Moteur = GND)
  • Gant Sonar  + ('''Arduino UNO''' '''Capteur Ultrason (H'''Arduino UNO''' '''Capteur Ultrason (HC-SR04)''' - GND = GND - VCC = 5V - Trig = Pin 9 - Echo = Pin8 '''Alternateur 10A , 5V (SRD-5VDC-SL-C)''' -VCC = 5V - GND = GND - IN = Pin 6 - ON = + Moteur - COM = - Moteur '''Moteur''' + Moteur= - COM ( Alternateur) - Moteur = GNDeur= - COM ( Alternateur) - Moteur = GND)
  • Prothèse de main commandée par des capteurs musculaires  + (Assembler ensuite les composants comme indiqué sur les photos. Serrer l'ensemble avec les vis.)
  • Prothèse de main commandée par des capteurs musculaires  + (Assembler ensuite les composants comme indiqué sur les photos. Serrer l'ensemble avec les vis.)
  • MUTED - boitier biodata vers module de synthétiseur analogique  + (Attention, il faut d'abord être capable deAttention, il faut d'abord être capable de brancher une plante sur une carte électronique pour capter et transformer de minuscules variations électriques. Ceci vous prendra entre deux heures et une demi-journée [http://wikifab.org/wiki/Capteur_BioData_pour_ESP32 en suivant le tuto de Stéphane Godin.]P32 en suivant le tuto de Stéphane Godin.])
  • Borne d'arcade  + (Avant de commencer, il faut trouver ou traAvant de commencer, il faut trouver ou tracer des plans pour son bartop (la partie haute de la borne donc). Pour ma part je me suis inspiré des plans fournis par [https://fr.scribd.com/document/399080507/arcade-plans-package-8-5x11-print-updated-november-2016-pdf Ronildo Brandao]. Après les avoir imprimé et scotchés, puis reproduits sur des grandes feuilles A2, j'ai construit une magnifique maquette en carton, taille réelle, pour avoir une idée de la place que cela prendrait, de la taille d'écran que je pourrai mettre, et de la largeur disponible pour que deux grandes personnes puissent se lancer des Hadoken confortablement. Donc on imprime, on trace, on coupe, et on construit...me, on trace, on coupe, et on construit...)
  • Découper au laser une modélisation sketchup  + (Avant d'enregistrer votre travail, il faut repositionner votre patron dans la feuille grâce aux deux outils de translation et de rotation du patron.)
  • Snap circuits activities for 12+  + (To begin with, kids will need to build or To begin with, kids will need to build or assemble a miniature house. They can build one using cardboard, or you can laser cut them in advance, using for example a 3mm thick MDF board. [https://drive.google.com/open?id=1JGQVbJy4yhH1qOw0H3IVO0c7uRhI1ZIY Here]’s the design of a miniature house, ready for laser cut. the design of a miniature house, ready for laser cut.)
  • Régulation de Température par Arduino  + (On chauffe de l'eau dans un bécher jusqu'àOn chauffe de l'eau dans un bécher jusqu'à une température de 50 °C. A l'instant où la température dépasse les 50 °C, le buzzer déclenche, et donne l'ordre à la pompe d'aspirer l'eau froide, afin de la faire circuler dans le tuyau qui est autour du bécher, sous forme de serpentin, qui sert à refroidir l'eau chaude. La pompe aspire l'eau froide à partir d'un bac, qui sera constitué d'un capteur de niveau, et relié à une électrovanne. Quand le niveau d'eau dans le bac diminue, le buzzer déclenche et donne l'ordre à l'électrovanne de s'ouvrir, pour ajuster le niveau d'eau afin d'éviter la cavitation de la pompe et sa défaillance. cavitation de la pompe et sa défaillance.)
  • 123Tourelle  + (Code Arduino commenté en fichiers joints ;Code Arduino commenté en fichiers joints ; voir le code pour les détails (fichier 123Tourelle_IMT_Bento_123Soleil.ino)
    Le programme nécessite l'installation de plusieurs librairies Adafruit (voir lignes "include"), pensez à les installer
    Le code comprend toute une mécanique pour sélectionner le mode via le potentiomètre. L'utilisation du potentiomètre a été essentiellement choisie pour les besoins de la formation (mais apporte aussi un feeling plus agréable pour ma part) ; cependant un simple bouton poussoir ou capteur capacitif aurait été plus adapté et plus précis.

    La vérification de la victoire du joueur pourrait être améliorée (plus propre) par l'utilisation des interruptions (bouton poussoir ou récepteur capacitif), au lieu de tester dans une boucle. Cependant, côté ressenti utilisateur, peu de différence à prévoir.
    Le code occupe plus de 90% de la mémoire de l'Arduino. Des actions ont du être effectuées pour réduire l'impact mémoire : chaines de caractères mises dans mémoire intégrée à l'Arduino, suppression de quelques animations plus ou moins superflues, suppression de certains "define", suppression de tous les messages de type Serial.print

    Pour éviter les "tremblements" du servo, celui-ci est activé (fonction "attach") à chaque besoin, puis désactivé ("detach") lorsque l'on n'en a plus besoin immédiatement
    <i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">Pour éviter les "tremblements" du servo, celui-ci est activé (fonction "attach") à chaque besoin, puis désactivé ("detach") lorsque l'on n'en a plus besoin immédiatement</div> </div>)
  • Connected house publishes sensor data on-line  + (Create a new feed by reaching https://io.adafruit.com/ > Feeds > Actions and then name it, for example “lightsensorvalue”.)
  • Connected house publishes sensor data on-line  + (Create a new feed by reaching https://io.adafruit.com/ > Feeds > Actions and then name it, for example “lightsensorvalue”.)
  • Utilisation Ultimaker 2+  + (Cura est ce qu'on appelle un slicer ; c'esCura est ce qu'on appelle un slicer ; c'est un logiciel qui sert à "trancher" votre fichier 3D pour que l'imprimante puisse l'imprimer. * Allez sur ce site : https://ultimaker.com/en/products/cura-software * Cliquez sur download for free. * un questionnaire va s'ouvrir vous demandant à quoi va servir Cura, si vous ne voulez pas vous embêter à répondre cliquez sur I don't want to share any information * une fois le logiciel téléchargé, lancez l'instalation logiciel téléchargé, lancez l'instalation)
  • SolarOSE - Guide 4: Skeleton of the receiver  + (Cut the 30x30x2300 mm square tube. Drill the fixation holes of the tepee. Drill and tap at 5 mm diameter the fixation holes of the junction.)
  • Contrôle du niveau d'eau  + (Dans cette étape nous avons relié la carte Arduino au capteur ultrason)
  • Marvin  + (Dans l'onglet "Fichier" de la page Wikifab, télécharger une des deux versions de Marvin, "emlyon" ou "early maker".)
  • Marvin  + (Dans l'onglet "Fichier" de la page Wikifab, télécharger une des deux versions de Marvin, "emlyon" ou "early maker".)
  • Arrosage automatique  + (Dans un premier temps, il faut commencer pDans un premier temps, il faut commencer par brancher la carte Arduino et la Base Shield V2 ensemble tout simplement en les emboîtant l’un dans l’autre. Cela permet de faciliter les branchements lorsqu’il est nécessaire de brancher plusieurs capteurs et d’éviter de mettre en désordre les câbles entre eux.e mettre en désordre les câbles entre eux.)
  • Bentolux - Module qualité de l'air ambiant  + ( *Decoupe au laser des parois de la boite (DOC1) *Assemblage de la boite (DOC2) *Branchement des composants (DOC3) *Programmation du code pour faire interagir les élements (ecran LCD, capteur Temp/Hum, anneau OLED) (DOC4) <br/> )
  • 3D printed furniture connectors  + (Different types of furniture connectors arDifferent types of furniture connectors are available on[https://www.thingiverse.com/thing:2443677 this Thingiverse entry]. The most basic one, suitable to construct  tables and shelves, is called JONCTION-P_Origin.stl Below you can view a 3D reconstruction of a simple table built with the furniture connectors. You can also view this object in VR by navigating to [https://sketchfab.com/models/c5f235fb44134da7ad367327c09faadf this] website on your smartphone
    09faadf <u>this</u>] website on your smartphone <br/>)
  • 3D printed furniture connectors  + (Different types of furniture connectors arDifferent types of furniture connectors are available on[https://www.thingiverse.com/thing:2443677 this Thingiverse entry]. The most basic one, suitable to construct  tables and shelves, is called JONCTION-P_Origin.stl Below you can view a 3D reconstruction of a simple table built with the furniture connectors. You can also view this object in VR by navigating to [https://sketchfab.com/models/c5f235fb44134da7ad367327c09faadf this] website on your smartphone
    09faadf <u>this</u>] website on your smartphone <br/>)
  • Impression 3D standard  + ( * Direction thingiverse.com * Trouver un STL à son goût (ici un T. Rex) * Le-télécharger <br/> )
  • Etage jardinière  + (fichiers -         La jardinière dans laquelle on placera la plante -         Le 4<sup>ème</sup> étage, dans lequel on installera le servo-moteur)
  • Etage jardinière  + (fichiers -         La jardinière dans laquelle on placera la plante -         Le 4<sup>ème</sup> étage, dans lequel on installera le servo-moteur)
  • Hands up Ready Go Scratch tutorial  + (First of all, click on the small cat pictuFirst of all, click on the small cat picture called “Sprite”. Pick a ‘starting block’ in the Event section (in brown). The green flag block is the most common. Next, pick one “if then” block for each team (you can find this in the Control -yellow- section). Choose a key for each “if then” block and connect it via the alligator clip to the Makey makey. It’s now time to discover a new type of blocks under the section “Looks”. We will start by using ‘switch backdrop to …’, we need one for the beginning of the code to set the background to the initial position (multicolor one), and one per each “IF THEN” block.or one), and one per each “IF THEN” block.)
  • Hands up Ready Go Scratch tutorial  + (First of all, click on the small cat pictuFirst of all, click on the small cat picture called “Sprite”. Pick a ‘starting block’ in the Event section (in brown). The green flag block is the most common. Next, pick one “if then” block for each team (you can find this in the Control -yellow- section). Choose a key for each “if then” block and connect it via the alligator clip to the Makey makey. It’s now time to discover a new type of blocks under the section “Looks”. We will start by using ‘switch backdrop to …’, we need one for the beginning of the code to set the background to the initial position (multicolor one), and one per each “IF THEN” block.or one), and one per each “IF THEN” block.)
  • Snap circuits tutorial  + (First, you will need to 3D print the snap First, you will need to 3D print the snap part. The stl file ready for 3D printing is available [https://drive.google.com/open?id=1N1k6RxDnZtbSd_nBgNX-ozBYsEIFRAkR here]. You can also tweak this design on [https://www.tinkercad.com/things/kYg3F6El7xx tinkercad] and make it suitable to hold 3-legged components (ex. temperature sensor, light sensor). A timelapse of the 3D printing process is available [https://drive.google.com/open?id=1GYF9cHVUO8Ps6hyx0DX7T5qe3AmTDtcx here].google.com/open?id=1GYF9cHVUO8Ps6hyx0DX7T5qe3AmTDtcx <u>here</u>].)
  • ESP32 Web Server with Slider  + (To follow along with this tutorial, you wiTo follow along with this tutorial, you will need the following components: * An ESP32 board (I’m using the ESP32 DevKitC) * The Arduino IDE installed on your computer * The ESPAsyncWebServer and AsyncTCP libraries installed on your Arduino IDE You can find the links to download the libraries and the complete code for this project at the end of this post. for this project at the end of this post.)
  • FabCat House  + (Follow the steps to assembly the object, it shouldn't take you long. If the thickness of the planks is right, you shouldn't need to use any glue.)
  • FabCat House  + (Follow the steps to assembly the object, it shouldn't take you long. If the thickness of the planks is right, you shouldn't need to use any glue.)
  • Led Control with ESP Webserver  + (To follow this tutorial, you need the following components: * An ESP32 development board * A USB cable to connect the ESP32 to the computer * The Arduino IDE installed on your computer * The ESP32 add-on for the Arduino IDE)
  • FlyPi  + (2- Gathering materials & Creating Part2- Gathering materials & Creating Parts: Not all parts are necessary to order for basic functionality. The repository has a detailed bill of materials that can be tailored to specific needs. * Electronic parts can be ordered from this kitspace page (lists have been conveniently compiled in various online market shopping carts): https://kitspace.org/boards/github.com/prometheus-science/flypi/ * 3D print files can be found in the files tab above. I started printing at the local fablab (fabrication laboratory) after ordering the parts I needed to build the microscope. This way I would have the body ready when the electronics arrived.e the body ready when the electronics arrived.)
  • TS Joiners to Combine TS Files without Re-encoding  + (Get your computer equipped with the [https://www.joyoshare.com/video-joiner/ video joiner]. From its main screen, find "Open File" to import TS files from local folder. Simply, drag and drop your TS videos to the specified area.)
  • Visual Gesture Controlled IoT Car  + (Have you watched the movie 'Project AlmanaHave you watched the movie 'Project Almanac'? Which was released in the year 2015. If not, then let me brief you a scene about it. In the movie, the main character wishes to get into MIT and therefore, builds a project for his portfolio. The project was about a drone, that could be controlled using a 2.4GHz remote controller, but when the software application on the laptop was run, the main character was seen controlling the drone with his hands in the air! The software application used a webcam to track the the movement of the character's hand movements.ovement of the character's hand movements.)
  • Mosquitto MQTT - IoT Platform Series  + (Here, there are 2 sections - '''Publish anHere, there are 2 sections - '''Publish and Subscribe'''. And then there is a middleman - '''Broker'''. Let us see in depth * IoT Devices play the role to collect sensor data and send to the cloud (broker). While '''PC''' '''/''' '''Server''' '''/''' '''Mobile devices''' play the role to monitor and receive the sensor data to be viewed - Here, '''IoT Device''' is a '''Publisher''', and '''PC Devices''' are '''Subscriber'''.
    [EXAMPLE] When a '''user1''' publishes an image on social media, then only the '''user2''' subscribed to '''user1''' can view/receive the image. Here, the '''user1''' is the '''PUBLISHER''', '''user2''' is the '''SUBSCRIBER''', and the '''user1's account''' is the '''BROKER'''.
    * According to the above analogy, the image that is published is the data, that was '''transferred from user1 to user2''' 📤. And that is the exact scenario in an MQTT Pub/Sub model. * We have a more secure layer 🔒 to make sure the data is shared t'''hrough a specific path, we call th'''at 'topic', When use'''r1''' publishes data on topic, the subscriber automatically receives if already connected to the broker. Hence, t'''he''' LOW latency.
    connected to the broker. Hence, t'''he''' LOW latency.)
  • Mini écran connecté  + (IFTTT est un service qui permet d'automatiIFTTT est un service qui permet d'automatiser des tâches, Adafruit IO est compatible avec celui-ci.
    Si vous voulez utiliser IFTTT avec votre propre serveur, il y a des webhooks qui permettent de faire cela.
    Nous allons voir comment afficher les notifications d'un smartphone sur notre écran.
    Bien que ce soit amusant comme projet, n'oubliez pas que vous allez donner accès à vos notifications à deux services sur internet. Même si les communications sont en théorie sécurisée, niveau vie privée c'est une très mauvaise idée.
    *Créer un compte sur IFTTT *Installer l'application android '''if''' *Sur l'interface web d'IFTTT, cliquer sur '''My Applets''' *Cliquer sur '''New Applet''' *Choisissez le service '''Android Device''' *Choisissez '''Notification Received''' '''then''' *Choisissez '''Adafruit''' *Choisissez '''Send data to Adafruit IO''' *Dans '''Feed Name''' mettez '''notifications''' *Dans '''Data to save''' choisisez '''AppName''' et '''Notification''' '''Title'''
    L'ESP8266 va se déconnecter (puis se reconnecter) du serveur MQTT, si le message est trop long.

    Votre applet devrait ressembler à ceci. Aller sur votre téléphone, lancer IFTTT et autoriser '''l'accès aux notifications'''.
    le message est trop long.</div> </div><br/>Votre applet devrait ressembler à ceci. Aller sur votre téléphone, lancer IFTTT et autoriser '''l'accès aux notifications'''.<br/>)
  • Mini écran connecté  + (IFTTT est un service qui permet d'automatiIFTTT est un service qui permet d'automatiser des tâches, Adafruit IO est compatible avec celui-ci.
    Si vous voulez utiliser IFTTT avec votre propre serveur, il y a des webhooks qui permettent de faire cela.
    Nous allons voir comment afficher les notifications d'un smartphone sur notre écran.
    Bien que ce soit amusant comme projet, n'oubliez pas que vous allez donner accès à vos notifications à deux services sur internet. Même si les communications sont en théorie sécurisée, niveau vie privée c'est une très mauvaise idée.
    *Créer un compte sur IFTTT *Installer l'application android '''if''' *Sur l'interface web d'IFTTT, cliquer sur '''My Applets''' *Cliquer sur '''New Applet''' *Choisissez le service '''Android Device''' *Choisissez '''Notification Received''' '''then''' *Choisissez '''Adafruit''' *Choisissez '''Send data to Adafruit IO''' *Dans '''Feed Name''' mettez '''notifications''' *Dans '''Data to save''' choisisez '''AppName''' et '''Notification''' '''Title'''
    L'ESP8266 va se déconnecter (puis se reconnecter) du serveur MQTT, si le message est trop long.

    Votre applet devrait ressembler à ceci. Aller sur votre téléphone, lancer IFTTT et autoriser '''l'accès aux notifications'''.
    le message est trop long.</div> </div><br/>Votre applet devrait ressembler à ceci. Aller sur votre téléphone, lancer IFTTT et autoriser '''l'accès aux notifications'''.<br/>)
  • Timelapes with Raspberry Pi Camera  + (To install the camera use the ribbon cable and press the side of the connector and pull up.)
  • Bentolux jeux de bille  + (Les paramètres d'impression 3 D sont : 1Les paramètres d'impression 3 D sont : 1)Matériel : Grey ABS ; Print core : AA 0.4 2)Materiel : Natural PVA ; Print core : BB 0.4 quality : layer height 0.06 mm print speed : 35 mm/s Infill density : 20 % Infill Pattern : Triangle Printing Temperature : 215 C° Build plate Temperature : 80 C° Generate support : Yes
    ure : 80 C° Generate support : Yes <br/>)
  • Robot Humbot Sarganta  + (Les photos ci-contre vous montreront commeLes photos ci-contre vous montreront comment réaliser le circuit. Les pins mâles de la plaque de prototypage s’emboîtent sur les pins femelles de l'Arduino. La batterie alimente le Vin de la carte, le régulateur alimentant les moteurs et ultrasons, et le régulateur alimentant le bluetooth. Les régulateurs associés aux condensateurs permettent de générer une alimentation plus stable, qui lisse la surconsommation des moteurs. Les condensateurs se mettent en parallèle à l’alimentation (branche + sur 5V et – sur GND). PS: il vaut mieux utiliser des pins femelles pour le module bluetooth et les régulateurs de manière à pouvoir les enlever facilement si besoin est.voir les enlever facilement si besoin est.)
  • Robot Humbot Sarganta  + (Les photos ci-contre vous montreront commeLes photos ci-contre vous montreront comment réaliser le circuit. Les pins mâles de la plaque de prototypage s’emboîtent sur les pins femelles de l'Arduino. La batterie alimente le Vin de la carte, le régulateur alimentant les moteurs et ultrasons, et le régulateur alimentant le bluetooth. Les régulateurs associés aux condensateurs permettent de générer une alimentation plus stable, qui lisse la surconsommation des moteurs. Les condensateurs se mettent en parallèle à l’alimentation (branche + sur 5V et – sur GND). PS: il vaut mieux utiliser des pins femelles pour le module bluetooth et les régulateurs de manière à pouvoir les enlever facilement si besoin est.voir les enlever facilement si besoin est.)
  • Tutoriel : Impression 3D  + (<u>Logiciel gratuit :</u> ''-Logiciel gratuit : ''- Blender'' ''- FreeCAD'' ''- Tinkercard'' ''- 3D Builder'' ''- Sketchup'' ''- Vectary''
    Si c'est la première fois que vous utilisez un logiciel de modélisation 3D, sachez qu'au lancement dans chaque logiciel il y'a un tutoriel pour débutant.
    sachez qu'au lancement dans chaque logiciel il y'a un tutoriel pour débutant.</div> </div>)
  • 2D Drawing to 3D Print  + (Make sure you have downloaded all the softMake sure you have downloaded all the software you will need for the activity. These include: CamScanner: Free app that can be found on the Google Play Store. (Make sure you press 'skip' when asked to trial Premium for free.) Inkscape: Free Open Source software for drawing on your computer. It can be downloaded from their website which is easily found through Google. Suitable software for your 3D printer: Such as FlashPrint or Ultimaker Cura. This will depend on the model of 3D printer you have but should be free to download online.ave but should be free to download online.)
  • PP Shredder Pro  + (<nowiki>====Tools====<br />non====Tools====
    none
    ====Parts====
    1110.08 - Bearing Side Plate 4

    1110.09 - Bearing Side Plate 5

    1110.10 - Bearing Side Plate 6

    1110.11 - Gear Plate

    1110.01 - Top Plate

    ====Steps====

    #Layout the remaining pies as seen in image 1.
    #Slide plate 1110.08 directly on top of piece 1110.07
    #Drop in plate 1110.09 directly next to 1110.07/.08 in the open tabs.
    #Place the bottom tabs of plate 1110.10 into the bottom plate, and then fold the plate upwards into place.
    #Place plate 1110.11 on top as seen in image 5.
    #Place plate 1110.01 on top, securing the entire box in place.

    *Note - in the next steps, you will dismantle these last few steps, but it is important to understand how the box comes together.


    t;br /><br/></nowiki>)
  • Commande et instrumentation de trottinette électrique 500W avec Arduino méga  + (<nowiki>'''2. Bibliographie :'''<'''2. Bibliographie :'''

    Lien download :

    '''sketch_escooter_feed_back_reel_V1.ino''' 

    https://drive.google.com/file/d/0B_fB3GAsM02FSlRTWHdyRkhuUW8/view?usp=sharing

    '''escooter_ampli_SIMULINK.mdl'''

    https://drive.google.com/file/d/0B_fB3GAsM02FOW9OdmlhdDhJZGc/view?usp=sharing

    '''escooter feed back ISIS.DSN'''

    https://drive.google.com/file/d/0B_fB3GAsM02FOXdRWFN5OWRMQkE/view?usp=sharing

    En anglais

    https://forum.arduino.cc/index.php?topic=477397.0

    article : « Etude de trottinettes électriques 100W et 500W (Arduino), Revue 3EI 2017 »

    En attente

    '''3. Programme en boucle ouverte''' 

    Pour tester la programmation, nous simulons le programme dans ISIS, comme on peut le voir sur la figure suivante. De plus, nous avons un afficheur LCD pour afficher des données (rapport cyclique correspondant à la PWM à 32Khz, le courant moteur, la tension moteur, l'action sur les boutons poussoirs. En effet, 4 boutons poussoirs sont utilisés.

    BP1 pour incrémenter manuellement le rapport cyclique, BP2 le  décrémenter. BP3 mettre le rapport cyclique à 0, correspondant au contact frein. 

    La vitesse du moteur est pratiquement proportionnelle au rapport cyclique

    https://i58.servimg.com/u/f58/17/56/35/17/a211.jpg

    Nous avons réalisé notre propre amplificateur de courant qui s'appelle un hacheur abaisseur mais il est possible d'acheter un shield

    Il existe de nombreuses cartes pour Arduino pour commander des moteurs DC surtout de faibles puissances et aussi de grandes puissances comme on peut l'observer sur les liens suivants. 

    http://www.robotpower.com/products/MegaMotoPlus_info.html

    http://www.robotshop.com/en/dc-motor-driver-2-15a.html

    https://www.pololu.com/file/0J51/vnh3sp30.pdf

    https://i58.servimg.com/u/f58/17/56/35/17/a310.jpg

    mais, tous ces hacheurs shields mesurent le courant en interne mais il n'y a pas de limitation de courant. 

    Pour avoir une limitation de courant il faut une boucle de courant analogique en utilisant des AOP ou CI spécialisée ou une boucle de courant numérique rapide.

    Mais quel doit être la valeur du courant de limitation ?

    Le choix de la valeur du courant est normalement pour le Service de fonctionnement 1 heure pour pouvoir effectuée des montées relativement longue sans atteindre la température critique du moteur.

    Dans notre cas, le courant de limitation devra etre de 

    Imoteur limitation=Puissance/Ubatterie=500W/24 V=20A

    De plus, le transistor de puissance du hacheur ne peut supporter que 50A dans notre cas.

    Mais en boucle ouverte, il n'a pas de régulation de courant, pour ne pas avoir de dépassement du courant maximum, une rampe du rapport cyclique sera utilisé.

    Une routine d'interruption de 0.1 seconde sera utilisé pour faire la mesure de la tension est du courant (échantillon de mesure, sample ). Ce temps de sampler est arbitraire, mais ne permet pas d'être plus rapide que le temps de montée du courant car la constante de temps électrique du moteur étant de  L/R= 1.5ms.

    Le fonctionnement en boucle ouverte avec une rampe de 25.5s (8bit et routine d'interruption de 0.1s) permet de bien comprendre la problématique du fonctionnement d'une commande à moteur DC.

    l'affichage se fera seulement tous les 0.2s pour avoir une stabilité des chiffres à l’écran. De plus, un filtrage numérique, se fera sur le courant et la tension sur 4 valeurs donc sur 0.4s.

    '''Algo boucle ouverte'''

    Routine d'interruption toutes les 0.1S

    Lire tension et courant

    Boucle loop (scrutation des boutons poussoirs) 

    Si BP1=1 alors incrementer PWM

    Si BP2=1 alors décrementer PWM

    Si BP3=1 alors PWM=0

    Affichage des variables tous les 0.2s

    '''code'''

    {{

    // include the library code:

    #include

    #include

    #include

    #define SERIAL_PORT_LOG_ENABLE 1

    #define Led     13       // 13 pour la led jaune sur la carte

    #define BP1     30       // 30 BP1

    #define BP2     31       // 31 BP2           

    #define BP3     32       // 32 BP3

    #define LEDV    33       // 33 led

    #define LEDJ    34       // 34 led

    #define LEDR    35       // 35 led

    #define relay   36       // 36 relay

    #define PWM10    10      //11   timer2    

    LiquidCrystal lcd(27, 28, 25, 24, 23, 22); // RS=12, Enable=11, D4=5, D5=4, D6= 3, D7=2, BPpoussoir=26

    // Configuration des variables

    unsigned   int UmoteurF = 0;  // variable to store the value coming from the sensor

    unsigned   int Umoteur = 0;

    unsigned   int Umoteur2 = 0;

    unsigned   int Umoteur3 = 0;

    unsigned   int Umoteur4 = 0;

    unsigned   int ImoteurF = 0;  

    unsigned   int Imoteur = 0;

    unsigned   int Imoteur2 = 0;

    unsigned   int Imoteur3 = 0;

    unsigned   int Imoteur4 = 0;

    byte Rcy=0 ;    //rapport cyclique  8bit

    unsigned    int temps;

    // the setup function runs once when you press reset or power the board

    void setup() {

    pinMode(Led, OUTPUT);   //led carte arduino

    pinMode(LEDV, OUTPUT);

    pinMode(LEDR, OUTPUT);

    pinMode(LEDJ, OUTPUT);

    pinMode (PWM10,OUTPUT);     // broche (10) en sortie  timer2

    //  digitalWrite(LEDV,LOW);

    Timer1.initialize(100000);         // initialize timer1, and set a 0,1 second period =>  100 000

    Timer1.attachInterrupt(callback);  // attaches callback() as a timer overflow interrupt

    lcd.begin(20, 4);  

    Serial1.begin(9600); 

    TCCR2B = (TCCR2B & 0b11111000)
    r power the board<br /><br />void setup() {<br /><br />pinMode(Led, OUTPUT);   //led carte arduino<br /><br />pinMode(LEDV, OUTPUT);<br /><br />pinMode(LEDR, OUTPUT);<br /><br />pinMode(LEDJ, OUTPUT);<br /><br />pinMode (PWM10,OUTPUT);     // broche (10) en sortie  timer2<br /><br />//  digitalWrite(LEDV,LOW);<br /><br />Timer1.initialize(100000);         // initialize timer1, and set a 0,1 second period =>  100 000<br /><br />Timer1.attachInterrupt(callback);  // attaches callback() as a timer overflow interrupt<br /><br />lcd.begin(20, 4);  <br /><br />Serial1.begin(9600); <br /><br />TCCR2B = (TCCR2B & 0b11111000)</nowiki>)
  • Commande et instrumentation de trottinette électrique 500W avec Arduino méga  + (<nowiki>'''2. Bibliographie :'''<'''2. Bibliographie :'''

    Lien download :

    '''sketch_escooter_feed_back_reel_V1.ino''' 

    https://drive.google.com/file/d/0B_fB3GAsM02FSlRTWHdyRkhuUW8/view?usp=sharing

    '''escooter_ampli_SIMULINK.mdl'''

    https://drive.google.com/file/d/0B_fB3GAsM02FOW9OdmlhdDhJZGc/view?usp=sharing

    '''escooter feed back ISIS.DSN'''

    https://drive.google.com/file/d/0B_fB3GAsM02FOXdRWFN5OWRMQkE/view?usp=sharing

    En anglais

    https://forum.arduino.cc/index.php?topic=477397.0

    article : « Etude de trottinettes électriques 100W et 500W (Arduino), Revue 3EI 2017 »

    En attente

    '''3. Programme en boucle ouverte''' 

    Pour tester la programmation, nous simulons le programme dans ISIS, comme on peut le voir sur la figure suivante. De plus, nous avons un afficheur LCD pour afficher des données (rapport cyclique correspondant à la PWM à 32Khz, le courant moteur, la tension moteur, l'action sur les boutons poussoirs. En effet, 4 boutons poussoirs sont utilisés.

    BP1 pour incrémenter manuellement le rapport cyclique, BP2 le  décrémenter. BP3 mettre le rapport cyclique à 0, correspondant au contact frein. 

    La vitesse du moteur est pratiquement proportionnelle au rapport cyclique

    https://i58.servimg.com/u/f58/17/56/35/17/a211.jpg

    Nous avons réalisé notre propre amplificateur de courant qui s'appelle un hacheur abaisseur mais il est possible d'acheter un shield

    Il existe de nombreuses cartes pour Arduino pour commander des moteurs DC surtout de faibles puissances et aussi de grandes puissances comme on peut l'observer sur les liens suivants. 

    http://www.robotpower.com/products/MegaMotoPlus_info.html

    http://www.robotshop.com/en/dc-motor-driver-2-15a.html

    https://www.pololu.com/file/0J51/vnh3sp30.pdf

    https://i58.servimg.com/u/f58/17/56/35/17/a310.jpg

    mais, tous ces hacheurs shields mesurent le courant en interne mais il n'y a pas de limitation de courant. 

    Pour avoir une limitation de courant il faut une boucle de courant analogique en utilisant des AOP ou CI spécialisée ou une boucle de courant numérique rapide.

    Mais quel doit être la valeur du courant de limitation ?

    Le choix de la valeur du courant est normalement pour le Service de fonctionnement 1 heure pour pouvoir effectuée des montées relativement longue sans atteindre la température critique du moteur.

    Dans notre cas, le courant de limitation devra etre de 

    Imoteur limitation=Puissance/Ubatterie=500W/24 V=20A

    De plus, le transistor de puissance du hacheur ne peut supporter que 50A dans notre cas.

    Mais en boucle ouverte, il n'a pas de régulation de courant, pour ne pas avoir de dépassement du courant maximum, une rampe du rapport cyclique sera utilisé.

    Une routine d'interruption de 0.1 seconde sera utilisé pour faire la mesure de la tension est du courant (échantillon de mesure, sample ). Ce temps de sampler est arbitraire, mais ne permet pas d'être plus rapide que le temps de montée du courant car la constante de temps électrique du moteur étant de  L/R= 1.5ms.

    Le fonctionnement en boucle ouverte avec une rampe de 25.5s (8bit et routine d'interruption de 0.1s) permet de bien comprendre la problématique du fonctionnement d'une commande à moteur DC.

    l'affichage se fera seulement tous les 0.2s pour avoir une stabilité des chiffres à l’écran. De plus, un filtrage numérique, se fera sur le courant et la tension sur 4 valeurs donc sur 0.4s.

    '''Algo boucle ouverte'''

    Routine d'interruption toutes les 0.1S

    Lire tension et courant

    Boucle loop (scrutation des boutons poussoirs) 

    Si BP1=1 alors incrementer PWM

    Si BP2=1 alors décrementer PWM

    Si BP3=1 alors PWM=0

    Affichage des variables tous les 0.2s

    '''code'''

    {{

    // include the library code:

    #include

    #include

    #include

    #define SERIAL_PORT_LOG_ENABLE 1

    #define Led     13       // 13 pour la led jaune sur la carte

    #define BP1     30       // 30 BP1

    #define BP2     31       // 31 BP2           

    #define BP3     32       // 32 BP3

    #define LEDV    33       // 33 led

    #define LEDJ    34       // 34 led

    #define LEDR    35       // 35 led

    #define relay   36       // 36 relay

    #define PWM10    10      //11   timer2    

    LiquidCrystal lcd(27, 28, 25, 24, 23, 22); // RS=12, Enable=11, D4=5, D5=4, D6= 3, D7=2, BPpoussoir=26

    // Configuration des variables

    unsigned   int UmoteurF = 0;  // variable to store the value coming from the sensor

    unsigned   int Umoteur = 0;

    unsigned   int Umoteur2 = 0;

    unsigned   int Umoteur3 = 0;

    unsigned   int Umoteur4 = 0;

    unsigned   int ImoteurF = 0;  

    unsigned   int Imoteur = 0;

    unsigned   int Imoteur2 = 0;

    unsigned   int Imoteur3 = 0;

    unsigned   int Imoteur4 = 0;

    byte Rcy=0 ;    //rapport cyclique  8bit

    unsigned    int temps;

    // the setup function runs once when you press reset or power the board

    void setup() {

    pinMode(Led, OUTPUT);   //led carte arduino

    pinMode(LEDV, OUTPUT);

    pinMode(LEDR, OUTPUT);

    pinMode(LEDJ, OUTPUT);

    pinMode (PWM10,OUTPUT);     // broche (10) en sortie  timer2

    //  digitalWrite(LEDV,LOW);

    Timer1.initialize(100000);         // initialize timer1, and set a 0,1 second period =>  100 000

    Timer1.attachInterrupt(callback);  // attaches callback() as a timer overflow interrupt

    lcd.begin(20, 4);  

    Serial1.begin(9600); 

    TCCR2B = (TCCR2B & 0b11111000)
    r power the board<br /><br />void setup() {<br /><br />pinMode(Led, OUTPUT);   //led carte arduino<br /><br />pinMode(LEDV, OUTPUT);<br /><br />pinMode(LEDR, OUTPUT);<br /><br />pinMode(LEDJ, OUTPUT);<br /><br />pinMode (PWM10,OUTPUT);     // broche (10) en sortie  timer2<br /><br />//  digitalWrite(LEDV,LOW);<br /><br />Timer1.initialize(100000);         // initialize timer1, and set a 0,1 second period =>  100 000<br /><br />Timer1.attachInterrupt(callback);  // attaches callback() as a timer overflow interrupt<br /><br />lcd.begin(20, 4);  <br /><br />Serial1.begin(9600); <br /><br />TCCR2B = (TCCR2B & 0b11111000)</nowiki>)
  • ESP32 MQTT  + (<nowiki>Copy the full code into yourCopy the full code into your IDE. Feel free to change things like the text it prints, etc


     1 #include 
    2 #include
    3
    4 // WiFi
    5 const char *ssid = "xxxxx"; // Enter your Wi-Fi name
    6 const char *password = "xxxxx"; // Enter Wi-Fi password
    7
    8 // MQTT Broker
    9 const char *mqtt_broker = "broker.emqx.io";
    10 const char *topic = "emqx/esp32";
    11 const char *mqtt_username = "emqx";
    12 const char *mqtt_password = "public";
    13 const int mqtt_port = 1883;
    14
    15 WiFiClient espClient;
    16 PubSubClient client(espClient);
    17
    18 void setup() {
    19 // Set software serial baud to 115200;
    20 Serial.begin(115200);
    21 // Connecting to a WiFi network
    22 WiFi.begin(ssid, password);
    23 while (WiFi.status() != WL_CONNECTED) {
    24 delay(500);
    25 Serial.println("Connecting to WiFi..");
    26 }
    27 Serial.println("Connected to the Wi-Fi network");
    28 //connecting to a mqtt broker
    29 client.setServer(mqtt_broker, mqtt_port);
    30 client.setCallback(callback);
    31 while (!client.connected()) {
    32 String client_id = "esp32-client-";
    33 client_id += String(WiFi.macAddress());
    34 Serial.printf("The client %s connects to the public MQTT broker\n", client_id.c_str());
    35 if (client.connect(client_id.c_str(), mqtt_username, mqtt_password)) {
    36 Serial.println("Public EMQX MQTT broker connected");
    37 } else {
    38 Serial.print("failed with state ");
    39 Serial.print(client.state());
    40 delay(2000);
    41 }
    42 }
    43 // Publish and subscribe
    44 client.publish(topic, "Hi, I'm ESP32 ^^");
    45 client.subscribe(topic);
    46 }
    47
    48 void callback(char *topic, byte *payload, unsigned int length) {
    49 Serial.print("Message arrived in topic: ");
    50 Serial.println(topic);
    51 Serial.print("Message:");
    52 for (int i = 0; i < length; i++) {
    53 Serial.print((char) payload[i]);
    54 }
    55 Serial.println();
    56 Serial.println("-----------------------");
    57 }
    58
    59 void loop() {
    60 client.loop();
    61 }
    i">0</span><span class="p">;</span> <span class="n">i</span> <span class="o"><</span> <span class="n">length</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span><br /><span class="lineno">53 </span> <span class="n">Serial</span><span class="p">.</span><span class="n">print</span><span class="p">((</span><span class="kt">char</span><span class="p">)</span> <span class="n">payload</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span><br /><span class="lineno">54 </span> <span class="p">}</span><br /><span class="lineno">55 </span> <span class="n">Serial</span><span class="p">.</span><span class="n">println</span><span class="p">();</span><br /><span class="lineno">56 </span> <span class="n">Serial</span><span class="p">.</span><span class="n">println</span><span class="p">(</span><span class="s">"-----------------------"</span><span class="p">);</span><br /><span class="lineno">57 </span><span class="p">}</span><br /><span class="lineno">58 </span><br /><span class="lineno">59 </span><span class="kt">void</span> <span class="nf">loop</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno">60 </span> <span class="n">client</span><span class="p">.</span><span class="n">loop</span><span class="p">();</span><br /><span class="lineno">61 </span><span class="p">}</span><br /></pre></div></nowiki>)
  • BENTO BOX - SPACE FLAN  + (<nowiki><div class="mw-highlight
    //   Variables qui ne peuvent être modifiées,
    const int buttonPin = 2; // Bouton poussoir
    const int ledPin = 7; // Anneau NeoPixel Ring 12 LED RGB


    // Bibliothèque urilisée pour écran OLED
    #include

    // =======================
    // Paramètrages écran OLED
    // =======================
    #define nombreDePixelsEnLargeur 128 // Taille de l'écran OLED, en pixel, au niveau de sa largeur
    #define nombreDePixelsEnHauteur 64 // Taille de l'écran OLED, en pixel, au niveau de sa hauteur
    #define brocheResetOLED -1 // Reset de l'OLED partagé avec l'Arduino (d'où la valeur à -1, et non un numéro de pin)
    #define adresseI2CecranOLED 0x3C // Adresse de "mon" écran OLED sur le bus i2c (généralement égal à 0x3C ou 0x3D)
    Adafruit_SSD1306 ecranOLED(nombreDePixelsEnLargeur, nombreDePixelsEnHauteur, &Wire, brocheResetOLED);

    // ================
    // Image à afficher
    // ================
    #define largeurDeLimage 128 // Largeur de l'image à afficher, en pixels
    #define hauteurDeLimage 64 // Hauteur de l'image à afficher, en pixels

    const unsigned char imageAafficher [] PROGMEM = {
    // Logo SPACE FLAN (image BITMAP / LCD Assistant / Editeur de texte / https://passionelectronique.fr/ecran-oled-i2c-arduino/)
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xf0, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc4, 0x73, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0e, 0x77, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0x06, 0xf7, 0x39, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x06, 0x63, 0xff, 0x30, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x26, 0x73, 0xff, 0xe0, 0xe4, 0x3f, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xe6, 0xff, 0xff, 0xe6, 0x67, 0x1f, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xec, 0xff, 0xff, 0xe6, 0x67, 0x87, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xcc, 0xff, 0xff, 0xfe, 0x77, 0xe3, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xcc, 0xff, 0xff, 0xfe, 0x33, 0xf1, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xd9, 0xff, 0xff, 0xfe, 0x33, 0xfc, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0x99, 0x7f, 0xff, 0xfe, 0x33, 0xfe, 0x7f, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0x99, 0x7f, 0xff, 0xff, 0x3b, 0xff, 0x3f, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, 0x9a, 0x7f, 0xff, 0xf9, 0x19, 0xff, 0x1f, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xb2, 0x77, 0xff, 0x79, 0x19, 0xff, 0x9f, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0x32, 0x67, 0xff, 0x39, 0x1d, 0xff, 0xcf, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xe7, 0xff, 0x32, 0xe7, 0xdf, 0x39, 0x9d, 0xff, 0xef, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0x74, 0xe7, 0xdf, 0x3d, 0x8c, 0xff, 0xe7, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xcf, 0xfe, 0x64, 0xe7, 0xdf, 0x3d, 0x8c, 0xff, 0xf7, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xdf, 0xfe, 0x64, 0xe7, 0xdf, 0x3c, 0x8e, 0xff, 0xf3, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0x9f, 0xfe, 0x64, 0xe7, 0xdf, 0x3c, 0x86, 0x7f, 0xf3, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0x9f, 0xfc, 0xed, 0xef, 0xdf, 0xbc, 0xc6, 0x7f, 0xf9, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xbf, 0xfc, 0xc9, 0xcf, 0xdf, 0xbc, 0xc7, 0x3f, 0xf9, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0x3f, 0xf1, 0xc9, 0xcf, 0x9f, 0x9e, 0xc7, 0x1f, 0xf9, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0x3f, 0xe3, 0xc9, 0xcf, 0x9f, 0x9e, 0xc3, 0x8f, 0xfd, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0x7f, 0xc7, 0xdb, 0xcf, 0x9f, 0x9e, 0x63, 0xe7, 0xfd, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0x7f, 0x8f, 0x93, 0xcf, 0x9f, 0x9e, 0x63, 0xf3, 0xfd, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x93, 0xcf, 0x9f, 0x9e, 0x63, 0xf9, 0xfd, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x93, 0xdf, 0x9f, 0x9e, 0x63, 0xfc, 0xfd, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0x7e, 0x7f, 0xb7, 0xdf, 0x9f, 0x9f, 0x73, 0xfc, 0xfd, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0x7c, 0xff, 0xa7, 0x9f, 0x9f, 0x9f, 0x33, 0xfe, 0x7d, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0x7c, 0xff, 0x87, 0x9f, 0x9f, 0x9f, 0x33, 0xfe, 0x7d, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0x79, 0xff, 0x87, 0x9f, 0x9f, 0x9f, 0x33, 0xff, 0x3d, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0x79, 0xff, 0xe7, 0x9f, 0x9f, 0xdf, 0x23, 0xff, 0x3d, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0x7b, 0xff, 0xe7, 0x9f, 0x9f, 0xdf, 0x07, 0xff, 0x9d, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0x73, 0xff, 0xe7, 0xbf, 0x9f, 0xdf, 0x8f, 0xff, 0x9d, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0x33, 0xff, 0xe3, 0x3f, 0x9f, 0xcf, 0x9f, 0xff, 0xc9, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0x87, 0xff, 0xf0, 0x3f, 0x9f, 0xcf, 0x3f, 0xff, 0xc1, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xfc, 0x3f, 0x9f, 0xcc, 0x3e, 0x3f, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x7f, 0x9f, 0x9f, 0xc0, 0x7c, 0x9f, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xc0, 0x0f, 0x01, 0xfc, 0xcf, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x8f, 0xe0, 0x00, 0x3f, 0xee, 0x67, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x8f, 0xfd, 0xe0, 0x7f, 0xc3, 0x37, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x27, 0xff, 0xff, 0xff, 0x93, 0xb3, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x64, 0x7f, 0xff, 0xfb, 0x99, 0x99, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xfe, 0xe4, 0x69, 0x3f, 0xff, 0xcb, 0xdd, 0xcc, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xfe, 0x0c, 0x0b, 0x3c, 0x47, 0x89, 0xcc, 0xe6, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0x1c, 0x13, 0x30, 0xc7, 0x9d, 0xec, 0x77, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf3, 0x73, 0xdf, 0x9c, 0xe0, 0x73, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xe7, 0x67, 0xdf, 0xdc, 0xe3, 0x7f, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xe2, 0x6f, 0xdf, 0xc6, 0xe3, 0x3f, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xe0, 0xcf, 0xdf, 0xc6, 0x7b, 0xbf, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0x4f, 0xcf, 0xce, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcc, 0xcf, 0xc7, 0xcf, 0x7d, 0xff, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdd, 0xcf, 0xc7, 0xef, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xe7, 0xdf, 0xef, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xdf, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xc7, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
    };

    // Array of all bitmaps for convenience. (Total bytes used to store images in PROGMEM = 1040)
    const int epd_bitmap_allArray_LEN = 1;

    //******************************** Routine pour afficheur LCD **************************

    #if (SSD1306_LCDHEIGHT != 64)
    #endif


    // ANNEAU RING LED 12 PIXELS
    #include
    #define PIN 7

    // Parameter 1 = number of pixels in strip
    // Parameter 2 = pin number (most are valid)
    // Parameter 3 = pixel type flags, add together as needed:
    // NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
    // NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
    // NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products)
    // NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
    Adafruit_NeoPixel strip = Adafruit_NeoPixel(12, PIN, NEO_GRB + NEO_KHZ800);


    // Module sonore wtv020m01
    // boolean déclare une variable de type binaire
    boolean buttonWasUp = true;
    boolean ledEnabled = false;

    const int clockPin = 6; // clockpin sur la broche 6
    const int dataPin = 9; // datapin sur la broche 9
    const int resetPin = 3; // resetpin sur la broche 3

    const unsigned int VOLUME_7 = 0xFFF7; //unsigned = variable entière non signée

    const unsigned int PLAY_PAUSE = 0xFFFE;
    const unsigned int STOP = 0xFFFF;


    void setup()
    {

    Serial.begin(9600); //Initialise la communication entre le PC et Arduino


    // Initialisation de l'écran OLED
    if(!ecranOLED.begin(SSD1306_SWITCHCAPVCC, adresseI2CecranOLED))
    while(1); // Arrêt du programme (boucle infinie) en cas d'échec de l'initialisation


    // Affichage d'une image au centre de l'écran
    ecranOLED.clearDisplay(); // Effaçage de la mémoire tampon de l'écran OLED

    ecranOLED.drawBitmap(
    (ecranOLED.width() - largeurDeLimage ) / 2, // Position de l'extrême "gauche" de l'image (pour centrage écran, ici)
    (ecranOLED.height() - hauteurDeLimage) / 2, // Position de l'extrême "haute" de l'image (pour centrage écran, ici)
    imageAafficher,
    largeurDeLimage,
    hauteurDeLimage,
    WHITE); // "couleur" de l'image

    ecranOLED.display(); // Transfert de la mémoire tampon à l'écran OLED, pour affichage



    {
    // LedPin en sortie
    pinMode(ledPin, OUTPUT);
    // Bouton poussoir en entrée
    pinMode(buttonPin, INPUT);
    }

    {
    strip.begin();
    strip.setBrightness(255); //adjust brightness here, maximum à 255
    strip.show(); // Initialize all pixels to 'off'
    }

    pinMode(clockPin, OUTPUT);
    pinMode(dataPin, OUTPUT);
    pinMode(resetPin, OUTPUT);

    digitalWrite(clockPin, HIGH); // aucune différence si je le met en HIGH ou LOW
    digitalWrite(dataPin, LOW);

    // reset the module (si les 2 lignes dessous retirer le son ne s'allume qu'une fraction de secondes)
    digitalWrite(resetPin, HIGH);
    delay(100);

    sendCommand(VOLUME_7); // Empéche le son de se répèter, si enlevé le son est en boucle

    }

    void loop()
    {


    // Programme de lumière LED de 12 secondes
    colorWipe(strip.Color(255, 255, 255), 84); // Blanc
    colorWipe(strip.Color(255, 0, 0), 84); // Rouge
    colorWipe(strip.Color(255, 255, 255), 84); // Blanc
    colorWipe(strip.Color(255, 0, 0), 84); // Rouge
    colorWipe(strip.Color(255, 255, 255), 84); // Blanc
    colorWipe(strip.Color(255, 0, 0), 84); // Rouge
    colorWipe(strip.Color(255, 255, 255), 84); // Blanc
    colorWipe(strip.Color(255, 0, 0), 84); // Rouge
    colorWipe(strip.Color(255, 255, 255), 84); // Blanc
    colorWipe(strip.Color(255, 0, 0), 84); // Rouge
    colorWipe(strip.Color(255, 255, 255), 5); // Blanc
    colorWipe(strip.Color(255, 0, 0), 5); // Rouge
    colorWipe(strip.Color(255, 255, 255), 5); // Blanc
    colorWipe(strip.Color(255, 0, 0), 5); // Rouge
    colorWipe(strip.Color(255, 255, 255), 5); // Blanc
    colorWipe(strip.Color(255, 0, 0), 5); // Rouge
    colorWipe(strip.Color(255, 255, 255), 5); // Blanc
    colorWipe(strip.Color(255, 0, 0), 5); // Rouge
    colorWipe(strip.Color(255, 255, 255), 5); // Blanc
    colorWipe(strip.Color(255, 0, 0), 5); // Rouge
    colorWipe(strip.Color(255, 255, 255), 5); // Blanc
    colorWipe(strip.Color(255, 0, 0), 5); // Rouge
    colorWipe(strip.Color(255, 255, 255), 5); // Blanc
    colorWipe(strip.Color(255, 0, 0), 5); // Rouge
    colorWipe(strip.Color(255, 255, 255), 5); // Blanc
    colorWipe(strip.Color(255, 0, 0), 5); // Rouge
    colorWipe(strip.Color(255, 255, 255), 5); // Blanc
    colorWipe(strip.Color(255, 0, 0), 5); // Rouge
    colorWipe(strip.Color(255, 255, 255), 5); // Blanc
    colorWipe(strip.Color(255, 0, 0), 5); // Rouge
    colorWipe(strip.Color(255, 255, 255), 5); // Blanc
    colorWipe(strip.Color(255, 0, 0), 5); // Rouge
    colorWipe(strip.Color(255, 255, 255), 5); // Blanc
    colorWipe(strip.Color(255, 0, 0), 5); // Rouge
    colorWipe(strip.Color(255, 255, 255), 5); // Blanc
    colorWipe(strip.Color(255, 0, 0), 5); // Rouge
    colorWipe(strip.Color(255, 255, 255), 5); // Blanc
    colorWipe(strip.Color(255, 0, 0), 5); // Rouge
    colorWipe(strip.Color(255, 255, 255), 5); // Blanc
    colorWipe(strip.Color(255, 0, 0), 5); // Rouge
    colorWipe(strip.Color(255, 255, 255), 5); // Blanc
    colorWipe(strip.Color(255, 0, 0), 5); // Rouge


    colorWipe(strip.Color(0, 0, 0), 5); // Eteindre

    while (1);
    }

    // Remplir les points l’un après l’autre avec une couleur (si supprimé, système de points ne fonctionne plus)
    void colorWipe(uint32_t c, uint8_t wait)
    {
    for(uint16_t i=0; i<strip.numPixels(); i++) {
    strip.setPixelColor(i, c);
    strip.show();
    delay(wait);
    }
    }

    uint32_t Wheel(byte WheelPos) // je ne sais pas à quoi ça sert

    {
    // lecture son "0000.wav"
    sendCommand(0x0001);
    }

    void sendCommand(int addr) {
    digitalWrite(clockPin, LOW);
    delay(2);
    for (int i=15; i>=0; i--)
    {
    delayMicroseconds(50);
    if((addr>>i)&0x0001 >0)
    {
    digitalWrite(dataPin, HIGH);
    //Serial.print(1);
    }
    else
    {
    digitalWrite(dataPin, LOW);
    // Serial.print(0);
    }
    delayMicroseconds(50);
    digitalWrite(clockPin, HIGH);
    delayMicroseconds(50);

    if(i>0)
    digitalWrite(dataPin, LOW);
    else
    digitalWrite(dataPin, HIGH);
    delayMicroseconds(50);

    if(i>0)
    digitalWrite(clockPin, LOW);
    else
    digitalWrite(clockPin, HIGH);
    delay(20);
    }

    }
    </span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <br /><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Eteindre</span><br /> <br /> <span class="k">while</span> <span class="p">(</span><span class="mi">1</span><span class="p">);</span><br /><span class="p">}</span><br /> <br /><span class="c1">// Remplir les points l’un après l’autre avec une couleur (si supprimé, système de points ne fonctionne plus)</span><br /><span class="kr">void</span> <span class="nf">colorWipe</span><span class="p">(</span><span class="kr">uint32_t</span> <span class="n">c</span><span class="p">,</span> <span class="kr">uint8_t</span> <span class="n">wait</span><span class="p">)</span><br /><span class="p">{</span><br /> <span class="k">for</span><span class="p">(</span><span class="kr">uint16_t</span> <span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="n">i</span><span class="o"><</span><span class="n">strip</span><span class="p">.</span><span class="n">numPixels</span><span class="p">();</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span><br /> <span class="n">strip</span><span class="p">.</span><span class="n">setPixelColor</span><span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">c</span><span class="p">);</span><br /> <span class="n">strip</span><span class="p">.</span><span class="n">show</span><span class="p">();</span><br /> <span class="nf">delay</span><span class="p">(</span><span class="n">wait</span><span class="p">);</span><br /> <span class="p">}</span><br /><span class="p">}</span><br /> <br /><span class="kr">uint32_t</span> <span class="nf">Wheel</span><span class="p">(</span><span class="kr">byte</span> <span class="n">WheelPos</span><span class="p">)</span> <span class="c1">// je ne sais pas à quoi ça sert </span><br /><br /> <span class="p">{</span><br /> <span class="c1">// lecture son "0000.wav"</span><br /> <span class="n">sendCommand</span><span class="p">(</span><span class="mh">0x0001</span><span class="p">);</span><br /> <span class="p">}</span><br /><br /><span class="kr">void</span> <span class="nf">sendCommand</span><span class="p">(</span><span class="kr">int</span> <span class="n">addr</span><span class="p">)</span> <span class="p">{</span><br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">clockPin</span><span class="p">,</span> <span class="kr">LOW</span><span class="p">);</span><br /> <span class="nf">delay</span><span class="p">(</span><span class="mi">2</span><span class="p">);</span><br /> <span class="k">for</span> <span class="p">(</span><span class="kr">int</span> <span class="n">i</span><span class="o">=</span><span class="mi">15</span><span class="p">;</span> <span class="n">i</span><span class="o">>=</span><span class="mi">0</span><span class="p">;</span> <span class="n">i</span><span class="o">--</span><span class="p">)</span><br /> <span class="p">{</span> <br /> <span class="nf">delayMicroseconds</span><span class="p">(</span><span class="mi">50</span><span class="p">);</span><br /> <span class="k">if</span><span class="p">((</span><span class="n">addr</span><span class="o">>></span><span class="n">i</span><span class="p">)</span><span class="o">&</span><span class="mh">0x0001</span> <span class="o">></span><span class="mi">0</span><span class="p">)</span><br /> <span class="p">{</span><br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">dataPin</span><span class="p">,</span> <span class="kr">HIGH</span><span class="p">);</span><br /> <span class="c1">//Serial.print(1);</span><br /> <span class="p">}</span><br /> <span class="k">else</span><br /> <span class="p">{</span><br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">dataPin</span><span class="p">,</span> <span class="kr">LOW</span><span class="p">);</span><br /> <span class="c1">// Serial.print(0);</span><br /> <span class="p">}</span><br /> <span class="nf">delayMicroseconds</span><span class="p">(</span><span class="mi">50</span><span class="p">);</span><br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">clockPin</span><span class="p">,</span> <span class="kr">HIGH</span><span class="p">);</span><br /> <span class="nf">delayMicroseconds</span><span class="p">(</span><span class="mi">50</span><span class="p">);</span><br /> <br /> <span class="k">if</span><span class="p">(</span><span class="n">i</span><span class="o">></span><span class="mi">0</span><span class="p">)</span><br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">dataPin</span><span class="p">,</span> <span class="kr">LOW</span><span class="p">);</span><br /> <span class="k">else</span><br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">dataPin</span><span class="p">,</span> <span class="kr">HIGH</span><span class="p">);</span><br /> <span class="nf">delayMicroseconds</span><span class="p">(</span><span class="mi">50</span><span class="p">);</span><br /> <br /> <span class="k">if</span><span class="p">(</span><span class="n">i</span><span class="o">></span><span class="mi">0</span><span class="p">)</span><br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">clockPin</span><span class="p">,</span> <span class="kr">LOW</span><span class="p">);</span><br /> <span class="k">else</span><br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">clockPin</span><span class="p">,</span> <span class="kr">HIGH</span><span class="p">);</span><br /> <span class="nf">delay</span><span class="p">(</span><span class="mi">20</span><span class="p">);</span> <br /> <span class="p">}</span><br /> <br /> <span class="p">}</span><br /></pre></div></nowiki>)
  • Virtual Fence - Anti Theft Device  + (<nowiki>A Fence is a physical boundaA Fence is a physical boundary, which is used to restrict kids and dogs from exiting the border Boundaries provide a layer of security, which also restricts entry from outside. But these boundaries need to be maintained heavily. And once an object has moved out or stolen, then the theft cannot be further located.

    This brings us to a solution, which is geofencing a physical device attached to our belonging. This belonging would be a mere part of the IoT - Internet of ''''Things'.'''


    The above pictorial is a sample of Geofence in a public area. Best part? Since it is on a virtual map, having a virtual fence would have no effect on whether you own the area. This area could be your Home, Office, favorite Coffee Shop, or even parlor.

    But before we get started -
    e Coffee Shop, or even parlor.<br /><br />But before we get started -</nowiki>)
  • Streaming FireBeetle ESP32 Camera Video to Home Assistance  + (<nowiki>Open the Arduino IDE and navOpen the Arduino IDE and navigate to the ESP32 examples.

    1. Select File->Examples->ESP32->Camera->CameraWebServer example in Arduino IDE.

    2. Replace the codes in CameraWebServer with the code below (Note: please fill in your WiFi account and password)
    #include "esp_camera.h"
    #include

    //
    // WARNING!!! PSRAM IC required for UXGA resolution and high JPEG quality
    // Ensure ESP32 Wrover Module or other board with PSRAM is selected
    // Partial images will be transmitted if image exceeds buffer size
    //
    // You must select partition scheme from the board menu that has at least 3MB APP space.
    // Face Recognition is DISABLED for ESP32 and ESP32-S2, because it takes up from 15
    // seconds to process single frame. Face Detection is ENABLED if PSRAM is enabled as well

    // ===================
    // Select camera model
    // ===================
    #define PWDN_GPIO_NUM -1
    #define RESET_GPIO_NUM -1
    #define XCLK_GPIO_NUM 45
    #define SIOD_GPIO_NUM 1
    #define SIOC_GPIO_NUM 2

    #define Y9_GPIO_NUM 48
    #define Y8_GPIO_NUM 46
    #define Y7_GPIO_NUM 8
    #define Y6_GPIO_NUM 7
    #define Y5_GPIO_NUM 4
    #define Y4_GPIO_NUM 41
    #define Y3_GPIO_NUM 40
    #define Y2_GPIO_NUM 39
    #define VSYNC_GPIO_NUM 6
    #define HREF_GPIO_NUM 42
    #define PCLK_GPIO_NUM 5

    #include "DFRobot_AXP313A.h"

    DFRobot_AXP313A axp;

    // ===========================
    // Enter your WiFi credentials
    // ===========================
    const char* ssid = "*****";
    const char* password = "******";

    void startCameraServer();

    void setup() {
    Serial.begin(115200);
    Serial.setDebugOutput(true);
    Serial.println();
    while(axp.begin() != 0){
    Serial.println("init error");
    delay(1000);
    }
    axp.enableCameraPower(axp.eOV2640);//Enable the power for camera
    camera_config_t config;
    config.ledc_channel = LEDC_CHANNEL_0;
    config.ledc_timer = LEDC_TIMER_0;
    config.pin_d0 = Y2_GPIO_NUM;
    config.pin_d1 = Y3_GPIO_NUM;
    config.pin_d2 = Y4_GPIO_NUM;
    config.pin_d3 = Y5_GPIO_NUM;
    config.pin_d4 = Y6_GPIO_NUM;
    config.pin_d5 = Y7_GPIO_NUM;
    config.pin_d6 = Y8_GPIO_NUM;
    config.pin_d7 = Y9_GPIO_NUM;
    config.pin_xclk = XCLK_GPIO_NUM;
    config.pin_pclk = PCLK_GPIO_NUM;
    config.pin_vsync = VSYNC_GPIO_NUM;
    config.pin_href = HREF_GPIO_NUM;
    config.pin_sscb_sda = SIOD_GPIO_NUM;
    config.pin_sscb_scl = SIOC_GPIO_NUM;
    config.pin_pwdn = PWDN_GPIO_NUM;
    config.pin_reset = RESET_GPIO_NUM;
    config.xclk_freq_hz = 20000000;
    config.frame_size = FRAMESIZE_UXGA;
    config.pixel_format = PIXFORMAT_JPEG; // for streaming
    //config.pixel_format = PIXFORMAT_RGB565; // for face detection/recognition
    config.grab_mode = CAMERA_GRAB_WHEN_EMPTY;
    config.fb_location = CAMERA_FB_IN_PSRAM;
    config.jpeg_quality = 12;
    config.fb_count = 1;

    // if PSRAM IC present, init with UXGA resolution and higher JPEG quality
    // for larger pre-allocated frame buffer.
    if(config.pixel_format == PIXFORMAT_JPEG){
    if(psramFound()){
    config.jpeg_quality = 10;
    config.fb_count = 2;
    config.grab_mode = CAMERA_GRAB_LATEST;
    } else {
    // Limit the frame size when PSRAM is not available
    config.frame_size = FRAMESIZE_SVGA;
    config.fb_location = CAMERA_FB_IN_DRAM;
    }
    } else {
    // Best option for face detection/recognition
    config.frame_size = FRAMESIZE_240X240;
    #if CONFIG_IDF_TARGET_ESP32S3
    config.fb_count = 2;
    #endif
    }

    #if defined(CAMERA_MODEL_ESP_EYE)
    pinMode(13, INPUT_PULLUP);
    pinMode(14, INPUT_PULLUP);
    #endif

    // camera init
    esp_err_t err = esp_camera_init(&config);
    if (err != ESP_OK) {
    Serial.printf("Camera init failed with error 0x%x", err);
    return;
    }

    sensor_t * s = esp_camera_sensor_get();
    // initial sensors are flipped vertically and colors are a bit saturated
    if (s->id.PID == OV3660_PID) {
    s->set_vflip(s, 1); // flip it back
    s->set_brightness(s, 1); // up the brightness just a bit
    s->set_saturation(s, -2); // lower the saturation
    }
    // drop down frame size for higher initial frame rate
    if(config.pixel_format == PIXFORMAT_JPEG){
    s->set_framesize(s, FRAMESIZE_QVGA);
    }

    #if defined(CAMERA_MODEL_M5STACK_WIDE) || defined(CAMERA_MODEL_M5STACK_ESP32CAM)
    s->set_vflip(s, 1);
    s->set_hmirror(s, 1);
    #endif

    #if defined(CAMERA_MODEL_ESP32S3_EYE)
    s->set_vflip(s, 1);
    #endif

    WiFi.begin(ssid, password);
    WiFi.setSleep(false);

    while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
    }
    Serial.println("");
    Serial.println("WiFi connected");

    startCameraServer();

    Serial.print("Camera Ready! Use 'http://");
    Serial.print(WiFi.localIP());
    Serial.println("' to connect");
    }

    void loop() {
    // Do nothing. Everything is done in another task by the web server
    delay(10000);
    }
    Then upload the code to the FireBeetle ESP32 S3 board and look for the serial terminal response.
    an class="n">WL_CONNECTED</span><span class="p">)</span> <span class="p">{</span><br /> <span class="n">delay</span><span class="p">(</span><span class="mi">500</span><span class="p">);</span><br /> <span class="n">Serial</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="s">"."</span><span class="p">);</span><br /> <span class="p">}</span><br /> <span class="n">Serial</span><span class="p">.</span><span class="n">println</span><span class="p">(</span><span class="s">""</span><span class="p">);</span><br /> <span class="n">Serial</span><span class="p">.</span><span class="n">println</span><span class="p">(</span><span class="s">"WiFi connected"</span><span class="p">);</span><br /><br /> <span class="n">startCameraServer</span><span class="p">();</span><br /><br /> <span class="n">Serial</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="s">"Camera Ready! Use 'http://"</span><span class="p">);</span><br /> <span class="n">Serial</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">WiFi</span><span class="p">.</span><span class="n">localIP</span><span class="p">());</span><br /> <span class="n">Serial</span><span class="p">.</span><span class="n">println</span><span class="p">(</span><span class="s">"' to connect"</span><span class="p">);</span><br /><span class="p">}</span><br /><br /><span class="kt">void</span> <span class="nf">loop</span><span class="p">()</span> <span class="p">{</span><br /> <span class="c1">// Do nothing. Everything is done in another task by the web server</span><br /> <span class="n">delay</span><span class="p">(</span><span class="mi">10000</span><span class="p">);</span><br /><span class="p">}</span><br /></pre></div>Then upload the code to the FireBeetle ESP32 S3 board and look for the serial terminal response.</nowiki>)
  • EMI probe 9-11  + (<nowiki>Whether you re using an arduWhether you re using an arduino uno or a nano, the code that you ll need to upload in order for the probe to function correctly is basically the same.

    Just make sure to program the correct digital pin for the piezo speaker. In the instructions above, we connected the speaker on D9 on an arduino uno, and D3 on an arduino nano.

    // Arduino Electromagnetic interference detector

    // Code modified by Patrick Di Justo, based on

    // Aaron ALAI EMF Detector April 22nd 2009 VERSION 1.0

    // aaronalai1@gmail.com

    //

    // This outputs sound and numeric data to the 4char

    #include

    #define SerialIn 2

    #define SerialOut 7

    #define wDelay 900

    int inPin = 5;

    int val = 0;

    SoftwareSerial mySerialPort(SerialIn, SerialOut);

    void setup()

    {

    pinMode(SerialOut, OUTPUT);

    pinMode(SerialIn, INPUT);

    mySerialPort.begin(19200);

    mySerialPort.print("vv");

    mySerialPort.print("xxxx");

    delay(wDelay);

    mySerialPort.print("----");

    delay(wDelay);

    mySerialPort.print("8888");

    delay(wDelay);

    mySerialPort.print("xxxx");

    delay(wDelay);

    Serial.begin(9600);

    }

    void loop()

    {

    val = analogRead(inPin);

    Serial.println(val);

    dispData(val);

    val = map(val, 1, 100, 1, 2048);

    tone(9,val,10);

    }

    void dispData(int i)

    {

    if ((i<-999)
    lay);<br /><br />Serial.begin(9600);<br /><br />}<br /><br />void loop()<br /><br />{<br /><br />val = analogRead(inPin);<br /><br />Serial.println(val);<br /><br />dispData(val);<br /><br />val = map(val, 1, 100, 1, 2048);<br /><br />tone(9,val,10);<br /><br />}<br /><br />void dispData(int i)<br /><br />{<br /><br />if ((i<-999)</nowiki>)
  • Minetest and 3D printing  + (Once download is completed, unzip the folder somewhere on your computer, ex. on your desktop. Download link available [https://www.minetest.net/downloads/ here]. <br/>)
  • Minetest and 3D printing  + (Once download is completed, unzip the folder somewhere on your computer, ex. on your desktop. Download link available [https://www.minetest.net/downloads/ here]. <br/>)
  • Laser cut Spirograph  + ( * Open a new document in tinkercad * Select view TOP * ''Switch to Orthographic view'' ''Always use Shift plus Right-click to move the workplane.'' ''Use the Mouse-wheel to zoom-in zoom-out.'' )
  • Imprimante 3D - Ultimaker 2  + ( * Ouvrir Cura * Cura est gratuit, disponible en ligne )
  • Découper au laser une modélisation sketchup  + (Ouvrir le fichier "maison.DAE")
  • 3D copa menstrual  + (Patente de la copa menstrual 1867 No necesito copiar lo que encuentro en Wikipedia. https://fr.wikipedia.org/wiki/Coupe_menstruelle)
  • Showerloop - Guide 5: UV Assembly  + (Place the lock nut inside the UV cap. Use teflon tape or hemp fibre with some mineral oil and place it inside the UV cap.)
  • Showerloop - Guide 5: UV Assembly  + (Place the lock nut inside the UV cap. Use teflon tape or hemp fibre with some mineral oil and place it inside the UV cap.)
  • EMI probe  + (It is possible to assemble an EMI probe usIt is possible to assemble an EMI probe using an arduino Uno or an arduino nano. A timelapse of the assembly process of an EMI probe based on arduino nano. A video of the assembly process of an EMI probe based on arduino uno ''wiring diagram for the EMI probe'' To begin with, solder 3 male headers on the PCB. When you will plug the PCB onto the arduino board, the headers will have to go into pin 9, GND, and Analaog5. Solder the speaker onto the PCB. The positive leg of the speaker need to be connected to the male header going into pin 9 of the arduino board. The other leg (negative leg) of the speaker needs be connected to one end of the resistor (via some hook up wire). Now, solder the resistor onto the PCB. Connect one end of the resistor to the male header going into GND on the arduino board. Connect the other end to the header going into A5. Grab a piece of solid core wire about 20 cm long, and solder one end in correspondence with the male header going into A5. Your EMI probe is ready.r going into A5. Your EMI probe is ready.)
  • Spaceship Astrokick  + (3D-Print the several parts of the spaceship. This is going to take several hours per part. If your 3D printer is not big enough to place all the part at once, you can do it in two prints. <br/> *Top part: 10h *Bottom part: 10h *Dome part: 1h)
  • IKEA hack: TARVA Chest of 3 drawers in pine  + (Remove the drawer handles with your screwdriver.)
  • IKEA hack: TARVA Chest of 3 drawers in pine  + (Remove the drawer handles with your screwdriver.)
  • 3D CNC milling avec CAM Fusion 360  + (<section class="step"><br />Be

    Before beginning CAM programming, you need to consider the part and the best approach to machining. These decisions depend on the shape of the model, the material, and the constraints of the CNC machine you are using. In this lesson, you will learn how these factors impact your machining strategy with respect to workholding, registration (making sure the CNC knows where the part is), and CAM settings.

    3D Toolpathing

    If you completed the CAD and CAM Class, you worked with 2D toolpaths, in which the end mill stays at a fixed depth (Z-level) throughout a machining pass, moving only in X and Y while cutting. This type of machining is ideal for prismatic parts - parts in which all machined faces lie normal to the machine tool spindle.

    When programming non-prismatic parts, such as molds or organic shapes like the the parts below, 2D operations are insufficient. You need to use 3D CAM operations, in which the end mill moves dynamically in X, Y, and Z.

    Workholding

    Workholding is the strategy for holding your part rigidly during the machining process. When programming with 3D toolpaths, workholding is an important initial consideration. This is especially true of parts that require machining on both sides, when the part will be flipped between setups.

    When programming for prismatic parts, you may have noticed that 2D and 2.5D CAM only requires a CAD model of the part that you want to machine, without any extra features for workholding attachment or registration. This is because the part takes the shape of a rectangular prism, which can be held easily inside a vise or fixed to a spoiler board.

    But what do you do when your shape is more organic or irregular, and also must be flipped to machine on both sides? In this case, you need to model additional material that will hold your part inside a vise, against a spoiler board, or flat against the bottom of the machine. It's very hard to program the CAM without having these features incorporated into your model.

    In other words, 3D flip machining requires that you model the stock you want left behind, as well as tabs to prevent your part from coming loose inside the machine. These tabs will be cut off and sanded down after machining, usually with a bandsaw and disk sander.

    Note: Another, more advanced, technique for workholding for irregular shapes in metal is a soft jaw system. You would machine your own custom aluminum jaws to use with a Lang or Kurt vise, and these custom jaws would hold your part after the flip. No tabs needed.

    For your serving spoon, you will have two tabs--one on each end--and a rectangular prism of stock that will hold the spoon flat after the flip. When modeling, it's a good idea to make your stock and tabs another body, separate from your part.

    Registration

    Because the spoon will be machined from both sides (flip machining), you need a way to ensure that the CNC machine can locate the part accurately after it has been moved. This is called registration.

    If you have used the Haas before, you're familiar with using a probe to locate your part . The DMS, however, like many table routers, does not have a probe. When using the DMS to locate the origin of your Work Coordinate System (Work Home), you will insert a tool into the spindle and jog it to the correct location. It's common to trap a piece of paper between the stock and the tool to ensure that Z is correct. In the DMS machine class you will learn how to enter the codes to set your WCS in this way. As you might imagine, this system is not accurate, because you're just "eyeballing" this location.

    This means that if you have a part that requires flip machining, you need to consider how to get the two sides to line up properly with one another. There are lots of options, and they all have advantages and disadvantages based on the specifics of your part. Some common methods include:

    --Attaching stops to your spoiler board (waste board under your part that can be machined) or machine bed

    --Machining a contour into your spoiler board, then placing your stock exactly inside that contour

    --Drilling holes for dowels that go into the spoiler board beneath your part (most accurate)

    This final technique is the the method you will use for the spoon. While machining the front side of the spoon, you will also drill three holes through the stock and partially into the spoiler board. After you flip your part, you will insert dowels through the holes and into the spoiler board that will align your part perfectly with your first side.

    CAM Settings

    The specifics of the project - machining wood on the DMS router - will also determine some of the choices you make when programming toolpaths.


    
-Tool numbering

    If you are a Pier 9 shop user, you will be using the DMS tool library. When you have simulated and finalized your CAM program, make sure that your tools are labeled in the chronological order that they are used. You will learn later in this class how to edit tool numbers.

    Remember that the chronological tool numbers in your program do not correspond to the numbers in the DMS tool library drawer. For instance, the fifth tool you use in your program might be the 1" Rough Short End Mill, which is labeled #34 in the DMS library. You will see the DMS library number in the comment for each tool, which will appear in your setup sheet (machining plan). You will learn later how to generate setup sheets.

    If you are not using Pier 9's DMS, you'll either be using custom tools, or tools from your own tool library. If using your own library, be sure to label your tools in the chronological order they will be used.

    -Rules for roughing

    Machining in wood or plastic on the DMS is not high speed machining (HSM). This means that you may use Adaptive toolpaths for roughing, but you cannot use the whole length of the cutter.

    When machining wood or plastic, follow the Stepover and Stepdown Rule: The stepover and stepdown should never exceed 50% of the tool diameter.
    lt;br />Machining in wood or plastic on the DMS is not high speed machining (HSM). This means that you may use Adaptive toolpaths for roughing, but you cannot use the whole length of the cutter.<br /><br />When machining wood or plastic, follow the Stepover and Stepdown Rule: The stepover and stepdown should never exceed 50% of the tool diameter.<br /></section>)
  • FlyPi  + (4- Software Installation: How to install useful software on SD card)
  • Original Prusa i3 MK3S kit assembly  + ( *<span style="color:black;"> '''The * '''The kit includes''' *Needle-nose pliers (1x) * Philips screwdriver (1x) * Allen key (6x) *The printer's package contains a lubricant, which is intended for maintenance. No need to use it now the bearings are lubricated. There is a dedicated online manual on how to clean the printer and apply the lubricant. See [https://help.prusa3d.com/en/guide/printer-maintenance-tips_23200/ help.prusa3d.com/maintenance-tips] No soldering is required. No wire crimping is required. ips_23200/ help.prusa3d.com/maintenance-tips] No soldering is required. No wire crimping is required. )
  • OpenReflex: 3D Printed Camera  + (1- Start by putting the two M3 hexagonal n1- Start by putting the two M3 hexagonal nuts in the holes provided for on the Body. It's a tight fit, so you'll need to push a bit. You can screw a screw from the other side for pull the nut. 2- Install the BackCover on its axis and insert the nut & bolt. The BackCover should fit nicely and rotate freely on its axis. Also set the BackShutter on his groove on the Body. 3- Put the UnwinderP2 and the UnwinderButton in place in the Cover. They should rotate, but not too much. 4- Set the Unwinder and the two FilmGuides in place in the Body. Put the Cover over all of this. You'll have to turn the UnwinderButton to align it with the Unwinder. Note : If the FilmGuide don't rotate on their axis it's not a problem. 5- Once everything is in place, put squared nuts in the columns and screw them in place through the Cover. 6- Algih the BackCover with the Cover and screw them together. Everything should fit in place, the UnwinderButton should make the Unwinder turn with some friction and the BackShutter should slide on its groove. All done ! For the Rewinder and the final light proofing we'll see this later. ;) final light proofing we'll see this later. ;))
  • OpenReflex: 3D Printed Camera  + (1- Start by putting the two M3 hexagonal n1- Start by putting the two M3 hexagonal nuts in the holes provided for on the Body. It's a tight fit, so you'll need to push a bit. You can screw a screw from the other side for pull the nut. 2- Install the BackCover on its axis and insert the nut & bolt. The BackCover should fit nicely and rotate freely on its axis. Also set the BackShutter on his groove on the Body. 3- Put the UnwinderP2 and the UnwinderButton in place in the Cover. They should rotate, but not too much. 4- Set the Unwinder and the two FilmGuides in place in the Body. Put the Cover over all of this. You'll have to turn the UnwinderButton to align it with the Unwinder. Note : If the FilmGuide don't rotate on their axis it's not a problem. 5- Once everything is in place, put squared nuts in the columns and screw them in place through the Cover. 6- Algih the BackCover with the Cover and screw them together. Everything should fit in place, the UnwinderButton should make the Unwinder turn with some friction and the BackShutter should slide on its groove. All done ! For the Rewinder and the final light proofing we'll see this later. ;) final light proofing we'll see this later. ;))
  • How to create a 3D sculpture  + (Steps: # Download an install [https://appsSteps: # Download an install [https://apps.autodesk.com/FUSION/en/Detail/Index?id=8699194120463301363&os=Win64&appLang=en Slicer for Fusion 360]. # We prepared a smaller and easier to process 3d model. Import the [https://drive.google.com/open?id=1uPw3ygtbECCSpNSOifi8TfQXnzldtmON Einstein simplified model] or: ## Download the 3D model [https://www.thingiverse.com/thing:631037 Einstein bust from Thingiverse] . Just the file “EinsteinBustTongue.stl” is needed. The file is quite big, it will probably need a powerful computer ## Import the 3d model  EinsteinBustTongue.stl in Slicer # Set the units to mm # Set the desired size for the model. We suggest minimum 10cm height # Choose the desired sheet format in Manufacturing Settings # Choose the Construction Technique Stacked slices # In manufacturing settings click on the small gear icon in order to see the advanced options at the bottom of the screen: # Set the material thickness to the one you wish to use. Slot offset is usually 0.010 for most laser cutters. # Set the dowels, choose “cross”: setting two dowels makes the puzzle easier, as the slices will be unable to rotate and their orientation will be defined by the dowels.d their orientation will be defined by the dowels.)
  • How to create a 3D sculpture  + (Steps: # Download an install [https://appsSteps: # Download an install [https://apps.autodesk.com/FUSION/en/Detail/Index?id=8699194120463301363&os=Win64&appLang=en Slicer for Fusion 360]. # We prepared a smaller and easier to process 3d model. Import the [https://drive.google.com/open?id=1uPw3ygtbECCSpNSOifi8TfQXnzldtmON Einstein simplified model] or: ## Download the 3D model [https://www.thingiverse.com/thing:631037 Einstein bust from Thingiverse] . Just the file “EinsteinBustTongue.stl” is needed. The file is quite big, it will probably need a powerful computer ## Import the 3d model  EinsteinBustTongue.stl in Slicer # Set the units to mm # Set the desired size for the model. We suggest minimum 10cm height # Choose the desired sheet format in Manufacturing Settings # Choose the Construction Technique Stacked slices # In manufacturing settings click on the small gear icon in order to see the advanced options at the bottom of the screen: # Set the material thickness to the one you wish to use. Slot offset is usually 0.010 for most laser cutters. # Set the dowels, choose “cross”: setting two dowels makes the puzzle easier, as the slices will be unable to rotate and their orientation will be defined by the dowels.d their orientation will be defined by the dowels.)
  • Biped dancing robot  + (3D .stl files here: http://www.thingiverse.com/thing:1378605 Find a way to 3d print the parts, they are designed for no supports so is very easy to print with 20% infill and 0.2mm resolution.)
  • Biped dancing robot  + (3D .stl files here: http://www.thingiverse.com/thing:1378605 Find a way to 3d print the parts, they are designed for no supports so is very easy to print with 20% infill and 0.2mm resolution.)
  • E-waste lights  + (The Android app is linked to the smart binThe Android app is linked to the smart bin using WIFI or Bluetooth. It collects waste data, contains fun facts to educate people about recycling and waste sorting. To motivate people to keep on sorting their waste, the app also shows you how much money you have accumulated.s you how much money you have accumulated.)
  • Buzzing Bee Circuit  + (The battery holder can be found on TinkerCThe battery holder can be found on TinkerCAD as 'Battery Holder - Buzzing Bee' at the link This CAD will need to be saved as a .stl file Open the .stl file in the printer software for your printer After centring and adjusting the settings as needed, slice the print and transfer the new created file to the printer. PRINT!
    created file to the printer. PRINT! <br/>)
  • EMI probe 12+ activities  + (The EMI detector comes in two forms: the gThe EMI detector comes in two forms: the gadget is mounted on a shield suitable for an arduino uno board, or the detector is embedded on a shield on which an arduino nano is mounted. We will start by building the shield for arduino uno here s the wiring diagram for the EMI detector == Step by step instructions for the Arduino Uno shield == First, solder at least a couple of pins to the PCB. These will go into GND and Analog 5 in th arduino uno board. Next, solder an extra pin on the opposite side of the PCB. This will connect to Digital 9 on the arduino board. The speaker will also be soldered onto the PCB. Solder the positive end of the speaker to the pin which goes into analog 9 on the arduino. Solder the negative end of the speaker into the PCB. Then connect a short (5 cm max) piece of electric wire to the negative end of the speaker. The other end of the cable is soldered on the pin which goes into GND. Use a 1Mohm resistor to connect the pin which goes into GND and the one that goes into Analog 5 on the PCB (see photo above). It’s now time to add the antenna of your EMI detector. Take about 20 cm of solid core wire, and solder one end of it on to the PCB, precisely to the pin that goes into Analog 5 on the board. = Step by step instructions for the Arduino Nano shield = An timelapse is available here Solder two strips of female headers onto a PCB (3cm x 7cm) You will need to be able to arrange the arduino nano onto these strips of female headers. Solder the positive side of the speaker to the PCB, in correspondence with the D3 pin. Solder the other end of the speaker onto the PCB, in correspondence with GND pin of the arduino nano. Next, grab the 1Mohm resistor, and solder one end to the PCB pin which leads to A5 on the board, the other end to the PCB pin which goes into GND. To make the antenna of your device, take a piece of solid core wire (about 15 cm long), and solder one end of it to the PCB pin which leads to GND on the arduino nano. Finally, grap two short pieces of electric wire. You will use them to connect a 9V battery to the arduino nano and power the board. Solder one end of the first cable to VIN on the arduino nano, solder one end of the other cable to GND. solder one end of the other cable to GND.)
  • DIY Custom NeoPixel Rings From Scratch!  + (The next step in making your printed circuThe next step in making your printed circuit board is making your connections between your LEDs. NeoPixels each have one data-input pad and one data-output pad. First create a long chain starting with the pixel closest to where you plan on placing your interface pins, going from one pixel's data-out pin to the next pixel's data-in pin. After that you'll need to route power and ground. The easiest method I have come up with to do this is to use a combination of circles and semi-circles, four in total, alternating between power and ground as you move outward from the origin. This makes it easy to create a small "jumper" connection as apposed to manually wiring every since LED together, twice. The two pairs of circles/semi-circles can then be tied together whichever way is most convenient. Finally, a copper pour is added. This essentially just causes all extra space to be filled by "ground", which has multiple advantages including being easier to manufacture at home. You will also want to install one roughly .1uf capacitor between power and ground between each set of two LEDs. The manufacture recommends one per LED however its likely one per two will do and they are time consuming to solder. These are not necessary for the functionality of the device, they simply improve the lifespan of the LEDs, so they can be ignored if needed.he LEDs, so they can be ignored if needed.)
  • DIY Custom NeoPixel Rings From Scratch!  + (The next step in making your printed circuThe next step in making your printed circuit board is making your connections between your LEDs. NeoPixels each have one data-input pad and one data-output pad. First create a long chain starting with the pixel closest to where you plan on placing your interface pins, going from one pixel's data-out pin to the next pixel's data-in pin. After that you'll need to route power and ground. The easiest method I have come up with to do this is to use a combination of circles and semi-circles, four in total, alternating between power and ground as you move outward from the origin. This makes it easy to create a small "jumper" connection as apposed to manually wiring every since LED together, twice. The two pairs of circles/semi-circles can then be tied together whichever way is most convenient. Finally, a copper pour is added. This essentially just causes all extra space to be filled by "ground", which has multiple advantages including being easier to manufacture at home. You will also want to install one roughly .1uf capacitor between power and ground between each set of two LEDs. The manufacture recommends one per LED however its likely one per two will do and they are time consuming to solder. These are not necessary for the functionality of the device, they simply improve the lifespan of the LEDs, so they can be ignored if needed.he LEDs, so they can be ignored if needed.)
  • PiKon telescope  + (The PiKon telescope is a robust design butThe PiKon telescope is a robust design but there are two issues that need care if you are to get the most out of your project. '''Dust and the Camera Sensor''' PiKon benefits from a very simple design that has just one optical component. The lens of the Raspberry Pi Camera is removed to allow imaging by the Optical Mirror. This means that the Raspberry Pi Camera sensor is exposed to dust and dirt. Adding sensor protection would add two optical surfaces to the design, so the sensor is left exposed. This is not a problem provided care is taken to avoid dust and dirt getting on the sensor. '''Care of the Mirror''' As with all reflecting telescopes, care must be taken to avoid damaging the mirror. When assembling or modifying the telescope be careful not to let components drop down the Telescope Tube onto the Mirror.p down the Telescope Tube onto the Mirror.)
  • The Ultimate Guide to Affordable Swimwear for Summer  + (The summer heat calls for cool, refreshingThe summer heat calls for cool, refreshing water, and despite any challenges, everyone is finding ways to enjoy pools and beaches. This season, it’s the perfect excuse to treat yourself to a new swimsuit. Whether it’s a long-awaited beach trip or simply lounging in the backyard pool, nothing beats the excitement of slipping into a fresh, stylish swimsuit that doesn’t break the bank. Here’s a roundup of the most fashionable and affordable options to consider this summer!ffordable options to consider this summer!)
  • Seeed MR60BHA1 Presence, Breathing, and Heartbeat Sensing  + (The [https://www.seeedstudio.com/60GHz-mmWThe [https://www.seeedstudio.com/60GHz-mmWave-Radar-Sensor-Breathing-and-Heartbeat-Module-p-5305.html?queryID=504dcf6317754ee7930d15192a311c71&objectID=5305&indexName=bazaar_retailer_products MR60BHA1] 60GHz mmWave Module is a versatile sensor that utilizes Frequency Modulation Continuous Wave (FMCW) detection to accurately measure breathing rate and heart rate, ensuring a completely private and secure environment, free from external interference. Equipped with a built-in standard algorithm and onboard antenna, the unit delivers simultaneous signal output with exceptional precision. It serves as an ideal solution for developing high-accuracy, self-regulating, privacy-protected, and secure biotic radar systems in consumer electronics, healthcare, and industrial applications. Block Diagram Beyond heart rate and respiration detection, the radar sensor can detect human presence in the operating area, enabling the creation of an automated device and appliance control system that conserves energy during unoccupied periods. Additionally, the system incorporates an IR temperature sensor to measure body temperature, allowing for illness and stress detection. Upon detecting significant vital variations, the buzzer activates as an alert. Simultaneously, all details are displayed on an LCD display and a mobile phone app via the ESP32 Wi-Fi module. The project involved various components, which can be identified in the Below provided image.ich can be identified in the Below provided image.)
  • Grown your own fabric with bacteria  + (This first step lasts about 1h.)
  • How to Make Your Own Easter Egg  + (This is one of the best bis of crafting yoThis is one of the best bis of crafting your Easter egg! Make sure that you have invested in some high quality and luxurious cooking chocolate before beginning! Pour some water into a pan and bring to the boil. Meanwhile, make sure that your chocolate is cut up into small chunks ready to melt. Once the water is boiling, balance a ceramic bowl on top of the pan and add your chocolate chunks to it. Keep stirring the chocolate as it melts. Yum!p stirring the chocolate as it melts. Yum!)
  • Getting Started with Xiao ESP32 S3 Sense  + (This project was successfully completed beThis project was successfully completed because of the help and support from [https://www.nextpcb.com/pcb-assembly-quote NextPCB.] Guys if you have a PCB project, please visit their website and get exciting discounts and coupons. NextPCB offers high-quality, reliable PCB starting at $1.9, and multilayer starting at $6.9. Also, everyone can enjoy free [https://www.nextpcb.com/pcb-assembly-quote PCB assembly] for 5 boards! Also, NextPCB is having a year end sale in which anyone can register through their website and get a $30 Coupon which can be used for ordering PCBs. You can also try HQDFM free online [https://www.nextpcb.com/free-online-gerber-viewer.html PCB Gerber viewer] to check your PCB design and avoid costly errors.k your PCB design and avoid costly errors.)
  • Geiger counter  + (This is a timelapse of the assembly process of the geiger counter)
  • Imprimer un objet avec ULTIMAKER  + ('''Traduire le fichier dans un format lisible par le logiciel CURA''' * Sous l'onglet fichier sélectionner : '''''exporter''''' *Dans la fenêtre '''choisir''' le type : **STL Mesh ('''*.stl''' '''*.ast''') **Alias Mesh ('''*.obj''') '''Enregistrer''')
  • Imprimer un objet avec ULTIMAKER  + ('''Traduire le fichier dans un format lisible par le logiciel CURA''' * Sous l'onglet fichier sélectionner : '''''exporter''''' *Dans la fenêtre '''choisir''' le type : **STL Mesh ('''*.stl''' '''*.ast''') **Alias Mesh ('''*.obj''') '''Enregistrer''')
  • Dafara sa station météo  + (Une station météo est un appareil qui permUne station météo est un appareil qui permet de connaître les caractéristiques de  l’atmosphère de la pièce dans laquelle elle est placée (température, humidité, quantité de lumière etc…), ou éventuellement d’autres caractéristiques dépendamment de ce que l’on veut mesurer (l’humidité de l’aire, du sol dans notre cas). Montage : Monter le shield sur la carte arduino. '''NB :''' L’utilisation du shield facilite la connexion des différents éléments sur la carte. '''CAPTEUR DE TEMPÉRATURE ET HUMIDITÉ:''' Comme son nom l’indique, il sert à mesurer l’humidité et la température d’un milieu. Sur l’image ci-dessous, le DHT11 (capteur de température et d’humidité) est relié à  l’entrée analogique de la carte Arduino donc sur les ports A0 du shield. Pour les casbles, le jaune correspond à A0, le blanc correspond à A1, le rouge à Vcc et le noir à Gnd. Etant donné que pour la connexion de ce capteur, le A1 n’est pas utilisé, il faut le déconnecter (fil blanc) ou à défaut le couper comme c’est le cas ici. '''ECRAN LCD :''' L'écran est utilisé pour afficher les valeurs mesurées par les capteurs. Pour l’écran LCD le branchement se fait sur les I2C du shield. '''CAPTEUR DE L'HUMIDITÉ DU SOL :''' Le capteur de l’humidité du sol est relié au port A1 du shield. '''CAPTEUR DE LUMINOSITÉ :''' Pour le capteur de luminosité relier sur le port A2 du shield'''.''' '''Image de l’ensembles des éléments.'''' Pour le capteur de luminosité relier sur le port A2 du shield'''.''' '''Image de l’ensembles des éléments.''')