MASALAH

Pwm frequency arduino matlab. m script when possible since it runs faster than Simulink.


Pwm frequency arduino matlab. For the control i need a PWM signal with 3000 Hz - 5000 Hz but the Simulink support package (PWM) has only 490 Hz and i Oct 28, 2022 · Hi, I'm using an Arduino to control a stepper motor. There is no built-in function to change the frequency however you have the following functionality available to you. This means for how much time a Sep 12, 2011 · Hi, does anybody knows how to change the PWM frequency on Mega 2560? I found some related topics but they all concern Arduino diecimila or Arduino mega 1280; No one of them seems to explain what to do when arduino is 2560, and as far as I understand, the registers to change are different (the code working on 10000 does not work on 2560). For more information on how to select pins when you Simulink ® model contains PWM, Standard Servo Read, Standard Servo Write, Continuous This example shows you how to measure the frequency of a pulse-width modulation (PWM) signal on an Arduino® hardware using Arduino External Interrupt block. So I went with NewTone to generate a Dec 19, 2016 · 2 I am building a boost converter using a mosfet. I need for the regulation a proportioning valve. However, I prefer using a . I could generate the signal required in Matlab using this code function spwm = SinWave(frequency) nsamples = 1250 * frequency; t = linspace(0,1,nsamples); Sep 12, 2021 · PWM stands for pulse width modulation which consists of a square wave with the help of which we can control the up or high time. . Connect an LED to pin 9 and GND on your Arduino® hardware. Mar 7, 2015 · You will have to write an Arduino program setting up a custom timer configuration to achieve that frequency and duty cycle. Sep 4, 2018 · analogWrite (11, analogRead (14) >> 2); Generates a constant PWM frequency of about 500Hz, with a varying duty cycle (not frequency) depending on pot position. I want to create SPWM signal (sinusoidal pulse width modulation) to be the output of the Arduino board. 0 Cable Type A/B This example shows you how to measure the frequency of a pulse-width modulation (PWM) signal on an Arduino® hardware using Arduino External Interrupt block. If you want to vary the frequency, you could try the tone () function. This will be noticed mostly on low duty-cycle settings (e. Create a dimmable light using a potentiometer. 0 Cable Type A/B Hello, i have problem with my project. The method im using Open in MATLAB Online i want to connect arduino uno to matlab so i write s-function in matlab simulink file. Control the UNO R3 PWM output with MATLAB. Changing the PWM frequency is a subject often covered in the forum, so a search should find how its done. Nov 11, 2021 · The point is that I need to generate a 10kHz PWM signal. PWM pins allow you to generate analog-like signals by rapidly switching the pin between high and low states at a specific frequency. Use the PWM block to generate square pulses of varying duty cycle on the Arduino SAMD 21 hardware pin. This tutorial explains simple PWM techniques, as well as how to use the PWM registers directly for more control over the duty cycle and frequency. Jun 11, 2014 · You can change the frequency in Simulink just double click on the PWM block in the Frequency drop down menu select: Specify and write your desired frequency in Hz. Hi, I'm doing PWM control on a DC motor with an Arduino and Simulink and I've measured the frequency to be 1kHz when using the PWM block. Hello, i have problem with my project. i am trying to change frequency of pwm of arduino uno so i wrote this line in s-function but i got error This example shows you how to measure the frequency of a pulse-width modulation (PWM) signal on an Arduino® hardware using Arduino External Interrupt block. If you use the PWM block along with the Serial Receive and Serial Transmit blocks in a Simulink model, use longer sample times to avoid overruns. Hope this helps. May 27, 2024 · Introduction Pulse-width modulation (PWM) can be implemented on the Arduino in several ways. Hardware & Software Needed UNO R3 USB 2. For the control i need a PWM signal with 3000 Hz - 5000 Hz Jan 15, 2024 · Hello guys When progamming arduino due using simulink I noticed two things taking in consideration that I dont know, are all the dues will perform like the one i have,or it is just a problem with my board only, even though it is a new but clone version. You can't really change them from the IDE. And how to control the output waveform frequency. This MATLAB function writes the specified voltage value to the PWM pin on the Arduino hardware. Aug 24, 2022 · Introduction In this tutorial, we will use MATLAB® to turn on an external LED, and then to adjust the output using MATLAB® Support Package for Arduino® Hardware. 0 Cable Type A/B This example shows how to configure LEDs to turn on and off and to dim and brighten using MATLAB® commands. Google "Arduino PWM frequency". 0 - 10) and may result in a value of 0 not fully turning off the output on pins 5 and Jul 24, 2024 · Hi folks, Iam using Arduino Mega 2560 & trying to generate 3 PWM signals with 50% duty cycle and 120 degree phase shifts between all 3 signals using Timer1(pin11), Timer3(pin5) and Timer4(pin6). ‘writePWMVoltage’ is a MATLAB function that is used to set the voltage of a ‘PWM’ pin on an Arduino board. I use Arduino Due and Simulink. 0 Cable Type A/B Dec 15, 2022 · The Fading example demonstrates the use of analog output (PWM) to fade an LED. The point is that I need to generate a 10kHz PWM signal. Nov 17, 2020 · i want to connect arduino uno to matlab so i write s-function in matlab simulink file. Apr 22, 2018 · Hi, I'm doing PWM control on a DC motor with an Arduino and Simulink and I've measured the frequency to be 1kHz when using the PWM block. Here we show one way to generate PWM (Pulse Width Modulation) signal for the application of Arduino Simulink co-simulation. Nov 9, 2023 · Hi All, I am currently playing with an Arduino Due, and after going through some tutorials, I am able to use analogwrite() function to generate PWM signal with different duty cycle, the following is my code, while I am not sure how can I change its default frequency to a different value, it will be really great if anyone could help me to add a few lines of code to change the PWM frequency. The example uses the same board to generate and detect the PWM signal. i am trying to change frequency of pwm of arduino uno so i wrote this line in s-function but i got error Jan 27, 2025 · Learn how to use PWM in Arduino to control LEDs, motors, and more. Use pin 5 or 6 for about 1kHz (post#3). Does anyone know if it is possible as the package is? If it isn't, can someone suggest an edit to the program to make it possible? Any help Hello, i have problem with my project. I'm currently using the MATLAB Support Package for Arduino, but I don't know if there is a way to change the PWM clock with this program. Jun 14, 2013 · Hello, I am trying to create / modify a Simulink block from Target use with Arduino , the PWM one which gives a Pwm signal with variable duty cycle. This table specifies the maximum PWM frequency that can be generated on the digital pins of the following Arduino boards. The frequency I want to generate is 25KHz (The frequency one modifies on the Arduino's script). Thanks to MATLAB / Simulink support packages for Arduino hardware, we can communicate and interact with an Arduino board. The analogWrite () command generates a PWM TTL voltage level square wave signal the varies it's duty cycle from 0-100%. What can i do to command this from Matlab? Can I include the Arduino Timer One library in Matlab? What would the code be like?. In Arduino IDE I did it using the TimerOne library with the code shown above. i want to connect arduino uno to matlab so i write s-function in matlab simulink file. Jan 27, 2019 · Hello World, It's needed to change Pulse-width modulation frequency on Arduino Board by Matlab, but could not find the way to do so. Pulse width modulation generatorsGenerate pulse width modulation (PWM) waves for power converter control. Nov 29, 2022 · As per my understanding you are trying to change to PWM frequency on the Arduino Uno board and looking for a MATLAB built-in function to do that. I tried to follow that discussion, however it is more complex for my level of programming. we’ll explain Arduino PWM frequency and show you how to use it to control the speed of motors and the brightness of LEDs with ease. You can also use Arduino Explorer app to configure each pin of the Arduino to read and write data. In this tutorial, we will learn to generate PWM using Arduino. Oct 5, 2020 · How to generate High frequency PWM pulses by Learn more about simulink, arduino, pwm pulses In this tutorial, we’ll discuss the STM32 PWM output generation using STM32 timer modules in the PWM mode. for this apllication i want pwm frequency 4000Hz but i cant achieve it so,help me Jun 9, 2015 · I looked into the dsPIC30F4011/4012 and the motor control PWM seems like it'd do the trick (namely, variable frequency two-output PWM with 90 degree phase shift), but I'm not sure if that's overkill. This example shows how to use the Hardware Interrupt block to create an interrupt service routine (ISR) to react to the PWM events on your Arduino® hardware. The overall motion works but the timing of the step pulses are off and results in an oscillating frequency other than what was desired. For the control i need a PWM signal with 3000 Hz - 5000 Hz but the Simulink support package (PWM) has only 490 Hz and i Mar 3, 2018 · Hi, I'm trying to generate PWM with the Arduino Pro Mini 16Mhz. How to generate high frequency PWM signal using Arduino Uno R3 | Arduino Programming for Beginners ElectroTech CC 13. I'm looking for something similar to 'pulseIn' Arduino function, that gives you the on time for a given signal. Explore applications, examples, and top components from ThinkRobotics for your projects. For the control i need a PWM signal with 3000 Hz - 5000 Hz but the Simulink support package (PWM) has only 490 Hz and i Aug 16, 2022 · If you need higher frequencies, you can use techniques such as pulse width modulation (PWM) to generate square wave signals at frequencies higher than the Arduino's clock speed. Sep 11, 2025 · Introduction In this tutorial, we will use MATLAB® to turn on an external LED, and then to adjust the output using MATLAB® Support Package for Arduino® Hardware. Jan 5, 2015 · I want to generate a PWM signal using Matlab2008 (I have a old computer in the lab ) and Arduino Mega2560, so, I used a script to connect them. This low frequency is resulting quite the noisy operation, so I would like to raise the frequency into the ultrasonic area (>20kHz). i am trying to change frequency of pwm of arduino uno so i wrote this line in s-function but i got error Aug 24, 2022 · Introduction In this tutorial, we will use MATLAB® to turn on an external LED, and then to adjust the output using MATLAB® Support Package for Arduino® Hardware. You’ll learn how the PWM signal is generated, how to control its frequency, duty cycle, and how to estimate the PWM resolution. int I have Arduino and Matlab which has hardware support package for Arduino. The PWM block generates square pulses of varying duty cycle depending on the input value sent to the block on the Arduino ® hardware pin. Learn more about arduino, simulink, pwm, power_electronics_control, electric_motor_control, power_conversion_control Simulink Feb 21, 2017 · Open in MATLAB Online Theme Copy i want to use Matlab simulink for sinusoidal pwm technique using arduino. See relevant content for ee-diary. i am trying to change frequency of pwm of arduino uno so i wrote this line in s-function but i got error In this LAB, we’ll discuss how to generate analog waveforms like (sine, sawtooth, triangular, etc) using STM32 PWM As a DAC with DMA transfer. Use writePWMDutyCycle in a MATLAB ® Function block with the Simulink® Support Package for Arduino Hardware to generate code that can be deployed on Arduino Hardware. comContent blocked Please turn off your ad blocker. The mosfet is driven by PWM generated by an Arduino Uno through Matlab Simulink. For the control i need a PWM signal with 3000 Hz - 5000 Hz but the Simulink support package (PWM) has only 490 Hz and i May 9, 2025 · Notes and Warnings The PWM outputs generated on pins 5 and 6 may have higher-than-expected duty cycles. In arduino coder it's perfectly realized by: void setup() { The contribution of this paper is the development of high-frequency PWM generator architecture for power converter control using FPGA and CPLD ICs. This example shows you how to measure the frequency of a pulse-width modulation (PWM) signal on an Arduino® hardware using Arduino External Interrupt block. i am trying to change frequency of pwm of arduino uno so i wrote this line in s-function but i got error Mar 27, 2024 · To use a controller like Arduino Uno in a high-frequency circuit, you must know how to change frequency on PWM pins of Arduino Uno. Use the PWM block to generate square pulses of varying duty cycle on the Arduino AVR hardware pin. For the control i need a PWM signal with 3000 Hz - 5000 Hz but the Simulink support package (PWM) has only 490 Hz and i Hello, i have problem with my project. But the frequency it was the same (500Hz, Pin 9 and 10) . This tutorial focuses on the Arduino Diecimila and Duemilanove models, which use the ATmega168 or Jul 15, 2021 · There is a way to change the Arduino Uno PWM frequency by editing the relevant registers in the void setup () in C as below: TCCR0B = TCCR0B & B11111000 | B00000011; I am trying to figure out how to edit the Arduino support package for MATLAB to implement this. In this guide, we’ll explain what PWM frequency is, how to calculate it, and how it affects your projects. From its name, it is clear that in this technique the width of pulses of a waveform is controllable (changes). This low frequency is resulting quite the noisy operation, May 27, 2024 · Introduction Pulse-width modulation (PWM) can be implemented on the Arduino in several ways. Let’s get right into it! [toc] i want to use Matlab simulink for sinusoidal pwm technique using arduino. g. For the control i need a PWM signal with 3000 Hz - 5000 Hz This example shows how to use MATLAB® Support Package for Arduino® Hardware to perform basic operations on the hardware such as turning an LED on and off, blinking LEDs and playing sound on a speaker. This low frequency is resulting quite the noisy operation, Arduino Basics: PWM FrequencyThe PWM frequencies in Arduino a pretty much set. Learn more about arduino, simulink, pwm, power_electronics_control, electric_motor_control, power_conversion_control Simulink Aug 24, 2022 · Introduction In this tutorial, we will use MATLAB® to turn on an external LED, and then to adjust the output using MATLAB® Support Package for Arduino® Hardware. Learn more about arduino, simulink, pwm, power_electronics_control, electric_motor_control, power_conversion_control Simulink Jun 6, 2016 · DSO? Of course the output frequency must be higher than 50Hz, with the duty cycle forming the sine wave. We will learn to generate fixed frequency, variable frequency, fixed duty cycle, and variable duty cycle PWM signal using Arduino. Leo. i am trying to change frequency of pwm of arduino uno so i wrote this line in s-function but i got error Hi, I'm doing PWM control on a DC motor with an Arduino and Simulink and I've measured the frequency to be 1kHz when using the PWM block. You can model electrical or physical signal input ports by setting the Modeling option parameter to either: May 18, 2025 · PWM (Pulse Width Modulation) is one of the most commonly used techniques in electronics for controlling motors, LEDs, and more. This tutorial focuses on the Arduino Diecimila and Duemilanove models, which use the ATmega168 or Dec 4, 2018 · I want to change default frequency of Arduino PWM block using Simulink. For more information on how to select pins when you Simulink ® model contains PWM, Standard Servo Read, Standard Servo Write, Continuous Aug 16, 2022 · If you need higher frequencies, you can use techniques such as pulse width modulation (PWM) to generate square wave signals at frequencies higher than the Arduino's clock speed. If further issues arise or if you need more advanced features (like varying frequencies), consider exploring additional libraries or configurations within MATLAB's support for Arduino hardware. when programming the due to run pwm only for, example setting 50% duty and program the pwm swtiching frequncey to be 5k or 10k even 50k and Nov 29, 2022 · As you might know, the PWM frequency of an Arduino board can be changed by adding code to a S-function builder block in Simulink. i am trying to change frequency of pwm of arduino uno so i wrote this line in s-function but i got error Jan 27, 2019 · Hello World, It's needed to change Pulse-width modulation frequency on Arduino Board by Matlab, but could not find the way to do so. In Simulink I am giving 10 KHz pulse width 50%. i am trying to change frequency of pwm of arduino uno so i wrote this line in s-function but i got error Hello, i have problem with my project. Aug 5, 2015 · I'm trying to control a large stepper motor with high frequency pulses (eventually around 4kHz), but what I get out of the simulink scope is super different from what the Arduino is putting out. The only problem is I need a pwm frequency of 30khz ( prescaler set to … Jan 29, 2011 · The tricky part is that an Arduino does not have a true analog output function. I'm currently working on a project utilizing an Arduino Uno, and I need to be able to change the frequency of the PWM. 7K subscribers Subscribed Arduino and Simulink / change PWM frequency. This low frequency is resulting quite the noisy operation, The Controlled PWM Voltage block represents a pulse-width modulated (PWM) voltage source. m script when possible since it runs faster than Simulink. See Connect to Arduino Hardware for more information. Next that I found a command on a forum. In arduino coder it's perfectly realized by: void setup() { Open in MATLAB Online i want to connect arduino uno to matlab so i write s-function in matlab simulink file. Goals The goals of this project are: Control the UNO R3 LED with MATLAB. Jan 29, 2024 · Consider utilizing the ‘writePWMVoltage’ function instead of ‘writeDigitalPin’. If you’re building circuits or working with microcontrollers like Arduino, STM32, or Raspberry Pi, understanding how to calculate PWM frequency is essential. Share Sort by: Best Open comment sort options Best Top New Controversial Old Q&A Add a Jul 15, 2021 · There is a way to change the Arduino Uno PWM frequency by editing the relevant registers in the void setup () in C as below: TCCR0B = TCCR0B & B11111000 | B00000011; I am trying to figure out how to edit the Arduino support package for MATLAB to implement this. Nov 29, 2022 · Changing PWM frequency of Arduino board in a . So far Iam able to achieve this all with manually varying frequency from 10Hz to 2KHz in loop, but Iam not able to achieve exact phaseshift of 120degree when Iam varying my frequency using POT and Apr 22, 2018 · Hi, I'm doing PWM control on a DC motor with an Arduino and Simulink and I've measured the frequency to be 1kHz when using the PWM block. This on-off pattern can simulate voltages in Open in MATLAB Online i want to connect arduino uno to matlab so i write s-function in matlab simulink file. i am trying to change frequency of pwm of arduino uno so i wrote this line in s-function but i got error This example shows how to use Simulink® Support Package for Arduino® Hardware to estimate the battery current of a permanent magnet synchronous machine (PMSM) in open-loop control using Motor Control Blockset™. And also how to generate the waveform lookup table points for each function using MATLAB. but unable to get so. The original PWM library example discussed in that thread uses 'delay' which I can't afford in my project. I'm Feb 25, 2017 · There are various methods for PWM generation in matlab simulink. What are the possible methods for that ? I am using Arduino Uno and wish to implement PID control developed in Simulink. And without further ado, let’s get right Apr 20, 2016 · 0 I am using an Arduino MEGA with MATLAB for the first time to try and control a servo motor, the issue is that the default PWM frequency for the pin I am trying to use is at 976Hz, while I need it to be around 50Hz. My code attached has an array i made in matlab and copied into the arduino ide which sets the number of steps and pulse timing. This video shows how to generate PWM pulse using MATLAB and Arduino-Uno Board to turn ON and OFF the semiconductor switches. Digital control is used to create a square wave, a signal switched between on and off. I use Arduino uno and Simulink. I found code for changing the timer 0 B register that affects this frequency but only for use in the Arudino IDE. for this apllication i want pwm frequency 4000Hz but i cant achieve it so,help me See relevant content for ee-diary. This is because of interactions with the millis() and delay() functions, which share the same internal timer used to generate those PWM outputs. Hello, i have a very big big problem with my project. For more information on how to select pins when you Simulink ® model contains PWM, Standard Servo Read, Standard Servo Write, Continuous We would like to show you a description here but the site won’t allow us. Confused? And it is possible to change the PWM frequency to Sep 20, 2024 · This should help achieve the desired PWM behavior and ensure accurate voltage readings from your Arduino setup. For the control i need a PWM signal with 3000 Hz - 5000 Hz This example shows you how to measure the frequency of a pulse-width modulation (PWM) signal on an Arduino® hardware using Arduino External Interrupt block. There is another discussion that uses Arduino Mega to achive something like this using Registers. I'm using a servo that feedbacks the angular position of the shaft via PWM. Unfortunately I'm not an expert and is very difficult Mar 3, 2017 · I am wondering what is the maximum frequency at which Matlab can sample analog inputs through an Arduino Uno board. These packages allow the acquisition of analog and digital sensor data from the Arduino board and control other devices with analog and digital outputs or PWM modulation, creating a versatile and low cost platform. Pulse Width Modulation, or PWM, is a technique for getting analog results with digital means. What can i do to command this from Matlab? Can I include the Arduino Timer One library in Matlab? What would the code be like? In order to generate this PWM signal, the Arduino Digital Write block that was being employed previously needs to be replaced by an Arduino Analog Write block (still set to Pin 5). The current code that I have been using is below. Arduino and Simulink / change PWM frequency. Anyone know how? There is a solution for Simulink: Aug 28, 2024 · Is there a simple way to change the output frequency of a certain pin of Arduino Mega2560 in Simulink? I found some topics about the same problem in 2014, but no solution was offered. And how to set up the timer module to operate in PWM mode and write a simple STM32 PWM Example Code (LED dimmer). Jul 15, 2021 · There is a way to change the Arduino Uno PWM frequency by editing the relevant registers in the void setup() in C as below: TCCR0B = TCCR0B & B11111000 | B00000011; I am trying to figure out h Nov 17, 2020 · i want to connect arduino uno to matlab so i write s-function in matlab simulink file. You can calculate the time intervals of the output signal, using the 8kHz triangle and 50Hz sine (320 intervals). Create an arduino object. It is available in the File->Sketchbook->Examples->Analog menu of the Arduino software. For the control i need a PWM signal with 3000 Hz - 5000 Hz but the Simulink support package (PWM) has only 490 Hz and i Jan 30, 2015 · Hello all, I am trying to change the PWM frequency other than 490 Hz using support package in the simulink and arduino uno interface. For the control i need a PWM signal with 3000 Hz - 5000 Hz but the Simulink support package (PWM) has only 490 Hz and i Apr 30, 2017 · The analogWrite function sets the duty cycle of a PWM output. The duty cycle is proportional to the angular position, but I have no idea how to measure the duty cycle in simulink. can anybody guide me how to get PWM of different frequency?. m Learn more about arduino, s-function builder block, simulink, pwm, frequency MATLAB, Simulink Open in MATLAB Online i want to connect arduino uno to matlab so i write s-function in matlab simulink file. MATLAB has nothing to do with it, although MATLAB could be used to start and stop the Arduino output. However, the actual achievable frequency will depend on various factors, including the specific Arduino board you are using and the accuracy and stability of the generated signal. For the control i need a PWM signal with 3000 Hz - 5000 Hz but the Simulink support package (PWM) has only 490 Hz and i Jun 11, 2014 · Hello, i have problem with my project. Using writePWMDutyCycle, you can change the PWM duty cycle. Then copy that array into an Arduino sketch, and let the Arduino generate the signal. PWM Introduction PWM stands for Pulse Width Modulation. May 8, 2019 · Arduino hardware does not support changing the frequency of PWM wave. For the control i need a PWM signal with 3000 Hz - 5000 Hz but the Simulink support package (PWM) has only 490 Hz and i This example shows you how to measure the frequency of a pulse-width modulation (PWM) signal on an Arduino® hardware using Arduino External Interrupt block. 0 Cable Type A/B Apr 4, 2019 · Hello, i have a very big big problem with my project. You have to wire the pwm output pin to a low pass filter (a simple series resistor followed with a capacitor to ground. On the Uno and similar boards, pins 5 and 6 have a frequency of approximately 980 Hz. The stepper motor needs to oscillate in a sine wave motion. For example, pin 9 PWM frequency is There is a way to change the Arduino Uno PWM frequency by editing the relevant registers in the void setup() in C as below: TCCR0B = TCCR0B & B11111000 | B00000011; I am trying to figure out h Nov 13, 2014 · How to change pulse width modulation FREQUENCY of arduino analog pins with new support package for R2014b? Read and write directly to Arduino hardwareCreate an Arduino object using arduino before you use read and write functions. Up to how much frequency can pins 5 and 6 handle? This example shows you how to measure the frequency of a pulse-width modulation (PWM) signal on an Arduino® hardware using Arduino External Interrupt block. Practically 10 KHz available at pins 5 and 6. You'll see the sine when you add a RC low pass filter to the output. The frequency of the PWM signal on most pins is approximately 490 Hz. Apr 4, 2019 · Hello, i have a very big big problem with my project. The Arduino has a fixed PWM frequency of 490Hz - or does it? On digital pins 3, 9, 10 and 11 it's 490Hz, but on pins 5 and 6 it's 976Hz. Anyone know how? There is a solution for Simulink: Nov 29, 2022 · As you might know, the PWM frequency of an Arduino board can be changed by adding code to a S-function builder block in Simulink. This block enables a digital output to provide a range of different power levels, similar to that of an analog output. Jun 11, 2014 · Hello, i have problem with my project. The default PWM frequencies are around 500 and 1000 Hz. For the control i need a PWM signal with 3000 Hz - 5000 Hz but the Simulink support package (PWM) has only 490 Hz and i This example shows how to use MATLAB® Support Package for Arduino® Hardware to perform basic operations on the hardware such as turning an LED on and off, blinking LEDs and playing sound on a speaker. The resulting PWM frequency depends on the target FPGA or CPLD device speed grade and the duty cycle resolution requirements. uwwgf ckwf txogt aeutq vydhe mitpet rgpc dopybyz mjswos cijlyl

© 2024 - Kamus Besar Bahasa Indonesia